DAPO 与 GSPO 相对于 GRPO 的改进
GRPO:强化学习的”上一代方法”
DeepSeek 开创性地使用了一种叫 GRPO(Group Relative Policy Optimization,组相对策略优化) 的算法。
用大白话解释它的逻辑:
对同一道题,让 AI 生成一组(比如 8 个)不同的回答,然后比较这组回答里谁得分高、谁得分低,以此作为”相对好坏”的信号来更新 AI。
这比之前的方法(PPO)简单很多——PPO 需要额外训练一个”打分员模型”,GRPO 直接用组内的相对排名打分,省掉了大量计算。
但 GRPO 也有几个明显的毛病,后续的 DAPO 和 GSPO 正是针对这些问题提出的改进。
DAPO
2025 年 3 月,字节跳动 Seed 团队发布了论文 DAPO(Decoupled clip and Dynamic sAmpling Policy Optimization),完整开源了训练代码和数据集,用 Qwen2.5-32B 模型在数学竞赛 AIME 2024 上拿到 50 分,比 DeepSeek-R1-Zero 还高,且只用了 一半的训练步数。
DAPO 在 GRPO 基础上做了四项关键改进,我们逐一用比喻来理解:
改进 1:Clip-Higher(不对称的”上限放开”)
放开对”变好”方向的限制,仍然严格限制”变差”的幅度. → AI 被鼓励大胆探索好的方向,但不允许大幅退步。
改进 2:Dynamic Sampling(动态筛题)
自动跳过”全对题”和”全错题”,只保留组内既有对、又有错的题目来训练。
→ 每一步训练都是有效的,不浪费算力,也不引入噪声。
改进 3:Token-Level Policy Gradient Loss(按字打分,而非按句打分)
改成按每个 token(每个字/词) 单独计算损失,所有
token 地位平等。
→ 长推理链中的每一步都得到平等对待,AI
更愿意写出详细、完整的推理过程。
改进 4:Overlong Reward Shaping(惩罚”废话”)
对被截断的回答施加额外惩罚,无论最终答案对不对。
→ AI 学会在有限长度内高效推理,而不是靠”瞎猜蒙对”获得奖励。
DAPO 小结
| 技术 | 解决的问题 | 一句话比喻 |
|---|---|---|
| Clip-Higher | 思维僵化/缺乏探索 | 鼓励往好的方向大胆改,但别走回头路 |
| Dynamic Sampling | 无效训练样本 | 跳过全对/全错的题,只练有区分度的 |
| Token-Level Loss | 长推理链被忽视 | 按字平等打分,不厚短薄长 |
| Overlong Reward Shaping | 被截断后瞎猜得奖励 | 截断即扣分,杜绝蒙题侥幸 |
GSPO
2025 年 7 月,阿里巴巴 Qwen 团队发布了 GSPO(Group Sequence Policy Optimization,组序列策略优化),这是驱动 Qwen3 系列模型的核心训练算法。
GSPO 的出发点和 DAPO 不同——它不是打补丁,而是换了一个计算角度。
GRPO 的根本问题:Token 级别的”重要性权重”不稳定
先理解什么是”重要性权重”(Importance Sampling Weight):
背景:
RL 训练中,AI 的参数在不断更新。每次更新后,“旧版
AI”生成的那批回答,需要被”新版 AI”重新评估。
这里有个校正系数——就是”新版 AI 的概率 / 旧版 AI
的概率”——叫做重要性权重,用来把旧数据适配到新模型上。
GRPO 是在每个 token(每个字)上计算这个权重,然后把一整条回答的权重相乘。
类比:
假设一篇 200 字的作文,每个字的”变化系数”是 0.99,200 个字连乘:
\[0.99^{200} \approx 0.13\]
只剩下 13%!一条稍长的回答,其重要性权重会指数级衰减到接近 0,导致这条数据对训练完全没有贡献——白算了。
更糟的是,如果某个 token 的权重偶尔变得很大,就会产生极端梯度,造成训练崩溃。
GSPO 的解法:换成”整句”的角度计算
GSPO 提出:不要在 token 级别计算重要性权重,改成在整个回答(sequence)级别计算。
具体做法: - 把整条回答看作一个整体,计算”新模型生成这整条回答的概率 / 旧模型生成这整条回答的概率” - 然后除以回答的长度做归一化(让长回答和短回答处于同一量级) - 对整条回答的所有 token 施加相同的权重(而非各自独立计算)
类比:
与其给作文的每个字打一个变化系数然后连乘,不如直接给整篇作文打一个总体评分变化比,然后均匀分给每个字。
→ 不会出现连乘导致的指数级衰减,权重稳定在合理范围内。
GSPO 特别擅长的场景:MoE 大模型
MoE(Mixture of Experts,混合专家)是一种特殊的大模型架构——模型内部有几十甚至上百个”专家网络”,每次只激活其中一小部分来处理输入。
Qwen3-235B(阿里最大的模型)就是 MoE 架构。
MoE 的 RL 训练难题:
每次模型参数更新后,不同 token
可能被路由到不同的专家上——激活的专家组合变了,导致 token
级别的重要性权重大幅波动,训练极不稳定,严重时会模型崩溃(catastrophic
collapse)。
GSPO 为什么天然免疫:
GSPO 用的是整条回答的序列级权重,不依赖每个 token
具体走了哪条专家路径。专家路由怎么变,序列整体的概率比值依然稳定。
→ GSPO 解决了 MoE 大模型 RL
训练的稳定性问题,不需要任何额外的稳定化技巧。
GSPO 的工程红利
GSPO 还带来了一个意外收获:大幅简化了训练基础设施。
传统方法中,“旧模型生成数据”和”用新模型重新计算 token 概率”是两个分离的步骤,需要在训练引擎和推理引擎之间来回同步数据。
GSPO 只需要序列级别的整体概率——这个数字推理引擎本身就能返回,无需用训练引擎重算。这在多轮对话 RL、离线数据复用等场景下省去了大量工程复杂度。
DAPO vs GSPO:有什么不同?
两者都是对 GRPO 的改进,但角度不同:
| 对比维度 | DAPO | GSPO |
|---|---|---|
| 出品方 | 字节跳动 Seed | 阿里巴巴 Qwen |
| 发布时间 | 2025 年 3 月 | 2025 年 7 月 |
| 核心思路 | 打四个补丁修复 GRPO 的问题 | 换掉”token 级重要性权重”这个根本设计 |
| 对 MoE 架构 | 无特殊优化 | 天然适合,解决稳定性问题 |
| 工程复杂度 | 与 GRPO 相近 | 更简单,推理引擎可直接返回所需数据 |
| 代表成果 | AIME 2024 得 50 分(32B 模型) | 驱动 Qwen3 全系列模型 |
| 开源情况 | 完全开源(代码+数据集) | 论文+博客开源,代码部分开源 |
总结
| 方法 | 一句话 |
|---|---|
| GRPO | 让 AI 自己出题、自己做、组内比较好坏来学习 |
| DAPO | 鼓励探索、筛掉废题、按字打分、惩罚截断猜答 |
| GSPO | 把”每个字”的评分视角换成”整句话”的视角,从根本上解决权重不稳定问题 |
参考资料
- DAPO 论文(arXiv:2503.14476) — ByteDance Seed, 2025
- DAPO 官方网站
- GSPO 论文(arXiv:2507.18071) — Alibaba Qwen Team, 2025
- GSPO 官方博客(Qwen)
- 从 GRPO 到 DAPO 和 GSPO 的演进分析
点赞与评论
喜欢这篇文章?点个赞,或留下你的想法。登录 GitHub 后即可参与。
如果评论无法加载,请检查网络连接后刷新页面。