LPO:把 GRPO 的"隐式投影"翻到台面上——RLVR 的几何统一视角
最近做 RLVR(reinforcement learning with verifiable rewards)训练的同行有没有这种感觉——GRPO 跑通之后,社区里冒出来各式各样的"小改":Dr.GRPO 把方差 normalize 掉了, DAPO 加 trust region 和 token-level loss, MaxRL 又改了 temperature, MiniMax-M1 给 group 加 entropy bonus......
每个新 baseline 都说自己解决了 GRPO 的某个"训练不稳定"问题, 但你认真翻过去仔细看, 区别其实就在 advantage 怎么算、温度怎么定、normalize 用 std 还是 mean。最后你脑子里就剩一个问题: 这些"小改进"到底在改什么? 有没有一个统一的视角能把它们都装进同一个框架里看?
清华自动化系 × 腾讯 LLM 部门的这篇 LPO 给了一个挺漂亮的答案。它说: 你们这些方法, 不管表面长啥样, 其实都是在响应单纯形(response simplex)上做"目标投影"——只不过都是用一阶近似的方式偷偷做的。把这个隐式动作翻到台面上, 你能得到一个原则上更稳、性质更好的算法, 而且几乎不增加任何工程成本。
这是我最近看 RLVR 相关 paper 里比较少见的, 不靠堆 trick 也不靠拼数据集, 完全靠把现有方法的几何结构看清楚, 然后顺势造一个新算法。读完之后我对 GRPO 这一族方法的理解被刷新了一遍。
核心摘要
GRPO 这一族 group-based RLVR 方法的差异都集中在 advantage normalization 上(σ_G、μ_G、1, etc.), 但没人说清楚这些不同的 normalize 方式到底在干啥。LPO 给出的判断是: 它们都在隐式地朝一个"reward 加权的 softmax 目标分布"做 reverse KL 投影, 只不过用了一阶近似——而 normalization 的差异其实就是这个目标分布的 temperature 在变。 既然如此, 不如把这件事显式做掉: 先构造目标分布 \(w^*\), 再在单纯形上做精确的 KL 投影(forward 或 reverse), 一阶近似换成精确解。结果是 gradient coefficient 自带 bounded / zero-sum / self-correcting 三大性质, 训练曲线明显更稳, response entropy 不塌, 在 15 个组合里 Pass@1 赢 13/15、Pass@k 赢 15/15。最大的看点是给整个 group-based RL 提供了一个干净的几何框架, 是底层视角的升维, 不是又一个 trick。
论文信息
- 标题: Listwise Policy Optimization: Group-based RLVR as Target-Projection on the LLM Response Simplex
- 作者: Yun Qu, Qi Wang, Yixiu Mao, Heming Zou, Yuhang Jiang, Yingyue Li, Wutong Xu, Lizhou Cai (Tsinghua); Weijie Liu, Clive Bai, Kai Yang, Yangkun Chen, Saiyong Yang (Tencent LLM Department); Xiangyang Ji (Tsinghua)
- 机构: 清华大学自动化系 / 腾讯 LLM 部门
- arXiv: https://arxiv.org/abs/2605.06139

图1: LPO 的核心几何图景。左边是传统 group-based PG, 把策略沿 reward 加权方向做一阶推进; 右边是 LPO, 先把 reward 转成一个具体的 target 分布 \(w^*\), 然后用精确的 KL 投影把当前策略 \(P_\theta\) 拉过去。区别是"沿梯度走一步"和"瞄准目标精确投影"。
为什么需要这篇论文?
我先把背景铺一下, 不然后面的几何视角会很突兀。
RLVR 的工作流大家其实都很熟: 给定 prompt \(x\), 让 LLM sample 一组响应 \(\{y_1, ..., y_K\}\), 用 verifier 打分 \(\{R_1, ..., R_K\}\)(数学题就看答案对错, 代码就跑测试), 然后把分数转成 advantage, 拿去更新策略。
GRPO 那一套方法 advantage 长这样:
其中 \(\mu_G\)、\(\sigma_G\) 是这一组 K 个 reward 的均值和标准差。后续工作改的地方主要就在这个分母上:
- GRPO: \(\tau = \sigma_G\) (用 std normalize)
- Dr.GRPO: \(\tau = 1\) (不 normalize, 防止方差缩放扭曲)
- MaxRL / DAPO: \(\tau = \mu_G\) 或者别的设计
问题是: 这些 normalize 方式各有各的理由, 但谁也说不清楚为什么这个改动能让训练更稳/更好。社区的解释基本停留在"经验上 work"、"减少方差"、"防止 reward hacking"这种级别。
我之前自己在调 RLVR 的时候也有这种困惑——同一个任务, GRPO 在某些数据上跑得稳, 换个数据集就开始抖; Dr.GRPO 在 long-CoT 上反而崩得更快。这种"调来调去找 normalize 方式"的工程经验, 让我一直觉得这一族方法的本质我没看透。
LPO 这篇 paper 说: 你们看不透是因为视角不对。别盯着 advantage 公式, 抬头看一下这些方法在做的几何动作。
核心洞察: group-based PG 都是隐式的"目标投影"
这是这篇论文最值钱的部分, 也是真正让我"原来如此"的地方。
第一步: 把 group 响应放到单纯形上
K 个 sample 的响应 \(\{y_1, ..., y_K\}\) 自然构成一个有限的离散集合。在这个集合上, 我们可以定义一个 listwise 分布:
其中 \(\pi_b\) 是 behavior policy(用来 sample 的策略, 通常是 update 前的那个)。这个 \(P_\theta\) 就是 K 个响应在 simplex \(\Delta^{K-1}\) 上的概率向量。它捕捉的是"当前策略相对于 behavior policy, 更偏好哪个响应"。
第二步: 隐式目标在哪里?
继续推。GRPO/PPO 用的 proximal RL 目标 (per-prompt, KL-regularized) 是:
约束 \(w\) 在单纯形上 \(\sum_k w_k = 1\)。这是个标准的凸优化, 用拉格朗日一推, 闭式解是:
这个 \(w^*\) 就是隐藏在 GRPO 这一族方法背后的"目标分布"。它的含义很直观: reward 高的响应被指数加权放大, temperature \(\tau\) 控制锐度——\(\tau\) 越小越尖, 越接近 winner-take-all; \(\tau\) 越大越平, 越接近均匀。
第三步: 标准 policy gradient 是 reverse KL 的一阶近似
这是 LPO 真正的 punch line。论文的 Proposition 1 证明了:
在 on-policy point (\(\pi_\theta = \pi_b\)) 上, 标准的 group-based policy gradient 等于 reverse KL \(D_{\mathrm{KL}}(P_\theta \| w^*)\) 在该点的负梯度。
你想想看, GRPO 算 \(\nabla_\theta \log \pi_\theta(y_k|x) \cdot A_k\) 这一步, 其实是在偷偷做一件事——朝着隐式目标 \(w^*\) 做 reverse KL 投影的一阶近似。
而且 paper 还顺手做了 off-policy 的展开(B.2 附录里), 把 PG 的系数 \(r_k A_k / K\) 做一阶 Taylor 展开, 揭示出 exact reverse KL 投影系数可以分解成三个部分:
而 group-based PG 只保留了第一项, 把后面的 listwise normalization 和 entropy regularization 都丢了。这就是为什么 PG 在 off-policy 偏移大的时候(那个 \(\bar{\delta}\) 大的时候)训练会不稳——它丢失的那两项恰恰就是稳定剂。
看到这个分解我是真的觉得漂亮。它不是给 GRPO 打补丁, 是把 GRPO 这个"补丁"本身的位置找到了——它就是 reverse KL 投影丢掉高阶项之后留下的"近似残骸"。
LPO: 把隐式投影显式化
既然知道大家在做"目标投影", 还都是用一阶近似偷偷做的, 那为什么不直接把这件事做精确?
LPO 的算法极简, 两步走:
Step 1: 显式构造目标
Step 2: 在 simplex 上做精确投影
选一个 divergence(forward KL 或 reverse KL), 让 \(P_\theta\) 投影到 \(w^*\) 上。两种选择各有特点:
Forward KL 版本 (LPO_fwd)
梯度系数:
这个系数特别干净——就是"当前策略概率"和"目标概率"的差。
Reverse KL 版本 (LPO_rev)
梯度系数(用 logit gap \(d_k = s_{\theta,k} - \phi_k\) 化简后):
其中 \(\bar{d} = \sum_j P_{\theta,j} d_j\) 是 \(P_\theta\) 加权的均值。这是一个 baseline-subtracted 形式, 天然带方差缩减。
这套系数的好性质——Corollary 1
论文证明了 forward KL 的梯度系数 \(c_k^{\mathrm{fwd}}\) 同时满足三个性质:
- Bounded: \(|c_k^{\mathrm{fwd}}| \leq 1\), 梯度幅度天然受控, 不会爆炸
- Zero-sum: \(\sum_k c_k^{\mathrm{fwd}} = 0\), 自带 control variate 做方差缩减
- Self-correcting: 当 \(P_\theta \to w^*\) 时, \(c_k \to 0\), 接近目标时自动减速
这就是关键——不是后处理加 clip / regularizer, 而是从 simplex 上做 exact projection 推导出来的内在性质。这套数学结构是 reverse KL 一阶近似永远拿不到的。
另外 forward KL 还有一个 Corollary 2 给出 mode-coverage 保证: 如果目标 \(w_k^* \geq \alpha\), 那么 \(P_{\theta,k} > \alpha \exp(-D/\alpha - 1)\)。这是一个 log-barrier, 物理意义就是: 不管怎么训, 只要目标分布里这个响应有非零概率, LPO 就不会把它的概率压到 0。这直接解释了为什么 LPO_fwd 在保持 response diversity 上特别好——它有数学保证不会 mode collapse。
温度怎么取? 论文很克制
我看到这种新方法第一反应都是: 又多一个超参要调? 但 LPO 这块处理得挺干净——直接用现有方法的 normalization statistics 作为 temperature:
- 对标 GRPO: \(\tau = \sigma_G\)
- 对标 Dr.GRPO: \(\tau = 1\)
- 对标 MaxRL: \(\tau = \mu_G\)
这样可以做 paired comparison, 每个 LPO 变体都和对应的 PG baseline 用完全一样的 temperature, 任何性能差异都只能归因于"精确投影 vs 一阶近似"这个改动本身, 不能甩锅给"是不是 temperature 调得更好"。
这个实验设计我觉得很专业。让我想起读 GRPO 原始论文那会儿——很多比较其实都在 temperature 上偷偷动手脚, 但这篇真的把控制变量做得很彻底。
实验结果
实验跨了四个任务: Countdown(逻辑)、MATH(数学)、PRIME code(编程)、Geometry3k(多模态几何), backbone 从 Qwen3-1.7B 到 Qwen3-14B, 还跨 Mistral、DeepSeek、Llama 四个 model family。
主结果: Pass@1 在 15 个组合里赢 13 个

图2: Pass@1 训练曲线。三行从上到下分别是 GRPO、Dr.GRPO、MaxRL 三个 PG 系列, 列是不同 task × backbone 组合。每条 LPO 曲线(蓝/橙)都和对应同色的 PG 曲线做配对比较, 几乎所有配对里 LPO 都跑得更高、更稳。
具体数字: LPO_fwd 在 13/15 个配对里 Pass@1 超过 PG baseline, LPO_rev 同样 13/15。
Pass@k: 这里 LPO_fwd 几乎全胜

图3: Pass@k 训练曲线。这里 LPO_fwd 优势更明显——15/15 全胜 PG baseline。Pass@k 衡量的是"采 k 个 sample 至少有一个对", 它高意味着模型保留了更多元的解题路径。LPO_fwd 的 mode-coverage 性质在这里完全兑现。
LPO_fwd 在 Pass@k 上 15/15 全胜, LPO_rev 是 11/15。这是这篇论文最让人服气的结果——之前社区一直在抱怨 GRPO 训练到后期 response entropy 会塌, 多样性会消失。LPO_fwd 用 forward KL 的 mode-coverage 直接从数学层面挡住了这个问题。
训练动力学: entropy、gradient norm、length 一起看

图4: 训练动力学三联图。顶行是 response entropy(越高越保多样性), 中间是 gradient norm(越平稳越好), 底行是 response length。LPO 在三个指标上都更优——entropy 不掉、grad norm 更稳、length 还更长(意味着更长的 reasoning chain)。
这张图我觉得是全文最有说服力的一张。Gradient norm 那一行尤其抓人——GRPO 的曲线时不时窜出来一个 spike, 而 LPO 的两条线基本是平的。这就是 Corollary 1 里 bounded + self-correcting 的实际效果——理论说梯度有界, 实验里就真的看到了。
之前我自己做 RL 训练吃过的亏: gradient norm spike 出现一次, learning rate 一调小就再起不来, reward curve 直接趴在那。LPO 这种"训练曲线干净到没有意外"的特性, 对工程上做大规模 RL 训练是非常实用的。
关键消融: listwise vs pointwise

图5: 把 listwise 分布换成 pointwise(也就是早期 RL-as-inference 工作里的 \(-\sum_k w_k^* \log \pi_\theta(y_k|x)\)), 同样的 target 同样的 reward, 训练直接崩。说明 LPO 的关键不在 target 设计, 而在 simplex 上的耦合归一化。
这个消融实验做得特别狠也特别诚实。它告诉你: 你以为 LPO work 是因为目标 \(w^*\) 设计得巧吗? 不是。同样的目标, 换成 pointwise projection(每个响应独立优化), 训练直接崩。
精髓不在"target 怎么设计", 而在"在 simplex 上做耦合归一化", 这个耦合就是 control variate 的来源。这才是 LPO 真正吃下的红利。
Group size 鲁棒性

图6: 改变 group size K, 测试 sample efficiency。小 group size(K=2, 4)时 LPO 的优势特别明显, 这对工程上压缩 rollout 成本很有意义。
小 group size 时 LPO 优势更大, 这点对生产环境很重要——做 RLVR 训练, rollout 是大头开销, 能用 K=4 跑出来 K=16 的效果, 直接省 4 倍 sampling 算力。
我的判断
聊聊我对这篇 paper 真实的看法。
亮点: 视角的统一性是真正的贡献
这篇论文最大的价值在我看来不是 LPO 这个算法本身, 而是它把 GRPO 这一族的"几何骨架"扒出来了。在它之前, 大家讨论 GRPO/DAPO/Dr.GRPO 这些方法的差异, 都是"具体 trick 之争"; 在它之后, 你可以说:
- GRPO 就是 \(\tau = \sigma_G\) 下的隐式 reverse KL 投影一阶近似
- Dr.GRPO 就是 \(\tau = 1\) 下的同一件事
- MaxRL 就是 \(\tau = \mu_G\) 下的同一件事
剩下所有的争议都归结为两个问题: (1) 用什么 temperature 构造目标; (2) 用一阶近似投影还是精确投影。第一个是 hyperparameter 选择, 第二个 LPO 给出了明确答案: 当然是精确投影。
这种"原来你们都是一个 family"的视角统一, 在 RL 社区其实挺难得的。上次有类似 punch line 的工作我印象里是 SAC 的 "RL as inference" 视角, 把 entropy regularization 和 probabilistic inference 串起来。LPO 是把这个视角延续到了 LLM 上的 RLVR 设定, 并且利用了"响应是有限离散集合"这个 LLM 独特性质——在连续 action space 里做精确 simplex 投影是不可能的, 必须用 function approximation。但 LLM 这边, group 之内的 K 个响应天然就是离散的 simplex, 精确解直接可写。
第二个亮点: 工程成本几乎为零
这点我特别想强调。看完 paper 我特地翻了 Algorithm 1 ——LPO 的整个 training loop 和 GRPO 几乎一样, 只是把 advantage 换成 LPO 的系数 \(c_k\) 而已。no extra hyperparameter, no extra model, no extra forward pass。
这意味着任何在用 GRPO 的工程团队, 替换成 LPO 的成本就是改几行代码——但能拿到 13/15 的稳定提升、训练曲线更干净、entropy 不塌。这种"性价比极高的算法替换"在工业界是非常受欢迎的。
一点保留: 实验广度还可以再扩
paper 的实验确实覆盖了四个任务和多个 backbone, 但模型规模主要在 1.5B–14B 之间。14B 已经是这篇 paper 测试的最大尺寸, Polaris 数据集训练的那组实验放在 Appendix E.1。我会更想看到 32B 或 72B 级别的对比——特别是 Qwen3-72B 或者类似的, 因为 GRPO 在大模型上的训练不稳定问题更突出, LPO 的优势可能也会更明显。
另外这个工作目前只做了 outcome reward 的 sequence-level projection, paper 自己也提到 future work 是 step-level listwise projection。这块对 process reward model(PRM)路线的人是非常关键的——能不能在每一步的 token-level 上做 listwise projection? 如果可以, 那 PRM + LPO 的组合可能是下一个值得探索的方向。
一点小怀疑: 13/15 不是 15/15 的两个失败案例长啥样
我翻了一下 paper 的训练曲线, LPO_fwd 在 Pass@1 上输了 2 个 setting。论文没有特别强调这两个 case, 但我作为读者更想知道——是哪个 backbone × task 组合? 是不是某种特殊场景下精确投影反而不如一阶近似?
说实话这块我也不是特别确定。一种可能是: 在 reward 信号特别噪声大的任务上(比如某些 verifier 不太可靠的场景), exact projection 反而把噪声放大了, 一阶近似的"低通"效果反而是个 feature 不是 bug。这块如果作者后续能给个更详细的 failure analysis 就更完整了。
第三个判断: 这篇论文会成为 RLVR 后续工作的标准 baseline
不是因为 LPO 一定是终极答案, 而是因为它给出的几何框架太自然——后续任何 group-based RLVR 的新方法, 都几乎一定要回答两个问题:
- 你的 target 是什么形式? (\(w^*\) 长啥样)
- 你用什么 divergence 投影? (forward / reverse / Jensen-Shannon / Renyi / ...)
paper 自己就提到 forward 和 reverse KL 只是 representative instantiations, decoupled 框架打开了一个大设计空间——比如 Jeffreys divergence(对称版的 KL)、其他 f-divergence、甚至 optimal transport 距离。LPO 把这条路给铺开了, 后续工作沿着 divergence selection 这条线挖, 应该还能挖出很多新东西。
工程启发: 如果你也在做 RLVR
读完这篇 paper, 给我自己工程实践的几个具体启发:
1. 重新审视你的 advantage normalization 选择: 如果你正在用 GRPO 系列, 你的 \(\tau\) 选择(σ / 1 / μ)其实就是在选 target 分布的 sharpness。这事比你以为的更重要——LPO 实验显示不同 task 上最优 temperature 完全不同, 没有 one-size-fits-all。
2. 监控 response entropy: paper 反复强调 PG baseline 会让 entropy 塌, 这和 RLVR 训练后期"模型只会一种解法"的现象是一致的。在你的训练 metric 里加上 response entropy 这个监控, 比单看 reward curve 信息量大很多。
3. 考虑做精确投影: 实现 LPO 的代码改动量是真的小, 论文 Algorithm 1 写得很清楚。如果你的 GRPO 训练有 gradient spike 或者 entropy collapse 的问题, LPO 是个低成本的尝试。
4. listwise 思维迁移到其他场景: LPO 的核心 insight ——"K 个 sample 在 simplex 上耦合归一化"——不只能用在 RLVR。任何"per-prompt sample 一组响应, 然后做 ranking / preference learning"的场景, 比如 DPO 的扩展、reward model 训练, 都可以试试 listwise 的思路。
结语
读 RL 算法的 paper 这几年, 我有个观察: 真正能"留下来"的工作, 往往不是某个 trick 跑分高的, 而是给现有方法提供新视角的。SAC、PPO 当年也都不是因为某项绝对 SOTA 留下来, 而是因为它们的 framework 让后续工作有了思考的脚手架。
LPO 给我的感觉就是这一类。它的数值 gain(13/15)不算颠覆性, 但它把 GRPO 这一族从"各种 normalize 经验调优"提升到了"在响应单纯形上做目标投影"的统一几何视角, 这个视角的解释力和扩展性, 比单个数据点的提升重要得多。
我会推荐做 RLVR 训练的人都把这篇过一遍——不一定要立刻把代码改成 LPO, 但这个"target-projection on simplex"的视角, 会让你以后看 group-based RL 的 paper 多一层透视眼。
觉得有启发的话, 欢迎点赞、在看、转发。跟进最新AI前沿, 关注我