
GSPO (Group Sequence Policy Optimization) -- 群组序列策略优化
系统梳理GSPO群组序列策略优化的核心原理,解析其如何通过序列级重要性比率与长度归一化从根本上修复GRPO的token级采样缺陷,解决MoE专家震荡与长序列方差累积问题,并探讨GSPO的局限与后续演进。
阅读文章ZHY's Blog
A UNIVERSE OF IDEAS · BY ZHANG HAOYI
让好奇心 点亮知识宇宙
在代码、模型与思想之间自由漫游。这里持续记录人工智能、机器学习、软件工程与成长实践,让每次阅读都成为一次新的发现。
ARTICLE NOTE
大模型强化学习对齐(RLHF)通过构建奖励模型与策略优化机制,将人类偏好转化为可量化的优化目标,解决生成式模型输出不可控、价值观偏差等问题。在这一领域,PPO、GRPO、DPO、DAPO与GSPO构成了从经典到前沿的完整技术谱系。
在前五篇对话中,我们沿着大模型强化学习对齐的技术演进脉络,逐一剖析了PPO、DPO、GRPO、DAPO和GSPO。这些方法并非孤立的”技术选项”,而是一条清晰的从”通用重器”到”专属利刃” 的进化之路:
| 篇章 | 核心主题 | 关键贡献 |
|---|---|---|
| 第一篇 | PPO | 信任域裁剪机制,奠定RLHF的稳定性基础 |
| 第二篇 | DPO | 用闭式解绕过强化学习,实现范式降维 |
| 第三篇 | GRPO | 组内相对比较替代价值网络,完成轻量化革命 |
| 第四篇 | DAPO | 四项工程优化,将GRPO打磨为工业级武器 |
| 第五篇 | GSPO | 序列级优化根治Token级缺陷,驯服MoE稳定性 |
本文将从12个核心维度出发,对这五种方法进行系统性解剖,并揭示其演进背后的底层逻辑——为什么某种方法在特定场景下必然被迭代?每次迭代到底解决了什么层次的矛盾?
在深入对比之前,我们先为每种算法建立”技术基因图谱”:
| 算法 | 诞生背景 | 核心哲学 | 解决的根问题 | 所属范式 |
|---|---|---|---|---|
| PPO | 传统RL的稳定性危机 | 带”刹车”的信任域优化 | 策略更新步长失控导致训练崩溃 | 在线-绝对价值 |
| DPO | RLHF工程复杂度过高 | 用闭式解绕过强化学习 | 四模型协同训练的算力鸿沟 | 离线-偏好分类 |
| GRPO | PPO价值网络成为算力瓶颈 | 用组内相对比较替代绝对预测 | Critic网络的显存与误差双杀 | 在线-相对比较 |
| DAPO | GRPO在长CoT中熵崩塌 | 四项工程修补让GRPO工业化 | 长思维链中的探索消亡与效率黑洞 | 在线-相对比较(增强) |
| GSPO | GRPO的Token级方差本质缺陷 | 优化粒度对齐奖励粒度 | 单次采样下的重要性比率失效 | 在线-序列级比较 |
核心机制:PPO通过概率比裁剪构建信任域约束,限制策略更新幅度,避免训练崩溃。
LCLIP(θ)=Et[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)]
其中:
关键设计:双模型架构(Actor + Critic),价值网络用于估计状态价值作为基线。工程上需同时维护4个大模型,资源消耗巨大。
改进动机:Critic网络训练存在两大痛点——价值函数估计误差会传导至策略更新;大模型场景下Value Model容易过拟合。
核心机制:对同一prompt采样G个回答,用组内均值和标准差将奖励归一化为优势值:
A^i,t=std({Rj})Ri−mean({Rj})
关键特征:对每个token独立计算重要性采样比ri,t(θ),这是GRPO与后续GSPO的关键分水岭。
JGRPO(θ)=Eq,{oi}i=1G[G1∑i=1G∣oi∣1∑t=1∣oi∣min(ri,t(θ)A^i,t,clip(ri,t(θ),1−ϵ,1+ϵ)A^i,t)]−βDKL(πθ∥πref)
核心洞察:传统的两阶段RLHF(奖励模型训练 + PPO策略优化)在数学上等价于一个可直接优化的单阶段目标。
损失函数:
LDPO(πθ;πref)=−E(x,yw,yl)∼D[logσ(βlogπref(yw∣x)πθ(yw∣x)−βlogπref(yl∣x)πθ(yl∣x))]
关键特性:单模型架构,无需训练独立的奖励模型和价值网络,将RLHF转化为二元分类问题。
四项核心改进:
性能表现:在AIME 2024上取得50分(对比DeepSeek-R1-Zero-Qwen-32B的47分),完整开源了代码、数据和配置。
问题诊断:GRPO在Token级计算重要性采样比,但每个Token只被采样一次,无法有效进行分布校正——这是重要性采样理论的误用。
核心创新:将重要性比率定义在序列似然层面:
si(θ)=(πθold(yi∣x)πθ(yi∣x))∣yi∣1=exp(∣yi∣1∑t=1∣yi∣logπθold(yi,t∣x,yi,<t)πθ(yi,t∣x,yi,<t))
关键突破:彻底解决了大规模MoE模型RL训练中的稳定性挑战,完全无需Routing Replay等复杂策略,已被HuggingFace TRL v0.20原生支持。
五种算法的核心差异速览
| 维度 | PPO | DPO | GRPO | DAPO | GSPO |
|---|---|---|---|---|---|
| 模型数 | 4 | 2 | 3 | 3 | 3 |
| 价值网络 | ✅ 需要 | ❌ | ❌ | ❌ | ❌ |
| 奖励模型 | ✅ 需要 | ❌ | ✅ 需要 | ✅ 需要 | ✅ 需要 |
| 优化粒度 | Token | 序列 | Token | Token | 序列 |
| 裁剪方式 | 对称 | 无 | 对称 | 非对称 | 对称(序列级) |
| 训练范式 | 在线 | 离线 | 在线 | 在线 | 在线 |
| 探索能力 | 强 | 无 | 中 | 强 | 中强 |
| 长序列适应性 | 差 | 一般 | 差 | 优 | 优 |
| MoE兼容性 | 差 | 中 | 差(需Routing Replay) | 差 | 优 |
| 超参数敏感度 | 极高 | 中 | 高 | 中高 | 中 |
| 可复现性 | 中 | 高 | 中 | 高 | 高 |
| 可扩展性 | 易饱和 | 数据受限 | 易饱和 | 持续 | 持续 |
| 算法 | 需维护的模型 | 资源策略 |
|---|---|---|
| PPO | Actor + Critic + RM + Ref(4个) | 重资产,每个模型都是参数量级相同的大模型 |
| DPO | Actor + Ref(2个) | 轻量化,通过数学推导干掉RM和Critic |
| GRPO | Actor + RM + Ref(3个) | 去掉Critic,显著降低显存占用 |
| DAPO | Actor + RM + Ref(3个) | GRPO基础上增加动态采样,略有额外生成成本 |
| GSPO | Actor + RM + Ref(3个) | 模型数量不变,但计算更稳定,训推分离友好 |
深度分析:从PPO的4模型到DPO的2模型,这是数学层面的降维打击;从PPO的4模型到GRPO/GSPO的3模型,这是算法层面的简化。DPO虽轻,但牺牲了在线探索;GRPO系列用3模型保留了在线能力,是”性价比最优解”。
| 算法 | 优势来源 | 是否需要价值网络 |
|---|---|---|
| PPO | GAE:A^t=∑l=0∞(γλ)lδt+l | 是,需训练Critic |
| DPO | 不计算优势,直接优化偏好分类 | 否 |
| GRPO | 组内归一化:std(R)Ri−mean(R) | 否 |
| DAPO | 同GRPO,但动态采样保证组内有差异 | 否 |
| GSPO | 同GRPO的组内归一化优势 | 否 |
深度分析:PPO试图预测”未来”(价值函数),这是一种前向估计,天生存在误差和偏差。GRPO系列则彻底转向后向比较——既然未来难以预测,不如直接看当下这组结果在群体中的相对位置。这种”相对主义”哲学极大地简化了问题。
这是GRPO与GSPO最本质的差异:
| 算法 | 优化粒度 | 重要性比率形式 | 方差特征 |
|---|---|---|---|
| PPO | Token级 | ri,t(θ)=πθ(ot)/πold(ot) | 方差随序列长度线性累积 |
| DPO | 序列级 | 不涉及比率,直接优化似然差异 | 序列级分类损失,方差较低 |
| GRPO | Token级 | 同PPO | 高方差,单次采样无法有效分布校正 |
| DAPO | Token级(但用Token-Level Loss聚合) | 同GRPO | 通过动态采样和Clip-Higher缓解,但本质未变 |
| GSPO | 序列级 | si(θ)=(πθ(yi)/πold(yi))1/∥yi∥ | 低方差,误差在几何平均中相互抵消 |
深度分析:GRPO/DAPO坚守Token级优化,是希望做细粒度信用分配。但问题在于,当每个Token只被采样一次时,这种”细粒度”只是一种幻觉——它实际上引入了巨大的噪声。GSPO的序列级优化,本质上是承认了奖励信号在序列级别的稀疏性,用”粗粒度但高信噪比”的优化替代了”细粒度但低信噪比”的优化。
| 算法 | 裁剪方式 | 裁剪区间 | 设计哲学 |
|---|---|---|---|
| PPO | Token级对称裁剪 | [1−ϵ,1+ϵ],ϵ=0.2 | 保守的等距约束 |
| DPO | 无裁剪(监督学习) | 不适用 | 无需稳定性刹车 |
| GRPO | Token级对称裁剪(同PPO) | [1−ϵ,1+ϵ] | 继承PPO的保守设计 |
| DAPO | Token级非对称裁剪 | [1−ϵlow,1+ϵhigh],ϵhigh>ϵlow | Clip-Higher:给探索token留出更大空间 |
| GSPO | 序列级对称裁剪 | [1−ϵ,1+ϵ](作用于整个序列) | “一刀切”:整个序列出格则全部抑制 |
深度分析:裁剪机制从PPO到DAPO的演进,反映了研究者对”探索”态度的变化——PPO保守(等距裁剪),DAPO激进(非对称,上界更大),而GSPO则因为粒度的改变,裁剪的含义完全变了:它不再抑制个别Token,而是抑制整个序列的梯度。
| 算法 | 训练范式 | 数据来源 | 探索能力 |
|---|---|---|---|
| PPO | 在线(On-policy) | 当前策略采样 | 强(但依赖熵正则化) |
| DPO | 离线(Offline) | 静态偏好数据集 | 无(完全依赖历史数据) |
| GRPO | 在线 | 当前策略采样 | 中等(组内采样,但熵易崩塌) |
| DAPO | 在线 | 当前策略采样 + 动态过滤 | 强(Clip-Higher打破熵崩塌) |
| GSPO | 在线 | 当前策略采样 | 中等偏强(序列级优化方差低,稳定探索) |
深度分析:DPO的离线特性是其最大的效率优势,也是最致命的局限——它无法生成训练中”未曾见过”的优秀回答。而在线算法可以在训练中持续进化,这是它们在复杂推理任务中表现卓越的根本原因。
| 算法 | 是否需要独立RM | 数据形式 | RM质量问题的影响 |
|---|---|---|---|
| PPO | 是 | 标量奖励 | 极高(RM误差直接传导) |
| DPO | 否(隐式RM) | 成对偏好 (yw,yl) | 高(数据质量决定上限) |
| GRPO | 是 | 标量奖励 | 高(组内归一化不能消除RM偏差) |
| DAPO | 是(或规则验证) | 标量奖励(或0/1正确性) | 中等(动态采样可过滤部分噪声) |
| GSPO | 是(或规则验证) | 标量奖励 | 中等(稳定的梯度对RM偏差更鲁棒) |
| 算法 | 长度处理机制 | 长序列适应性 | 核心问题 |
|---|---|---|---|
| PPO | GAE + 价值函数 | 差 | Critic误差随序列长度指数增长 |
| DPO | 监督损失 | 一般 | 长度偏差问题突出 |
| GRPO | 硬截断 | 差 | 熵崩塌 + 方差累积 |
| DAPO | 渐进式惩罚(Overlong Reward Shaping) | 优 | 用软约束替代硬截断 |
| GSPO | 长度归一化(几何平均) | 优 | 几何平均天然消减长序列方差 |
| 算法 | MoE兼容性 | 是否需要特殊stabilization | 根本原因 |
|---|---|---|---|
| PPO | 差 | 需复杂策略 | Critic + MoE路由双重不稳定 |
| DPO | 中等 | 相对稳定 | 离线监督,不涉及在线路由波动 |
| GRPO | 差 | 必须依赖Routing Replay | Token级优化导致专家震荡 |
| DAPO | 差(同GRPO) | 仍需Routing Replay | 未改变GRPO的Token级本质 |
| GSPO | 优 | 完全无需 | 序列级优化对单Token路由不敏感 |
深度分析:这是GSPO在MoE时代最具战略价值的优势。随着MoE成为千亿参数模型的主流架构(如Qwen3、Grok),GRPO的”专家震荡”问题成了致命伤。GSPO仅通过将优化粒度从Token提升到序列,就彻底规避了这个问题——这是算法设计层面的四两拨千斤。
| 算法 | 关键超参数 | 敏感度 | 调优难度 |
|---|---|---|---|
| PPO | ϵ,βKL,γ,λ,lr | 极高 | 地狱级,多参数相互耦合 |
| DPO | β | 中等 | 简单(仅需调β) |
| GRPO | ϵ,βKL,G | 高 | 较难(G与ϵ耦合) |
| DAPO | ϵlow,ϵhigh,G,overlong_params | 中高 | 较难(非对称裁剪增加调参维度) |
| GSPO | ϵ,G | 中等 | 比GRPO简化(消减了KL超参) |
| 算法 | 开源实现 | 可复现性 | 社区采用度 |
|---|---|---|---|
| PPO | 广泛(vLLM, TRL, NeMo) | 中等 | 极高(事实标准) |
| DPO | 广泛(TRL原生支持) | 高 | 极高(入门首选) |
| GRPO | 广泛(verl, TRL) | 中等 | 高 |
| DAPO | 完整开源(代码+数据+配置) | 高 | 快速上升 |
| GSPO | 已集成至HuggingFace TRL v0.20 | 高 | 快速上升 |
| 算法 | 算力增加时的性能趋势 | 理论分析 |
|---|---|---|
| PPO | 易饱和(价值网络成为瓶颈) | 有理论收敛性证明 |
| DPO | 受限于数据量(离线) | 监督损失,理论清晰 |
| GRPO | 易饱和(熵崩塌限制探索) | U-统计量视角,渐近性质良好 |
| DAPO | 持续提升(50%步数达到SOTA) | 结合了工程与理论 |
| GSPO | 持续提升(随算力增加成绩爬升) | 困惑度-熵等价性,理论支撑 |
| 算法 | 最致命的缺陷 | 后续方案的针对性修复 |
|---|---|---|
| PPO | 资源消耗(4模型)+ Critic预测误差 | GRPO去掉了Critic |
| DPO | 离线无探索,无法发现新策略 | 在线算法(GRPO等)保留探索 |
| GRPO | Token级单次采样方差爆炸 + 熵崩塌 | DAPO(工程)与GSPO(算法)分两路解决 |
| DAPO | 仍未解决Token级本质缺陷,需Routing Replay(MoE) | GSPO从算法层面根除 |
| GSPO | 序列级硬裁剪”一刀切” + 潜在长度坍塌 | SAPO(软裁剪)、LUSPO(长度无偏)正在解决 |
这一层是分岔演进,代表了两种不同的解决问题哲学:
DAPO路线(工程修补派) :承认GRPO的框架,通过动态采样、Clip-Higher、Token-Level Loss、Overlong Shaping四项工程优化,把GRPO的短板逐个补齐。这是一场”外科手术式”的精细修补。
GSPO路线(算法重构派) :认为GRPO的根本问题在于Token级优化与序列级奖励在本质上不匹配。于是,GSPO将重要性比率从Token级提升到序列级,用几何平均消减方差,从根本上消除了不稳定性。这是一次”基因编辑式”的底层重构。
两条路线各有千秋:DAPO修补后性能亮眼(AIME 50分),且对密集模型友好;GSPO则从根本上驯服了MoE的不稳定性,为千亿稀疏模型铺平了道路。
按顺序完成这组文章,循序渐进地掌握主题
发现错误、内容过时或有改进想法?欢迎告诉我
根据本文分类与标签,为你推荐可能感兴趣的内容

系统梳理GSPO群组序列策略优化的核心原理,解析其如何通过序列级重要性比率与长度归一化从根本上修复GRPO的token级采样缺陷,解决MoE专家震荡与长序列方差累积问题,并探讨GSPO的局限与后续演进。
阅读文章
系统梳理DAPO解耦裁剪与动态采样策略优化的核心技术原理,解析Clip-Higher、Dynamic Sampling、Token-Level Loss与Overlong Reward Shaping四项创新如何解决GRPO在长CoT场景下的熵崩塌与训练不稳定问题,将GRPO从实验室算法打磨为工业级系统。
阅读文章
系统梳理GRPO群体相对策略优化的核心原理、组内相对优势估计机制与训练流程,解析其如何通过移除价值网络实现显存占用降低40%以上,并对比GRPO与PPO、DPO的差异及各自适用场景。
阅读文章请使用微信扫描二维码分享
当前文章会保持在原页面