强化学习算法梳理:从 PPO 到 GRPO 及之后
梳理 2024-2026 年推理 LLM 强化学习的主要进展,从 REINFORCE、PPO 讲起,到 GRPO 及 DAPO、CISPO、GSPO 等后续改进方法。
强化学习是 LLM 后训练流程中最具影响力的技术之一。GPT-3 到 InstructGPT 的跨越依赖于它 [1],而后 OpenAI o1 [2] 和 DeepSeek-R1 [3] 在推理能力上的突破同样以 RL 为核心。
第一代方法以 PPO [4] 为代表。PPO 原本是为 Atari 游戏和机器人控制等传统 RL 场景设计的,后被成功适配到 RLHF 中。
第二代方法的目标转向推理能力,带来了一轮密集的算法迭代。短时间内出现了大量变体,多数只在前人基础上做了小幅但关键的改动。
本文梳理 2024–2026 年间推理 LLM 强化学习的主要进展,从 REINFORCE 和 PPO 讲起,再依次介绍 GRPO 及后续的改进方法。
强化学习基础#
在标准 RL 设定中,智能体(agent) 在每个时间步观察状态 st,根据策略 π(at∣st) 选择动作 at,按环境动力学 p(st+1∣st,at) 转移到新状态 st+1,并获得奖励 rt。
举个具体例子:一个在房间中导航的机器人,状态是当前位置和传感器读数,动作是运动指令,状态转移由物理规律(轮子可能打滑)决定,奖励反映朝目标的进展。
这一循环重复 T 个时间步,智能体的目标是最大化期望折扣回报
其中折扣因子 0≤γ≤1 控制对未来奖励的折扣程度。
策略通常由参数 θ 参数化。许多 RL 算法中的核心概念是价值函数
它衡量在策略 π 下处于状态 s 的期望回报。由此可以推导出优势(advantage),用于估计某个动作是优于还是劣于期望表现。
在 LLM 场景中,这一设定通常被大幅简化。我们有一个参数化模型 πθ,给定数据集中的提示 x∼D,采样回复 y∼πθ(⋅∣x),并用标量奖励 r(x,y) 进行评分。优化目标变为:
当然,仍然可以将这个环境建模为:状态 =(提示 + 已生成 token),动作 = 下一个 token。但实际中通常无法对单个 token 赋予有意义的奖励,只能对给定提示的完整回复给出一个奖励。除最后一个 token 外所有 token 的奖励都是零,这使建模变得不必要地复杂。
REINFORCE#
从 REINFORCE [5] 开始,因为它概念简洁,且是所有策略梯度方法的基础。
最简形式下,REINFORCE 的目标是:
其梯度有一个简洁且直观的形式:
作为对比,监督微调(SFT)的梯度为
(注意 SFT 损失是最小化的,而 RL 目标是最大化的。)
由此可以看出,REINFORCE 本质上是加权版的 SFT。区别在于:SFT 强化的是给定的、off-policy 的答案 y∗,而 REINFORCE 根据奖励对采样的、on-policy 的答案 y 进行强化或惩罚。
REINFORCE 的主要缺点是方差大。即使奖励结构相对有序(例如一个大型测试套件中每个测试贡献部分奖励),梯度估计在不同样本间仍可能有很大波动。
为降低方差,REINFORCE 引入了一个不依赖于采样动作(回复)的基线 b(x)。由于
减去基线不改变梯度的期望,但通常能显著降低方差。梯度变为
其中 r(x,y)−b(x) 是优势估计的最简形式。
PPO#
PPO(Proximal Policy Optimization)[4] 成为了最主流的通用策略梯度算法,并在相当长一段时间内是 RLHF 的默认选择。
PPO 的目标函数通常以一个看起来比较复杂的形式呈现:
其中
是当前策略 πθ 与生成 rollout 时的策略 πθold 之间的重要性采样(IS)比率。
一个自然的疑问是:“对于 on-policy RL,这个比率不应该总是 1 吗?“答案是:只在生成 rollout 后的第一步优化时如此。
这个比率存在的原因是 rollout 的生成成本很高。实际中通常会将一批生成的数据复用于多个 minibatch 更新或多个 epoch。第一步优化之后,训练策略就不再完全等同于生成策略,PPO 因此变得略微 off-policy。比率对这一不匹配进行修正,而裁剪则限制优化偏离生成策略的幅度。这是 PPO 对信赖域 [6] 的一种近似。
需要注意的是,裁剪不仅影响目标函数的值,更重要的是影响它对 θ 的依赖关系。由于我们通过优化 θ 来最大化 J,被裁剪的情况会产生零梯度——因为学习策略已不在等式中。这些情况下的更新被跳过,因为已经移出了信赖域。
裁剪处理四种场景:
| 未裁剪 | 已裁剪 | |
|---|---|---|
| 正优势(好答案,强化) | ρt(θ)A^t:答案好且尚未被过度更新 | (1+ϵ)A^t:该答案已足够可能,梯度停止 |
| 负优势(差答案,抑制) | ρt(θ)A^t:答案差且尚未被过度更新 | (1−ϵ)A^t:该答案已足够不可能,梯度停止 |
也可以将裁剪表示为一个掩码:
用这一表示,目标函数简化为:
因此,PPO 本质上是带有信赖域掩码的重要性加权策略梯度。

在优势估计方面,PPO 使用广义优势估计器(GAE):
计算 δ 需要一个学习得到的价值函数。在 LLM 场景下,这通常需要一个额外的价值模型,其规模往往与策略模型相当,内存开销很大,也增加了训练复杂度。本文不详细展开 GAE,因为去除这一组件正是 GRPO 的主要实际贡献。关于 PPO 各组件的详细解释,可参考这篇详细博文。
最后,PPO 目标函数常与 KL 正则化结合:
其中 πref 通常是 RL 训练前的模型。在 RLHF 中这一项尤为重要,因为它保持通用能力,并控制相对于奖励模型(在参考策略 πref 上训练)的分布偏移。在推理 RL 中,KL 惩罚通常被设得很小或直接省略 [3], [7]。
完整形式的 PPO 需要在内存中保存四个大型组件:可训练策略、rollout 策略、参考策略和价值模型。
GRPO#
GRPO(Group Relative Policy Optimization)由 DeepSeekMath 提出,后在 DeepSeek-R1 中广泛使用 [8], [3],去掉了 PPO 的价值模型,代之以组内相对基线。

核心思路是:通过将一个回复与同一提示下的其他回复比较,就能得到一个好的基线。对每个提示 x∼D,GRPO 采样一组 G 个回复 {y1,…,yG},计算奖励 ri=r(x,yi),并在组内归一化奖励得到优势:
直觉上,每条 rollout 的基线不再是学习得到的价值函数,而是同一提示下其他 rollout 的表现。当奖励稀疏但每个提示可获得多个采样时,这一方法效果尤其好。
GRPO 保留了 PPO 风格的裁剪重要性采样,原始形式中包含 KL 项:
其中 ρi(θ)=πθold(yi∣x)πθ(yi∣x)。
组内归一化有两个有益的效果。减去均值使学习信号变为提示相对的:如果某提示下所有采样的奖励都在 [0.8,1.0],那么 0.8 的含义与所有采样在 [0.2,0.8] 时完全不同。除以标准差使方法对奖励尺度不敏感,在混合不同奖励范围的任务时有用。
但 GRPO 成功的更重要原因其实更简单:它去掉了 critic。这显著减少了内存占用,使大规模推理模型的 RL 训练变得更加可行。
GRPO 的实现流程#
具体来说,GRPO 的一轮迭代可分为如下几个阶段:
阶段一:生成与冻结。 这是 GRPO 与 DPO 最大的区别——DPO 使用静态数据,而 GRPO 必须让旧模型现场生成数据。对每个问题 q,使用当前旧策略 πold 自回归生成 G 个回答(通常 G=64),同时记录每个 token 的对数概率作为常量张量,供后续计算 ratio 使用。
阶段二:奖励评估。 将 G 个完整回答送入奖励模型或规则校验器(如数学题验证答案正确性),得到标量奖励 {r1,…,rG}。
阶段三:优势计算。 对 G 个奖励做组内归一化,得到每个回答的优势 A^i。不需要 critic 网络,小组平均分就是 baseline。
阶段四:策略评估。 将旧模型生成的固定文本喂给待更新模型 πθ 做 Teacher Forcing 前向传播——新模型不生成新 token,只评估旧模型产出的每个 token 在当前参数下的概率。由于新旧模型评估的是同一段固定文本,概率向量长度完全一致,可以逐 token 计算比率 ρt=πθ(ot)/πold(ot)。Ratio > 1 表示新模型更倾向于生成该 token,< 1 则相反。
阶段五:计算 PPO Loss。 结合优势 A^i(整句共享)和每个 token 的 ratio,计算裁剪后的 surrogate loss。
阶段六–七:反向传播与迭代。 更新参数后,丢弃旧策略,用更新后的模型作为新的 πold,回到阶段一开始下一轮。
GRPO 的改进空间#
GRPO 虽然简洁高效,但存在若干可优化的方向,后续方法围绕这些方向展开:
- 优势计算:标准差归一化是否必要?组级 vs 批次级归一化?(→ Dr. GRPO, DAPO)
- 裁剪机制:对称裁剪是否过于保守?能否解耦上下界?(→ DAPO, CISPO, SAPO)
- 损失聚合:样本级平均是否引入长度偏差?(→ Dr. GRPO, DAPO, GSPO)
- 采样策略:全对/全错的提示浪费梯度怎么办?(→ DAPO 动态采样, GFPO, NGRPO)
- 信用分配:整句共享同一个 advantage 是否太粗?(→ VAPO, token 级方法)
- 多目标奖励:多个奖励求和后归一化是否丢失分辨力?(→ GDPO)
RLOO#
RLOO(REINFORCE Leave-One-Out)[9] 从不同方向得出了类似结论:PPO 对于 LLM 微调场景来说可能过于复杂1。
对每个提示,RLOO 采样 K 个回复 {y1,…,yK}。回复 yi 的优势是其奖励减去其余 K−1 个回复的平均奖励:
这个基线是无偏的,且不需要学习的价值模型。与 GRPO 不同,RLOO 不除以组内标准差。
更重要的是,RLOO 放弃了 PPO 风格的裁剪,回归纯粹的 REINFORCE 式更新。RLOO 目标为:
作者指出,在他们的实验中裁剪仅在不到 5% 的情况下被激活,在这一场景下可能并非必要。不过后续工作得出了不同的结论。
Open-Reasoner-Zero:PPO 的反击#
Open-Reasoner-Zero [10] 从另一个角度质疑了 GRPO 的不可替代性:通过精心调整的 PPO 和简单的奖励函数,也能达到类似 R1 的效果。这一工作表明,GRPO 的成功更多在于工程上的高效性(省显存),而非算法理论上的绝对优势。但在算力受限的场景下,GRPO 仍是首选。
Dr. GRPO#
DeepSeek 在 DeepSeek-Math 和 R1 的论文中报告了一个现象:随着 RL 训练推进,回复长度显著增加。他们将此归因于推理和反思能力的提升(即著名的”Aha”时刻)。这可能是原因之一,但 Dr. GRPO(全称”GRPO Done Right”)[11] 的作者发现了一个更重要的原因:标准的样本级损失归一化引入了一个偏差,倾向于短的正确回复和长的错误回复。
在常见的 GRPO 实现中,token 损失先在每个序列内取平均,再在序列间取平均。这意味着固定的序列级奖励被分摊到序列的所有 token 上。因此,长回复如果正确,每个 token 获得的强化信号更弱;如果错误,每个 token 受到的惩罚也更弱。这会产生鼓励冗长的激励。
修复方法很直接:Dr. GRPO 不再先除以序列长度再除以批次大小,而是除以一个固定常数(最大 token 数)。这有效消除了错误答案变得不必要冗长的激励。
Dr. GRPO 还去掉了另一个引入偏差的归一化。当每个提示的奖励按标准差归一化时,对于所有答案奖励相近的提示(例如只有一个错误,奖励方差很低),即使微小的奖励差异也会被放大为很大的归一化优势。结果是,模型在已经基本掌握的提示上反而收到不成比例的大更新。换个角度说,方差高的题目(模型感到困惑、好坏参半的题目)才有利于学习,强制除以方差反而把注意力放在了简单样本上。
Dr. GRPO 的优势简化为:
不除以标准差,且损失在 token 级别以固定归一化常数聚合,而非先按序列长度取平均。

这里的实际信息不是 GRPO 有根本性缺陷,而是其中一些看似无害的归一化操作并非中性的。在长链推理中,它们改变了哪些提示和哪些 token 接收到梯度信号。
DAPO【实测有效】#
DAPO(Decoupled Clip and Dynamic sAmpling Policy Optimization)[7] 对 GRPO 的多个组件做了深入分析,提出了四项改进。
改进一:Token 级损失聚合。 与 Dr. GRPO 类似,DAPO 将样本级平均替换为 token 级聚合(DAPO 除以实际 token 数,Dr. GRPO 使用固定常数)。


改进二:非对称裁剪(Clip-Higher)。 PPO 的对称比率裁剪对低概率 token 过于严格。例如,若某 token 的概率为 0.01,在 ϵ=0.2 下其概率最多只能升至 0.012 就会被裁剪,几乎不改变其被采样的可能性。这会抑制罕见但有用的推理延续的学习(如 “However”、“Wait” 等在推理轨迹中充当关键分叉点的 token)。DAPO 因此将裁剪边界解耦,使用更大的上界 ϵhigh=0.28,保持 ϵlow=0.2。


结合 token 级聚合和非对称裁剪,DAPO 目标为:
改进三:超长回复奖励塑形(Overlong Reward Shaping)。 在许多设定中,被截断的回复和完全错误的回复获得相同的奖励,这引入了噪声——一个回复可能包含大部分正确推理,只是被长度限制截断了。模型可能学到”只要生成得长就会被惩罚”的错误信号,抑制深度思考能力。DAPO 在硬截断之前增加了一个软惩罚区间:

改进四:动态采样(Dynamic Sampling)。 如果某个提示的所有采样回复全部正确或全部错误,组内相对优势全为零,该提示不贡献梯度。


DAPO 通过过采样和过滤来解决:检查每个 prompt 的生成结果,过滤掉”全对”或”全错”的,持续重新采样直到每个 prompt 都有混合结果。这确保优化批次中的每个提示都提供学习信号,提升了每步效率,但可能增加实际耗时。
VAPO:价值模型的回归#
VAPO(Value-based Augmented Proximal Policy Optimization)[12] 提出了一个不同的观点:虽然 GRPO 通过去掉 critic 提升了效率,但在极其复杂的推理任务上,设计良好的价值模型仍能提供比纯组内对比更精确的指导。
VAPO 通过七项技术实现了”价值模型的回归”:在正式 RL 开始前对价值模型做独立预训练(Value-Pretraining),避免 RL 初期因 critic 乱猜导致的策略崩塌;使用解耦广义优势估计(Decoupled-GAE),将即时反馈与长期价值分离,降低劣质价值模型对策略梯度的干扰;引入长度自适应 GAE,对序列长度做动态调整,防止过长推理路径获得不合理的优势值。
在损失层面,VAPO 采用 token 级策略梯度损失提高学习粒度;在采样上借鉴 GRPO 的组内采样思路;对高分正确样本额外增加语言模型损失,确保不丧失语言流畅度;裁剪机制上使用 Clip-Higher(与 DAPO 思路一致)。
VAPO 的意义在于:critic 并非一定要丢掉,关键在于如何设计好它。
CISPO#
CISPO(Clipped Importance Sampling Policy Optimization)由 MiniMax-M1 报告 [13] 提出,针对 PPO 风格裁剪的一个特定弱点:当 token 超出裁剪范围时,PPO 完全阻断其梯度。
这一行为虽然保守,但也可能过于谨慎。概率发生大幅变化的 token 往往恰恰是对学习推理行为最重要的(报告中提到 “However”、“Recheck”、“Wait”、“Aha” 等 token 在基础模型中概率很低,但在推理轨迹中可能充当关键分叉点)。如果这些 token 在比率过大时就被掩码掉,学习会因丢弃最有信息量的梯度而变慢。
CISPO 因此将裁剪与梯度流解耦。它不对目标函数做产生硬掩码的裁剪,而是只裁剪重要性采样权重,并对该权重施加 stop-gradient 操作:
其中 sg(⋅) 表示 stop-gradient。
一个有趣的发现是,实验中只需要调节上界裁剪 ϵh,下界 ϵl 被设为足够大以使其实际上不生效。
这一设计保留了 IS 权重裁剪的降方差效果,同时允许梯度对所有 token 流通。结果是训练更稳定,不会抑制高信息量 token 的学习,且在 MiniMax 的实验中相比 DAPO 实现了 2 倍的步效率提升。
CISPO 可以看作 PPO 风格掩码的软替代:保留信赖域的直觉,但裁剪权重而非删除整个更新。
GSPO:序列级优化#
GSPO(Group Sequence Policy Optimization)[14] 由 Qwen 团队提出,用于训练 Qwen3 系列模型。
GSPO 的核心批判是 GRPO 存在粒度错配:虽然基线是组级的,但重要性采样和更新仍是 token 级的。奖励通常针对整个回答给出(如答案对不对),将这个奖励强行分配给每个 token 并独立裁剪和更新,会引入额外的方差和噪声。
GSPO 的解决方案是将所有操作统一到序列级:不再计算每个 token 的新旧概率比,而是计算整个序列的联合概率比值;对整个序列的权重进行截断,而非对单个 token;同一序列中的所有 token 共享相同的更新幅度。

GSPO 在实践中有两个显著优势。对于 MoE 模型,它极大地稳定了 RL 训练,避免了 GRPO 中常见的专家负载崩塌问题。在工程上,由于不需要 token 级的精确对齐,GSPO 允许推理引擎和训练引擎精度不完全一致(如 FP8 vs BF16)的情况下依然稳定训练。
GMPO:几何平均的鲁棒性#
GMPO(Geometric-Mean Policy Optimization)[15] 从统计量的稳健性角度出发。原始 GRPO 在计算 baseline 时使用算术平均,但在 RL 探索初期,奖励分布往往包含极端离群值。算术平均容易被这些离群值拉偏,导致 advantage 和重要性采样比率剧烈波动,进而引发梯度爆炸。
GMPO 提出最大化 token 级奖励或比率的几何平均值而非算术平均值。几何平均对离群值具有天然的抑制作用,能够自动平滑极端的奖励信号。

实验表明 GMPO 的重要性采样比率分布更窄,KL 散度增长更可控。在 AIME24、MATH500 等基准上,GMPO-7B 平均超越 GRPO 约 4.1%。
GFPO:对抗思维链注水#
GFPO(Group Filtered Policy Optimization)[16] 针对 GRPO 训练后的一个副作用:Length Hacking。模型倾向于生成极长的思维链,因为更长的尝试次数往往能”撞”对答案获得 reward,导致推理成本飙升。
GFPO 的策略是”多采,少训”:对每个 prompt 过度采样(如 64 或 128 个),然后引入 Token Efficiency(Reward per Token)指标,仅保留既正确又简洁的 top-k 个样本用于梯度更新,将不合格样本的 advantage 设为 0。此外还根据实时通过率动态调整采样规模,将算力集中在难样本上。

实验中,GFPO 训练的模型推理长度减少了 46%–71%,准确率与 GRPO 持平甚至略优。核心理念是”在训练时多花算力(多采样),换取推理时的极致高效”。
MaxRL#
MaxRL(Maximum Likelihood Reinforcement Learning)[17] 的出发点与前述方法不同:标准 RL 优化的是期望奖励(即 pass@1),而实际训练中常观察到 pass@1 的提升以 pass@k 下降为代价,这未必是最合适的优化目标。与之对比,预训练和 SFT 所采用的最大似然训练优化的是 logpθ(x)。
这一区别并非表面上的。作者证明了
即最大似然的梯度是 pass@k 梯度的无穷调和混合,而非仅仅 pass@1。标准 RL 只保留了这个展开式的一阶项。
基于此,MaxRL 定义了一族按计算量索引的截断目标:
其中 T=1 退化为标准 RL,T→∞ 则恢复为最大似然。
与这一目标梯度一致的 on-policy 估计器形式很简洁:对每个 prompt 采样 N 条 rollout,设其中 K 条成功,则 MaxRL 只对成功轨迹的 score function 取平均:
该估计器对截断阶数 T=N 的 MaxRL 目标是无偏的。与 REINFORCE 的关键区别在于:增加 rollout 数量不仅降低了估计器方差,同时也使被优化的目标本身更好地逼近最大似然——这是一个双重收益。
将估计器改写为带零均值控制变量的 REINFORCE 形式,可以更清楚地看到权重分配的逻辑。设 r^=K/N 为该 prompt 的成功率,则有效 advantage 正比于
这解释了为什么 MaxRL 会将学习信号集中在难题上:当 r^ 很小但非零时,该 prompt 上的成功 rollout 会获得很强的权重;而对于 r^≈1 的简单题目,额外的强化信号则很有限。
实验上,MaxRL 在 pass@k 指标上优于 GRPO,更好地保持了输出多样性,并在 test-time scaling 效率上取得了显著提升。
从概念上看,MaxRL 将可验证任务上的 RL 重新理解为不可微采样下的近似最大似然训练,这一视角本身也值得关注。
NGRPO:从全错中学习【实测有效】#
NGRPO(Negative-enhanced GRPO)[18] 解决的是 GRPO 在面对同质化错误时的学习停滞问题。当模型生成的一组回复全部错误时,组内归一化后所有 advantage 为零,该提示不贡献梯度。DAPO 的动态采样通过重新采样来规避这个问题,而 NGRPO 提出了另一种思路。
NGRPO 在计算优势时假设组内存在一个虚拟满分样本。具体做法是:在计算均值和标准差时,额外加入一个奖励为 rmax 的虚拟样本。这样即使所有真实回复得分相同(比如全是 0.8 分),因为虚拟满分样本的存在,组均值会略高于 0.8,使所有真实回复的优势变为负数,从而产生”需要改进”的信号。
1rewards = [0.8, 0.8, 0.8, 0.8]2augmented = rewards + [1.0] # 虚拟满分样本3mean = sum(augmented) / len(augmented) # 0.844std = sqrt(variance(augmented)) # 0.085advantage = (r - mean) / std # 非零!DPPO#
DPPO(Divergence PPO)[19] 比 DAPO 和 CISPO 更直接地重新审视了信赖域问题。
核心批评是:PPO 基于采样 token 的概率比率进行裁剪,但这可能是实际策略散度的一个较差代理,尤其对于低概率 token。它们的概率可以变化一个数量级,却对完整分布的影响微乎其微。
这一问题在训练/推理框架不匹配时进一步放大:即使参数完全相同,低概率 token 的概率比率在不同框架间也可能高度不稳定,而全变差(TV)等散度度量则稳定得多。
DPPO 因此将基于比率的掩码替换为以估计策略散度(TV 或 KL)定义的信赖域。精确计算词表上的完整散度代价很高,但二元近似(只比较采样 token 在两个策略下的概率)或 top-K 近似在实验中都有不错的效果。
DPPO 的更新为
其中 Mdiv 掩码掉估计散度超过阈值 τ 的更新。
实验中的一个有趣发现是:只有极少数(不到 0.5%)的更新是不稳定性的根源,即负样本将策略推得太远。阻断这些更新就足以稳定训练。
DPPO 因此提出(并给出了一种回答)了一个重要问题:在 LLM 场景下应该如何定义信赖域。
SAPO:软自适应门控#
SAPO(Soft Adaptive Policy Optimization)[20] 针对 GRPO 硬截断(Hard Clipping)的两难:截断过严导致有价值的 off-policy 样本梯度被完全丢弃,截断过松则引入高方差噪声导致训练发散。在 MoE 模型训练中这一问题尤为突出——训练模型和采样模型的专家路由可能不同,导致对数概率差异巨大,极易触发硬截断。
SAPO 用平滑的 Sigmoid 门控函数替代硬性 clip,并引入正向/负向温度参数 (τpos,τneg):对正优势(好回复)允许更大的更新幅度但随偏离程度平滑衰减,对负优势(差回复)施加更严格的约束。

SAPO 成功用于训练 Qwen3-VL 系列,解决了 GRPO 在多模态混合数据上易发散的问题,构建了连续的信赖域使梯度更新更加平滑。
ScaleRL#
ScaleRL [21] 的重点不在于提出新的目标函数,而在于确定哪些设计选择在计算规模认真扩大后仍然重要。该论文报告了超过 40 万 GPU 小时的消融实验,更关键的是,通过拟合性能-计算量的 sigmoid 曲线来评估方法,而非仅比较单个训练检查点。
这一框架很有价值,因为它区分了两个常被混淆的量:方法在给定计算预算下的提升速度,以及它最终的饱和水平。一个方法可能在低计算量下表现强劲,却提前进入平台期;另一个方法可能上升较慢,但能达到更好的渐近水平。
主要发现如下:
异步 RL。 ScaleRL 倾向于流水线式异步设计,而非常见的先生成后更新循环。在这一设计中,rollout 持续生成,权重更新即时推送。这主要通过减少空闲时间来提升计算效率,同时保持最终性能持平或更优。
损失类型。 在比较的 off-policy 损失函数中,CISPO 和 GSPO 在渐近性能上优于 DAPO,CISPO 被选为默认方法,因为它兼具强性能和较好的鲁棒性。
FP32 logits。 生成内核和训练内核之间的微小数值不匹配可能显著扭曲重要性采样比率。如 MiniMax 报告 [13] 所提议,将 LM head 以 FP32 计算能大幅缓解这一问题,并在消融中显著提升渐近性能。
损失聚合。 在损失聚合方面,ScaleRL 证实了 Dr. GRPO [11] 和 DAPO [7] 指出的偏差——样本级平均是次优的。他们观察到 prompt 级平均的性能最佳。
零方差过滤。 如果某提示的所有答案全对或全错,则没有学习信号。ScaleRL 不像 DAPO [7] 那样继续采样(在步数上可能是最优的),而是将这些提示排除出优化,加速训练。
不做正样本重采样。 如果某提示的正确率超过 90%,则在后续 epoch 中将其排除。这略微减慢训练速度,但能达到更高的渐近性能。
ScaleRL 的价值在于大规模实验验证,以及对改进曲线形态的澄清——包括早期学习速度和渐近性能两个维度。
GDPO:多目标奖励解耦#
GDPO(Group reward-Decoupled Normalization Policy Optimization)[22] 解决的是多目标奖励场景下的奖励坍塌问题。随着 Agent 任务的复杂化,模型往往需要同时满足多个约束(如”答案正确”、“代码格式规范”、“运行时间短”)。GRPO 的做法是将所有奖励求和 Rtotal=racc+rformat+reff 后做组内归一化,但这会导致”答案对但格式错”与”答案错但格式对”得出相似的总分和优势值,模型无法区分哪种行为应被强化。
GDPO 的方案是先对每个子奖励分别在组内归一化,再加权求和:
之后引入批次级缩放因子确保优势值在不同 batch 间保持稳定。

在 Coding 和 Tool-use 任务中,GDPO 能够同时提升代码通过率和格式遵循率,而 GRPO 往往顾此失彼。
DART:解耦推理与工具调用#
DART(Disentangled Action-Reasoning Tuning)是 Yu Li 等人在 Reasoning and Tool-use Compete in Agentic RL [23] 中提出的方法,针对的是训练模型同时推理和使用工具时的梯度冲突。推理 token(思维链)和动作 token(工具调用)的优化目标存在根本差异,在共享参数上做统一更新会产生干扰。
DART 的方案是引入两个独立的 LoRA 模块:Reasoning Adapter 负责更新推理相关的参数,Action Adapter 负责更新工具调用相关的参数。训练时根据 token 类型选择性地应用不同的 adapter:
1# 根据 token 类型路由到不同 LoRA2delta_reasoning = lora_reasoning(hidden_states)3delta_action = lora_action(hidden_states)4output = hidden_states + delta_reasoning * mask_thinking + delta_action * mask_action在损失层面也做了加权分离(如 0.3 × reasoning_loss + 0.7 × tool_loss),使两类能力可以以不同速率学习。
总结#
下表总结了各方法间的主要差异:
| 方法 | 基线/优势 | 裁剪 | 掩码 | 损失聚合 | 主要贡献 |
|---|---|---|---|---|---|
| REINFORCE | EMA 或批次平均奖励 | 无 | 无 | 样本平均 | 建立策略梯度 |
| PPO | GAE + critic | 对称 IS | Msym(A^t,ρt,0.2) | 样本平均 | 稳定,样本效率更高 |
| GRPO | (r−μG)/σG | 对称 IS | Msym(A^t,ρt,0.2) | 长度归一化† | 去掉 critic,更低内存 |
| RLOO | Leave-one-out 均值 | 无 | 无 | 样本平均 | 无 critic 的方差缩减 |
| Dr. GRPO | r−μG | 对称 IS | Msym(A^t,ρt,0.2) | 固定常数归一化‡ | 去除长度偏差和标准差加权 |
| DAPO | (r−μG)/σG | 非对称 IS | Masym(A^t,ρt,0.2,0.28) | Token 平均 | 给低概率 token 更多增长空间 |
| VAPO | Decoupled-GAE + critic | 非对称 IS | PPO 风格 | Token 平均 | 精心设计的 critic 回归 |
| CISPO | 组内 (r−μG)/σG | 上界 IS | 无 | Token 平均 | 不掩码梯度,只裁剪权重 |
| GSPO | (r−μG)/σG | 序列级 IS | 序列级 | 序列平均 | 序列级统一优化 |
| GMPO | 几何平均 | 对称 IS | PPO 风格 | Token 平均 | 对离群值鲁棒的统计量 |
| GFPO | (r−μG)/σG | 对称 IS | 效率过滤 | 样本平均 | 抑制 Length Hacking |
| MaxRL | (ri−r^)/(N⋅r^) | 无 | 无 | 样本平均 | 在 RL 和 MLE 间插值 |
| NGRPO | 含虚拟满分样本的归一化 | 对称 IS | PPO 风格 | 样本平均 | 从全错组中提取梯度 |
| DPPO | 组内 (r−μ)/σ | 对称 DV | Mdiv(A^t,υt,0.15) | 样本平均 | 用散度信赖域适配 LLM |
| SAPO | (r−μG)/σG | Sigmoid 门控 | 无(连续权重) | Token 平均 | 软信任域,MoE 友好 |
| ScaleRL | (r−μB)/σB | 上界 IS | 无 | Prompt 平均 | 大规模验证与 scaling law |
| GDPO | 分奖励独立归一化 | 对称 IS | PPO 风格 | 样本平均 | 多目标奖励解耦 |
| DART | GRPO 风格 | 对称 IS | PPO 风格 | 加权 Token 平均 | 推理与工具调用解耦 |
† 不同实现可能有所差异,例如 Huggingface TRL
‡ 使用固定常数作为分母
其中
纵观这些方法,有几个反复出现的规律:
Critic 在多数场景下不再必要。 PPO 之后的大多数方法发现,更简单的基线(组均值、leave-one-out、贪心 rollout)能匹配或超过学习得到的价值函数,同时节省约 50% 的内存。LLM 微调场景中模型从强大的预训练检查点出发(而非随机初始化),这使得 PPO 的方差缩减机制在多数情况下冗余。例外是 VAPO,它表明在极复杂推理任务上,精心设计的 critic 仍能提供更精确的指导——关键不在于要不要 critic,而在于如何设计好它。
标准差归一化往往有害。 Dr. GRPO 和 MaxRL 都表明,优势除以 σ 会给接近解决的问题赋予过高权重。ScaleRL 的消融证实,带标准差归一化的 DAPO 相比 CISPO 和 GSPO [14] 达到了显著更低的渐近性能。
损失聚合并非细枝末节。 Dr. GRPO 和 DAPO 表明,序列级奖励与样本级平均结合会扭曲逐 token 的学习信号。损失的归约方式是方法的关键组成部分,错误的选择可能引入隐蔽的偏差。GSPO 则提出了另一种思路:既然奖励就是序列级的,不如把优化也统一到序列级。
信赖域是值得优化的切入点。 PPO 对信赖域的定义(ϵ=0.2)选择得相当好,在不同模型和任务间表现稳健。但近期多种方法以信赖域为改进方向并取得了提升:DAPO 做非对称放松,CISPO 裁剪权重而非掩码梯度,DPPO 则认为基于采样 token 比率的约束根本不是正确的约束对象,SAPO 用 Sigmoid 门控替代硬截断。该领域尚未就信赖域的定义达成共识,但这方面的进一步研究有望带来持续改进。
从废样本中提取信号。 DAPO 的动态采样和 NGRPO 的虚拟满分样本都在解决同一个问题:如何让全对/全错的组也贡献有效梯度。GFPO 则从另一个角度出发,通过效率过滤抑制 Length Hacking,确保训练信号集中在高质量样本上。
初步的最佳实践正在形成。 目前最强的大规模证据指向:无 critic 训练、token 感知或 prompt 感知的损失聚合、更软或更有原则的信赖域处理,以及对课程学习和计算分配越来越多的关注 [13], [19], [21]。虽然这是进步,但一个新方法或新细节的出现就可能迅速改变格局。
开放问题#
尽管进展迅速,若干基本挑战仍然存在。本节的参考文献不完整,如有遗漏欢迎补充。
信用分配。 [24], [25], [26] 当前基于结果的方法对回复中的所有 token 赋予基本相同的奖励。这出人意料地有效且易于实现,但显然效率不高。导致推理失败的那个 token 与周围的模板性 token 接收到相同的信号。过程奖励模型、步级验证器、基于搜索的方法和分支敏感的训练目标都在尝试解决这一问题,但尚无方法成为标准方案。
样本效率。 [27] RL 中的信息增益仅为一个 bit(正确/错误)。当前多数方案依赖每个提示多次 rollout(通常 8 到 64 次)来构建有用的相对基线。即使有自动验证器这也很昂贵,而当验证代价高或需要部分人工时就更甚。更好地复用失败样本、更好的离线到在线混合、或更好的提示选择策略,都有可能显著降低这一成本。
极难问题。 [28], [29] 如果模型对某个提示从未产生正确 rollout,则这里所有方法都不提供梯度。课程学习在实践中有帮助,但只是权宜之计。从部分正确轨迹中提取信号,或将搜索与 RL 结合的更强方法,仍然是重要的研究方向(与信用分配相关)。
向数学和代码之外拓展。 [30], [31] 近期几乎所有进展都来自验证廉价且无歧义的领域(数学和代码)。将这些方法扩展到噪声奖励、延迟奖励、主观评估或多轮交互的场景仍然困难。
实验可靠性。 [32], [33] 可能是最被低估的开放问题:该领域的许多证据仍然是经验性的、范围较窄且复现成本高。很多论文只测试了一个模型系列、一种验证器配置、一个数据集组合和一个计算预算。正如 ScaleRL 所明确指出的,一项干预可能改变早期学习速度、渐近性能,或两者兼有,而这两者不可互换。因此我们实际了解的比有时看起来的要少。有些方法可能是稳健的算法改进,而另一些可能主要适用于特定的模型、奖励设计或训练制度。两者都有用,但我们需要了解它们的局限性。
这些开放问题指向一个更广泛的结论:推理 LLM 的 RL 不再受限于缺乏可行的算法——我们现在有好几个。更难的问题在于效率、鲁棒性、通用性,以及理解哪些经验性改进真正能经受规模考验并跨场景迁移。
参考文献#
Footnotes#
-
LLM 在应用 RL 时已经过充分训练,不同于传统 RL 智能体通常从随机初始化开始。虽然动作空间(词表)大得多,但概率质量集中在少数合理 token 上。 ↩
部分内容可能已过时