DAPO 与 GSPO 相对于 GRPO 的改进

GRPO:强化学习的”上一代方法”

DeepSeek 开创性地使用了一种叫 GRPO(Group Relative Policy Optimization,组相对策略优化) 的算法。

用大白话解释它的逻辑:

对同一道题,让 AI 生成一组(比如 8 个)不同的回答,然后比较这组回答里谁得分高、谁得分低,以此作为”相对好坏”的信号来更新 AI。

这比之前的方法(PPO)简单很多——PPO 需要额外训练一个”打分员模型”,GRPO 直接用组内的相对排名打分,省掉了大量计算。

但 GRPO 也有几个明显的毛病,后续的 DAPO 和 GSPO 正是针对这些问题提出的改进。


DAPO

2025 年 3 月,字节跳动 Seed 团队发布了论文 DAPODecoupled 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 团队发布了 GSPOGroup 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 与 GSPO 相对于 GRPO 的改进
https://kissshhot.github.io/2026/01/20/dapo-gspo-rl-explained/
作者
丁一帆
发布于
2026年1月20日
许可协议

点赞与评论

喜欢这篇文章?点个赞,或留下你的想法。登录 GitHub 后即可参与。

如果评论无法加载,请检查网络连接后刷新页面。