如果说 DPO、PPO 是奠基者,GRPO(DeepSeek 带火)是让大模型推理能力爆发的超级引擎,那么 GSPO 和 DAPO 就是为了修复 GRPO 的致命缺陷而诞生的"终极补丁"。
在训练像 DeepSeek-R1 或 Qwen3 这种动辄思考上万个 Token 的模型时,原版的 GRPO 暴露出了一些严重的工程和数学问题。我们来看看这两个新秀是怎么横空出世的。
一、 GSPO (Group Sequence Policy Optimization, 群体序列策略优化)
诞生背景: 由 Qwen(通义千问)团队提出。
专门解决 GRPO 的痛点: "长逻辑链下的方差爆炸与 MoE 崩溃"。
还记得我们在 GRPO 里讲过的那个"重要性采样比率(新模型概率 / 旧模型概率)"吗?
在原版 GRPO 里,这个比率是**在 Token 级别(字级别)**计算的。
- 危机出现:当模型在做极其复杂的数学题,写了 10000 字的思考过程(Long-CoT)时,如果你把这 10000 个字的概率比率全部乘起来,数学上的"方差"会呈指数级爆炸。这会导致梯度极其不稳定,尤其是对于 MoE(混合专家)架构的模型,剧烈的梯度抖动会直接导致某些专家神经元"饿死"或崩溃。
- GSPO 的手术刀:它在数学上对目标函数进行了重构,把重要性采样的计算从"Token 级别(字)"拉升到了**"Sequence 级别(句子/整体序列)"**,并引入了长度归一化。
- 结果:极大地降低了长文本训练时的梯度方差。不需要加那些乱七八糟的工程 Hack(比如路由重放),就能让大规模 MoE 模型极其稳定地完成强化学习。
二、 DAPO (Direct Advantage Policy Optimization, 直接优势策略优化)
诞生背景: 针对多步逻辑推理(Multi-Step Reasoning)的大规模开源 RLHF 系统。
专门解决 GRPO 的痛点: "探索能力丧失(熵坍塌, Entropy Collapse)"。
在强化学习中,我们希望模型像爱迪生一样,不断尝试不同的解题思路(保持较高的熵/探索欲)。
- 危机出现 :在跑原版 GRPO 时,研究人员发现了一个可怕的现象------只要模型偶然发现了一种能拿高分的套路,它就会迅速变成一个"做题机器"。对于同一个问题,它生成的 8 个回答变得一模一样(熵迅速坍塌至 0)。模型彻底失去了探索更好解法的能力,导致推理能力的上限被锁死。
- DAPO 的手术刀 :
- 直接踢掉 KL 散度约束 :DAPO 认为,为了练出绝顶聪明的推理模型,模型本来就应该与最初那个只会聊天的 Base 模型(参考模型)越行越远越好。强行限制 KL 散度纯属作茧自缚,于是直接移除。
- 引入 Clip-Higher 与动态采样:通过修改 PPO/GRPO 中传统的截断(Clipping)机制,提高了模型更新的"天花板",让模型在拿到高分的同时,依然被强制要求用不同的路径去思考。
- 结果:完美压制了"熵坍塌",让模型在漫长的强化学习过程中始终保持"好奇心",大幅推高了模型在复杂数学和代码题上的最终得分。
三、 一张表看懂:对齐进化树 (DPO -> PPO -> GRPO -> GSPO/DAPO)
我们可以把它们看作大模型训练技术的"军备升级":
| 算法名称 | 核心机制 | 裁判(奖励) | 适用场景与历史地位 |
|---|---|---|---|
| DPO | Off-policy (不生成)。基于交叉熵拉大好坏概率的差距。 | 人类提前标好的静态数据。 | 基础聊天对齐。低成本、极稳定,让模型学会礼貌和格式,但无法涌现高级逻辑。 |
| PPO | On-policy (实时生成)。带 Critic 模型计算基准优势。 | RM 模型或规则。 | 经典重型武器。全面但极度消耗显存,超参数难调,是 OpenAI 早期的主力。 |
| GRPO | On-policy。砍掉 Critic,用同批次 8 个回答的内部平均分定胜负。 | RM 模型或规则(通常是规则)。 | 推理模型革命。DeepSeek 引爆的利器,极大节省显存,逼迫模型涌现"顿悟"。 |
| GSPO | On-policy。将 GRPO 的字级计算升级为序列级计算。 | 规则代码。 | 长序列工程救星。专为动辄几万字的长思考(MoE)打造,解决 GRPO 的数学方差崩溃。 |
| DAPO | On-policy。对 GRPO 的损失函数做"防套路"改造,踢掉 KL 约束。 | 规则代码。 | 探索能力天花板。解决 GRPO 后期模型停止思考、只会背答案的"熵坍塌"绝症。 |
总结
当你看到 GRPO 时,你看到的是**"如何用最少的显存,逼着模型去推理"。
当你看到 GSPO 和 DAPO 时,你看到的是顶尖工程师们在把 GRPO 投入到万卡集群、去训练下一代万字长思考模型时,遇到了 "梯度爆炸"和"模型变傻不愿思考"**两个深水区的大坑,并亲手打上的硬核补丁。