后训练算法的梯度大多可以写成“每个回答的权重 × log 概率的梯度”。GVPO 的关键观察是:只要一个 prompt 组内的权重和为零,KL 最优解里的配分函数 Z(x) 就会在梯度中抵消。于是它把“隐式奖励与真实奖励的中心化差”直接做成权重,得到一个有 MSE 解释、且论文证明其最优解与 KL 约束奖励最大化一致的损失。Qwen2.5-Math-7B 上,五个数学基准从 14.68 / 38.55 / 64.00 / 27.20 / 30.66 升到 20.72 / 62.65 / 83.80 / 45.95 / 46.96。
RLHF 的目标是 KL 约束下的奖励最大化。它的解析最优解是 π*(y|x) = π_ref(y|x) e^{R(x,y)/β} / Z(x),但 Z(x) 要对所有可能回答求和,算不动。DPO 用成对偏好让 Z(x) 在 Bradley-Terry 里约掉;GVPO 则把“组内权重和为零”作为消去条件,把方法扩展到一次比较 k 条回答。
GVPO 的梯度权重是 w_i = (R_i − R̄) − β(log πθ/πθ′ − 组均值)。它等价于最小化“隐式奖励的中心化值”与“真实奖励的中心化值”的均方误差。论文证明:在采样分布满足支撑条件时,损失的最优解与 KL 约束奖励最大化的最优解一致,且该解是全局最优。
Qwen2.5-Math-7B 主实验用 k=5、β=0.1、8×H800,AIME2024(avg@32)20.72、AMC 62.65、MATH500 83.80;相对基座,AIME 提升 6.04 个百分点(相对 41.1%),相对最好的基线 Remax 提升 3.53 个百分点(相对 20.5%)。
代价是每个 prompt 要采样 k 条回答;论文没有和 GRPO/PPO 做墙钟时间对比。评测以数学为主,摘要任务放在附录;开放域、代码、多模态都没有验证。
后训练的目标不复杂:让模型多生成高奖励回答,同时不要偏离参考模型太远。难点在于最优解的归一化项。
给定 prompt x、策略 πθ、参考策略 πθ′,KL 约束奖励最大化的目标是:
这个目标有解析最优解:
把 Eq. 4 反过来,可以得到隐式奖励:
如果直接把 Rθ(x,y) 与真实奖励 R(x,y) 做回归,Z(x) 会留在损失里;如果把 Z(x) 近似掉,又会引入偏差推断(依据:§3.4 指出直接回归 Rθ 会得到 Rθ(x,y)=R(x,y)+βlogZ(x),偏离真实奖励;近似误差如何传导到策略,原文未展开)。DPO 的解法是用成对偏好,让 Z(x) 在 Bradley-Terry 的比值里约掉;GVPO 的解法是让一组回答的权重和为零,这样 Z(x) 在加权求和里也消失。
只抬高示范回答的 likelihood,没有负样本,也不利用奖励的相对大小。
用偏好对构造权重,Z(x) 在成对比较中消掉;但一次只比较两条回答。
用 (R_i − mean)/std 作权重;依赖 on-policy 采样与重要性采样,偏离时可能梯度爆炸。
这三类方法的梯度都可以写成同一个形式:
于是问题变成:怎样设计 wi,既让 Z(x) 消掉,又让最优解仍然对应 Eq. 3 的最优策略?
GVPO 不是从零发明一个损失,而是把 DPO 的解析解思路扩展到组,同时绕开 GRPO 的重要性采样。
DPO 把 Eq. 5 代入 Bradley-Terry 偏好模型:成对回答的 Z(x) 相同,做比值时约掉。因此它只需要偏好对 (yw, yl),不需要显式奖励模型,也不需要在线采样。
论文引用前人工作指出:DPO 的损失可能有多个极小值,且与真实奖励目标的相关性会在训练中减弱;Bradley-Terry 模型本身也有假设限制。GVPO 想把“成对”扩展成“组”,同时保留解析解。
GRPO 对每个 prompt 采样 k 条回答,用组内标准化的奖励作为优势,省掉了与策略同规模的价值网络;DeepSeek-R1 用它做 RL 训练。
论文说 GRPO 对 clip 阈值和 KL 系数敏感;离线更新时 πθ/πθ_old 可能过大或过小,导致梯度爆炸。clip 能压住数值,但会引入有偏梯度。
GVPO 的切入点因此很明确:保留“组内相对比较”的信息,但不使用重要性采样,也不依赖 clip。它从 Eq. 5 出发,设计一个权重,使 Z(x) 在组内加权和里消失;这个权重同时要能把“隐式奖励的中心化值”拉向“真实奖励的中心化值”。
| 方法 | 每组样本 | 梯度权重 wi | 是否需要重要性采样 | 论文声称的最优性 |
|---|---|---|---|---|
| SFT | 1 条示范 | 1 | 否 | 只拟合示范,不针对奖励 |
| DPO | 1 对偏好 | +w / −w | 否 | 依赖 BT 假设;论文引用前人指出可能次优 |
| GRPO | k 条采样 | (Ri − mean)/std | 是(πθ/πθ_old) | 经验性;需要 clip/KL 稳定 |
| GVPO | k 条采样或历史数据 | (Ri − R̄) − β(log ratioi − 均值) | 否(论文证明支撑条件即可) | 论文证明最优解与 Eq. 3 一致 |
表中的公式只用于对比结构;GVPO 的正式梯度见 Eq. 8。DPO 的“可能次优”是论文对前人工作的引用,不是本页的独立结论。
GVPO 的推导只有两步:先找消去 Z(x) 的条件,再把权重写成“隐式奖励与真实奖励的中心化差”。
把 Eq. 5 代入加权和,得到:
GVPO 选择的权重是:
直观上,第一项是“这条回答比组平均好多少”,第二项是“这条回答的隐式奖励比组平均高多少”。两者相减,得到的是“实际奖励的中心化值”与“隐式奖励的中心化值”的差。权重为正,说明这条回答的真实优势大于模型当前认为的优势,应该被抬高;权重为负则相反。
把 Eq. 8 代回 Eq. 7,并利用 Σ wi = 0、∇θR(x, R̄) = 0,可以得到:
因此 GVPO 可以读成“让模型内心的相对奖励排序去拟合外部奖励的相对排序”。它不要求隐式奖励的绝对值等于真实奖励;只要求两者在组内的中心化值一致。这也是 Z(x) 能消掉的原因:Z(x) 只影响绝对值,不影响组内相对差。
最小化 Eq. 9 得到的策略 π*(y|x) ∝ πθ′(y|x) e^{R(x,y)/β},与 KL 约束奖励最大化的解析解一致;论文证明这是全局最优解。
只要 πθ′ 的支撑集被 πs 覆盖,即 {y | πθ′(y|x) > 0} ⊆ {y | πs(y|x) > 0},同样的最优性结论成立。因此可以用 πθ_old、历史数据、甚至混合采样。
论文还把 β=1 时的梯度拆成三项:优势项 (R − R̄)∇log πθ、方差项 Var(log πθ)、协方差项 Cov(log πθ, log πθ′)。方差项替代熵正则,协方差项约束策略不要偏离参考模型。这个分解解释了为什么 GVPO 不需要显式的 KL 项或 clip。
固定 log 比值 L = (0.0, −0.5, −0.2),所以 L̄ = −0.2333。
1)R=(1, 0, 0),β=0.1:R̄=0.3333。w1=(1−0.3333)−0.1×(0−(−0.2333))=0.643;w2=(0−0.3333)−0.1×(−0.5+0.2333)=−0.307;w3=(0−0.3333)−0.1×(−0.2+0.2333)=−0.337。和为 0.000。
2)R=(1, 1, 0),β=0.1:R̄=0.6667。w1=0.3333−0.1×0.2333=0.310;w2=0.3333−0.1×(−0.2667)=0.360;w3=−0.6667−0.1×0.0333=−0.670。和为 0.000。
3)R=(1, 0, 0),β=0:权重退化为 Ri − R̄,即 0.667 / −0.333 / −0.333。和为 0.000。
β 只改变隐式奖励项的缩放,不破坏零和;奖励差决定正负,log 比值差决定同一奖励下的相对修正。
GVPO 与 GRPO 一样不需要价值模型,但每个 prompt 要采样 k 条回答;论文给了训练时长,没有给与 GRPO/PPO 的墙钟对比。
主实验的设置如下(Appendix A.1):
| 项目 | 设置 | 说明 |
|---|---|---|
| 基础模型 | Qwen2.5-Math-7B | 主表;1.5B 用于 β/k/πs 消融与随机种子实验 |
| 训练数据 | Competition Math | 每个 step 采样 1024 个 prompt,mini-batch 256 |
| 训练轮数 | 10 epochs | warm-up 5% |
| 学习率 | 5e−6 | 网格搜索 {5e−7, 1e−6, 5e−6, 1e−5} 后选择 |
| 组大小 | k=5 | 主实验;1.5B 消融用 k=8 |
| β | 0.1 | 主实验;消融覆盖 0.01–0.5 |
| 硬件 | 8×H800 80GB | 论文报告 7B k=5 每步 6–8 分钟,约 12 小时/实验 |
k=5,每步 6–8 分钟,约 12 小时完成一个实验(Appendix A.1)。
k=8,每步 4–5 分钟,约 8 小时完成一个实验;β/k/πs 与随机种子实验都在 1.5B 上做。
论文没有给 GPU 小时、显存峰值,也没有给与 GRPO/PPO 的墙钟对比;GRPO 同样不需要价值模型,不能把这一项当成 GVPO 相对 GRPO 的速度优势。
成本结构上,GVPO 的组采样与 GRPO 一样是 k 条回答;GVPO 与 GRPO 都不维护价值模型,GVPO 的差别是不做重要性采样、也不需要 clip 的比率修正。论文的代码实现(Listing 1)只改了几行 verl 的 GRPO loss,说明工程改动很小;但“改动小”不等于“总算力低”,因为组采样仍是主导成本。
另一个数据条件是:GVPO 需要每个 prompt 有可计算的标量奖励 R(x,y)。数学任务用规则 verifier 很自然;开放域任务需要奖励模型,成本与偏差都会转移到这里。
一次 GVPO 迭代:prompt → 采样 k 条 → 奖励 → 权重 → MSE 梯度 → 更新;采样分布 πs 可以与当前策略不同。
每个 prompt 采样 k 条回答;主实验 k=5,1.5B 消融 k=8。πs 可以是 πθ_old、历史策略或混合分布。
算每条回答的标量奖励,再算组内均值 R̄ 与 log 比值均值 L̄,得到 wi;零和是构造出来的,不需要额外归一化。
用 wi 加权 log πθ 的梯度,等价于中心化隐式奖励与中心化真实奖励的 MSE;Z(x) 已消掉。
更新 πθ 后进入下一组;旧策略或历史数据可以继续参与采样,不需要重要性采样修正。
先看主表,再看随机种子、换基座、正则项消融,最后是与 DPO 的摘要任务对比。
| 算法 | AIME2024 (avg@32) | AMC | MATH500 | Minerva | OlympiadBench |
|---|---|---|---|---|---|
| Qwen2.5-Math-7B | 14.68 | 38.55 | 64.00 | 27.20 | 30.66 |
| + GRPO | 14.79 | 55.42 | 80.00 | 41.17 | 42.07 |
| + Dr.GRPO | 16.56 | 48.19 | 81.20 | 44.48 | 43.40 |
| + Remax | 17.19 | 60.24 | 82.00 | 40.44 | 45.19 |
| + Reinforce++ | 16.67 | 54.22 | 80.40 | 43.01 | 41.78 |
| + GVPO | 20.72 | 62.65 | 83.80 | 45.95 | 46.96 |
Table 1:AIME2024 用 avg@32(30 题),其余用 pass@1;所有方法用相同的模型、数据和硬件,算法超参按各自原论文。AIME 这一列的最好基线是 Remax 17.19,不是 Dr.GRPO 16.56。
相对基座,GVPO 在 AIME 上提升 6.04 个百分点(相对 41.1%),AMC 提升 24.10 个百分点(相对 62.5%),MATH500 提升 19.80 个百分点(相对 30.9%),Minerva 提升 18.75 个百分点(相对 68.9%),OlympiadBench 提升 16.30 个百分点(相对 53.2%)。
相对各列最好的非 GVPO 基线:AIME 是 Remax 17.19,GVPO 高 3.53 个百分点(相对 20.5%);AMC 是 Remax 60.24,高 2.41 个百分点(相对 4.0%);MATH500 是 Remax 82.00,高 1.80 个百分点(相对 2.2%);Minerva 是 Dr.GRPO 44.48,高 1.47 个百分点(相对 3.3%);OlympiadBench 是 Remax 45.19,高 1.77 个百分点(相对 3.9%)。
相对 GRPO:AIME 高 5.93 个百分点(相对 40.1%),AMC 高 7.23 个百分点(相对 13.0%),MATH500 高 3.80 个百分点(相对 4.8%),Minerva 高 4.78 个百分点(相对 11.6%),OlympiadBench 高 4.89 个百分点(相对 11.6%)。
AIME2024:最大值是 GVPO 20.72,所以 GVPO 柱高 = round(20.72/20.72×1000)/10 = 100.0%;Remax = round(17.19/20.72×1000)/10 = 83.0%;基座 = round(14.68/20.72×1000)/10 = 70.8%。
AMC:最大值 62.65;GVPO 100.0%;Remax = round(60.24/62.65×1000)/10 = 96.2%;基座 = 61.5%。
MATH500:最大值 83.80;GVPO 100.0%;Remax = round(82.00/83.80×1000)/10 = 97.9%;基座 = 76.4%。
柱高最低 1.2%,避免 0 值柱不可见;本表最小值不低于 59.2%,不会触发。
| 算法 | AIME2024 | AMC | MATH500 | Minerva | OlympiadBench |
|---|---|---|---|---|---|
| GRPO | 13.59±1.11 | 44.34±2.19 | 76.30±1.35 | 35.40±1.04 | 38.65±0.74 |
| GVPO | 15.56±1.05 | 45.78±2.05 | 77.36±0.98 | 36.03±1.15 | 39.58±1.08 |
Table 3:10 个随机种子的均值±标准差,Qwen2.5-Math-1.5B。GVPO 的均值全列更高,标准差与 GRPO 同量级;AIME 差 1.97 个百分点(相对 14.5%),AMC 差 1.44 个百分点(相对 3.2%)。
| 算法 | AIME2024 | AMC | MATH500 | Minerva | OlympiadBench |
|---|---|---|---|---|---|
| Llama-3.1-8B-Instruct | 5.00 | 19.27 | 50.40 | 22.42 | 17.04 |
| + GRPO | 8.54 | 19.27 | 52.60 | 25.37 | 16.15 |
| + GVPO | 11.56 | 20.48 | 56.60 | 29.41 | 20.59 |
Table 4:Llama-3.1-8B-Instruct 上的对比。相对 GRPO,GVPO 在 AIME 高 3.02 个百分点(相对 35.4%),AMC 高 1.21 个百分点(相对 6.3%),MATH500 高 4.00 个百分点(相对 7.6%),Minerva 高 4.04 个百分点(相对 15.9%),OlympiadBench 高 4.44 个百分点(相对 27.5%)。
| 算法 | AIME24 | AMC | MATH500 | Minerva | Olympiadbench |
|---|---|---|---|---|---|
| GVPO | 20.72 | 62.65 | 83.80 | 45.95 | 46.96 |
| GVPO − Var | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| GVPO − Cov | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| GVPO − Var − Cov | 7.19 | 39.76 | 73.00 | 34.93 | 35.70 |
| GVPO − Var + Entropy | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| GVPO − Var + Entropy (LR=1e−6) | 3.02 | 39.76 | 33.20 | 23.16 | 8.89 |
Table 2:正则项消融。单独去掉 Var 或 Cov 都会让训练发散、输出不连贯;同时去掉后约 10% 训练步开始崩。用 entropy 正则替代 Var 也不能恢复。
| 算法 | Reward | Win Rate | Accuracy | GPT-4o | Gemini-2.5-pro | DeepSeek-R1 | Human |
|---|---|---|---|---|---|---|---|
| SFT | 2.84 | 41.85% | — | — | — | — | — |
| + DPO | 4.83 | 68.28% | 60.43% | 31% | 40% | 25% | 34% |
| + GVPO | 5.75 | 79.49% | 64.93% | 69% | 60% | 75% | 66% |
Table 5:Reddit 摘要数据,Qwen2.5-1.5B 先做 SFT,再分别用 DPO/GVPO 后训练;奖励模型是 OpenAssistant/reward-model-deberta-v3-large-v2。GVPO 比 DPO 的 Reward 高 0.92,Win Rate 高 11.21 个百分点,Accuracy 高 4.50 个百分点;LLM/人工评测的差值见表格。
原文在 “Robustness Check with a Different Foundation Model” 一段写 “As shown in Table 5, GVPO again outperforms GRPO”,但 Table 5 是摘要任务;Llama-3.1-8B-Instruct 的五基准对比实际在 Table 4。页面按 Table 4 引用,保留原文的编号错位作为并列说明。
GVPO 的“全局最优”是数学结论,不是“在所有任务上都更好”的经验结论;两者需要分开看。
Theorem 3.2 要求采样分布覆盖参考策略的支撑集;实际实现用 πθ_old 或历史数据,通常满足,但有限采样与优化误差不在定理里。定理也不保证有限步 SGD 一定到达最优解。
数学任务用规则 verifier;摘要任务用一个 DeBERTa 奖励模型。奖励模型的偏差会被 GVPO 高效拟合推断(依据:Appendix C 只用奖励模型打分与算胜率,未做 reward hacking 的对照实验);论文没有做 reward hacking 的定量分析。
评测范围:主实验是数学(AIME2024、AMC、MATH500、Minerva、OlympiadBench),附录 C 是 Reddit 摘要。代码生成、开放域对话、长文本、多模态、Agent 任务都没有实验。论文的“通用后训练算法”是方法层面的主张,不是跨任务验证过的结论。
对比范围:数学主表包含 GRPO、Dr.GRPO、Remax、Reinforce++,但没有 DPO/IPO 在相同数学设定下的直接对比;DPO 只出现在摘要附录。论文也没有和 PPO 做墙钟时间、显存或样本效率的对比,因此“比 PPO 更高效”只能从“不需要价值模型、不做重要性采样”的算法结构去理解,不能从实验数字直接推出。
超参与规模:β 的消融在 1.5B 上以曲线呈现(0.01–0.5),k 的消融也只给 Figure 3 的曲线;页面不转录图中未标注的精确点。主实验只有 7B,Llama 实验只有 8B;没有 70B、MoE 或更长训练的 scaling 结果。
还有一个边界是“组”的定义:GVPO 的零和性质依赖一次更新中对同一个 prompt 的 k 条回答做中心化。k=1 时 wi=(Ri−R̄)−β(Li−L̄)=0,Σwi=0 仍然成立,但没有梯度信号;若把一个 batch 里不同 prompt 的回答混在一起算组均值,全局 Σwi=0 仍成立,但 Z(x) 是逐 prompt 的,βlogZ(x)Σiwi 不再按 prompt 消掉,Theorem 3.1/3.2 的推导前提被破坏。原文 Algorithm 1 第 4 行是“对每个 prompt x 采样 k 条回答”,Listing 1 的脚注也要求每个输入 batch 对应同一个 prompt 的 k 条回答,并去掉 GRPO 优势里的 std 归一化。