强化学习算法GRPO, DAPO, GSPO简单介绍
作者:XD / 发表: 2026年1月8日 06:02 / 更新: 2026年1月8日 06:26 / 科研学习 / 阅读量:14
GRPO, DAPO, GSPO都是用于训练大语言模型(LLM)的强化学习算法,它们的目标都是让模型通过“试错”来变得更聪明。
它们的核心差异在于“如何给模型的回答打分”以及“如何利用这些分数来更新模型”。
1. 核心区别总结
GRPO(Group Relative Policy Optimization)
- 全称:组相对策略优化
- 核心痛点:传统 PPO 需要额外的“裁判模型”(Critic),显存占用高且训练复杂
- 主要做法:让模型对同一问题生成一组回答,计算组内平均分;高于平均奖励、低于平均惩罚
- 一句话比喻:“班级排名法”:没有绝对标准,只看你在本次小组作业里排第几
DAPO(Decoupled Clip & Dynamic Sampling)
- 全称:解耦裁剪与动态采样策略优化
- 核心痛点:GRPO 在长逻辑推理中容易跑偏,或被裁剪限制探索能力
- 主要做法:对优势大的样本放宽裁剪限制(让好苗子多学点),并动态调整采样权重(少练简单题)
- 一句话比喻:“特长生培养法”:对表现特别好的允许“出格”发展,且根据难度动态调整练习量
GSPO(Group Sequence Policy Optimization)
- 全称:组序列策略优化
- 核心痛点:Token 级更新导致梯度方差大,容易让 MoE 模型训练崩溃
- 主要做法:按整段输出的序列级权重进行梯度更新,不再逐 Token 纠结好坏
- 一句话比喻:“整体打分法”:作文评分不按词扣分,而是读完全文给总评,避免断章取义
2. 简单例子说明(用“教学生写作文”来比喻)
假设你要训练一个学生(模型)写一篇关于“苹果”的作文。
场景:
学生写了 4 篇不同的作文(生成了一组数据)。
- 作文 A:写得很好(80分)
- 作文 B:写得一般(60分)
- 作文 C:写得跑题(20分)
- 作文 D:写得凑合(40分)
- 平均分:50分
1. GRPO(组相对策略优化)—— “跟同学比”
- 逻辑:GRPO 没有老师拿标准答案去批改(不需要 Critic 模型)。它只看这 4 篇作文的相对好坏。
- 操作:
- 算出平均分是 50 分。
- 作文 A (80分) 比平均分高 大幅奖励(学它!)。
- 作文 B (60分) 比平均分高一点 小幅奖励。
-
作文 C (20分) 比平均分低很多 大幅惩罚(别学它!)。
-
优点:省钱省力,不需要额外的“裁判”老师,显存占用少。
- 缺点:如果全班都很烂(都写0分),它可能也会在一堆烂作文里挑一个“相对好的”去学。
2. DAPO(解耦裁剪与动态采样)—— “重点培养与因材施教”
- 逻辑:DAPO 发现 GRPO 有时候太死板。比如作文 A 既然是天才之作,GRPO 会因为防止“步子迈太大”而限制对 A 的学习力度(Clipping)。DAPO 觉得这不行。
- 操作:
- Clip Higher(解耦裁剪):对于作文 A 这种明显优秀的,允许模型“大步”学习,不受常规限制。
-
Dynamic Sampling(动态采样):如果作文 C 和 D 这种错误太低级,以后就少练这种题,把精力集中在更有价值的样本上。
-
差异点:它是 GRPO 的进阶补丁,专门为了解决长思维链(CoT)中模型容易变“平庸”的问题。
3. GSPO(组序列策略优化)—— “看整体不看细节”
- 逻辑:GRPO 和 PPO 通常是盯着作文里的每一个词(Token)看。比如作文 C 虽然跑题,但里面用了几个好词,传统方法可能会错误地奖励这几个词。GSPO 认为这不对,烂作文就是烂作文。
- 操作:
- Sequence Level(序列级):它计算权重时,不再把作文拆成碎字,而是算一个几何平均数,给整篇作文定一个“基调”。
-
如果是烂作文,整篇文里的所有词都要受罚,不管你个别词用得多么华丽。
-
差异点:它主要解决的是稳定性问题。特别是在训练 MoE(混合专家模型)时,GRPO 那种逐字计算容易让模型精神分裂(梯度方差大),GSPO 这种“整体打包”算分的方式更稳。
3. 总结
- 如果你想省显存,快速把 DeepSeek-R1 这种推理模型跑起来 用 GRPO。
- 如果你在训练超长逻辑推理(如数学竞赛题),发现模型总是学不到位 尝试 DAPO。
- 如果你在训练 Qwen3 (MoE) 这种架构,发现训练过程很抖动、不收敛 用 GSPO。
相关标签
