【LLM】GSPO DAPO

如果说 DPO、PPO 是奠基者,GRPO(DeepSeek 带火)是让大模型推理能力爆发的超级引擎,那么 GSPODAPO 就是为了修复 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 的手术刀
    1. 直接踢掉 KL 散度约束 :DAPO 认为,为了练出绝顶聪明的推理模型,模型本来就应该与最初那个只会聊天的 Base 模型(参考模型)越行越远越好。强行限制 KL 散度纯属作茧自缚,于是直接移除。
    2. 引入 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 投入到万卡集群、去训练下一代万字长思考模型时,遇到了
"梯度爆炸""模型变傻不愿思考"**两个深水区的大坑,并亲手打上的硬核补丁。

相关推荐
fivebliss6 分钟前
取算存——模型容量、能耗指标和架构梳理
人工智能·性能优化·gpu算力
xiwc7 分钟前
Token 预算管理:长对话不崩溃的秘密
人工智能
何时梦醒15 分钟前
第一篇:项目概览 — 在浏览器里跑大模型,端侧 AI 的革命来了
前端·人工智能
何时梦醒15 分钟前
第二篇:工程化搭建 — Vite + React + TypeScript + TailwindCSS 全解析
前端·人工智能
橘子星20 分钟前
浏览器也能跑大模型:WebGPU + Transformers.js 本地运行 DeepSeek-R1
前端·人工智能
物联网软硬件开发-轨物科技24 分钟前
【轨物方案】从五维感知到一键顺控:箱变智能化不是一个传感器能解决的事
人工智能·科技·其他·机器人·开源
Swift社区27 分钟前
Python 开发环境怎么选?PyCharm、VS Code、Trae 谁更适合 AI 开发?
人工智能·python·pycharm
SLD_Allen33 分钟前
Kubernetes + Ray + Volcano:云原生AI训练调度体系
人工智能·云原生·kubernetes
七牛开发者42 分钟前
Codex 实践系列 Vol.04:用 Goal 和 Plan 管住一个长任务
java·数据库·人工智能·github·copilot
qq_267612891 小时前
从工具整合到AI协作:Gitee DevOps平台如何重塑企业研发全流程效能
人工智能·gitee·devops