屠龙技之强化学习对齐算法:PPO、GRPO、GSPO

图片

大家好,今天我们来聊一聊如何让大模型变得更“听话”,也就是模型对齐技术。

这个领域发展很快,出现了很多像 PPO、DPO、GRPO、GSPO 这样的名词,看起来很复杂。

我们顺着一条清晰的思路,把它们的关系捋顺,整个过程就是不断打磨一件工具,变得越来越好用。

为什么说是屠龙技?因为绝大部分人用不到,没有这个平台和机会去训练大模型!

1. 前言:大模型是怎样“炼”成的

在深入探讨 PPO 这些具体算法之前,我们先快速了解一下一个强大的语言模型通常经历的三个主要训练阶段,这能帮助我们理解它所处的环节:

  1. 预训练(Pre-training):这是最开始的“通识教育”阶段。模型会阅读互联网上几乎所有的公开文本(像维基百科、书籍、网页等),学习语言的规律、事实知识和基本的逻辑。这个阶段结束后,模型成了一个知识渊博但有点“野”,不知道如何与人有效沟通的“原始人”。

  2. 监督微调(SFT - Supervised Fine-Tuning):这是“行为规范”阶段。我们用一批高质量的“问题 - 标准答案”数据对来训练模型。目标是让模型学会如何遵循指令、以对话的形式回答问题。经过 SFT,模型从“原始人”变成了能听懂话、会做事的“实习生”。

  3. 对齐阶段(Alignment Stage):这是最后的“价值观”塑造阶段。光会做事还不够,我们希望模型的回答是负责任的、有用的、无害的。这个阶段通常使用强化学习(RL)方法,利用人类的偏好反馈来微调模型。我们接下来要讨论的 PPO、GRPO、GSPO 等算法,就工作在这个关键阶段。这一部分早些年仅仅是用来做“对齐”价值观,自从 DeepSeek-R1 的横空出世,让大家认识到了通过强化学习提高模型的能力兴许是一条正确的路径。

2. Instruct 模型和 Chat 模型

经常看到模型发布时会区分两种版本。

这其实就直接对应了我们上面讲的训练阶段。Instruct 模型通常指完成了 SFT 阶段、擅长执行明确指令的“实习生”;而 Chat 模型则是在 Instruct 模型的基础上,又经过了对齐阶段训练、更擅长进行流畅自然对话的“正式员工”。

现在很多模型团队,包括 Qwen、Llama 等,都倾向于将两种版本合并,直接发布一个统一的、经过完整对齐的“Chat”模型。

3. 第一站:PPO - 功能强大但因其“三体系统”而笨重

我们训练大模型,目标是让它回答问题又准又好。

怎么评判“好”呢?在对齐阶段,大家最开始想到了强化学习(RL),而 PPO 就是当时工业界最流行的强化学习算法。

PPO 之所以复杂,是因为它需要三个模型协同工作,像一个精密的“三体系统”。

  • PPO 是怎么工作的? 用一个比喻来理解这三个模型的角色:

    • 主模型(学生):负责生成回答
    • 奖励模型(评分裁判):负责给回答打分
    • 价值模型(助教):负责评估每个部分的价值
  • PPO 的问题是什么? 这个“三体系统”虽然功能强大,但运行起来非常“笨重”。首先,那个“价值模型”助教本身就和主模型差不多大,训练它、运行它,都需要消耗巨大的计算资源和内存。其次,强化学习的训练过程非常敏感,像开一辆手动挡的老爷车,需要很多经验丰富的老师傅(研究员)小心翼翼地调参数,否则很容易“翻车”(模型崩溃)。

4. 第二站:GRPO - 功能强大但因其“逻辑错误”而不稳定

既然 PPO 那么贵,大家自然会想:能不能简化一下?GRPO 就是一次非常聪明的尝试。

  • GRPO 是怎么工作的? GRPO 的核心想法是:我不需要那个昂贵的“价值模型”帮手了!我换一种方式来评判好坏。它的方法是“群体对比”。对于同一个问题,让模型生成好几个不同的回答(比如回答 A、B、C)。然后,它把这几个回答放在一起比较,看看哪个相对更好。这个比较和打分的工作,依然由**奖励模型(评分裁判)**来完成。这个想法很棒,因为它成功地甩掉了“价值模型”这个大包袱。

  • GRPO 的隐患是什么?——触及工程核心 GRPO 虽然聪明,但它在工程实现上犯了一个“逻辑错误”,这也是它不稳定的根源。这个错误与**“重要性权重(Importance Weight)”**的概念有关。

5. 第三站:GSPO - 继承 GRPO 优点,从工程核心上修正其缺陷

现在,轮到我们今天的主角 GSPO 登场了。

GSPO 看透了 GRPO 的问题,并给出了一个极其优雅的解决方案。

  • GSPO 是怎么工作的? GSPO 认为:“GRPO 的‘群体对比’思路非常好,保留!但它在 Token 级应用重要性权重的做法是错的,我修正它!”

先对比一下两者的做法:

5.1. GRPO 的做法(Token 级应用 - 微观管理)

GRPO 在计算最终用于更新模型的“损失值”时,是这样一步步操作的:

  1. 对每个生成的回答中的每个 Token 计算重要性权重
  2. 将这些微观的权重应用到每个 Token 上
  3. 这种方式导致训练不稳定,容易出现梯度爆炸或消失

5.2. GSPO 的做法(Sequence 级应用 - 整体评估)

GSPO 改变了策略,不再对每个 Token 单独应用权重,而是:

  1. 对整个回答序列进行整体评估
  2. 在序列级别应用重要性权重
  3. 这种方式更加稳定,避免了 Token 级权重带来的不稳定性
  • GSPO 的优势是什么? GSPO 继承了 GRPO 的优点,从工程核心上修正其缺陷,是目前最高效、最稳定的大模型强化学习方案之一。

6. 为什么不用 DPO?一句话总结 PPO、GRPO、GSPO 的优势

一个很火的算法叫 DPO。DPO 非常简洁高效,那为什么像 Qwen3 这样的顶级模型不直接用 DPO 呢?

答案在于**“性能天花板”**。

  • DPO 是“离线学习”:和 PPO 一样,也拥有一个人类偏好数据集,包含(问题、胜出回答、落败回答)这样的三元组。DPO 不需要训练一个独立的奖励模型,它直接使用这个偏好数据集,通过一个特殊的损失函数来微调 SFT 模型。通过这种简单的数学变换,将原本需要最大化奖励的目标,直接转换成了一个针对偏好数据的分类问题。它像一个埋头苦读的学生,学习材料就是一本固定的“好答案”和“坏答案”习题集。它可以把这本习题集研究得滚瓜烂熟,但它的知识边界被这本习题集框死了,无法创造出习题集之外的解法。

  • GSPO 是“在线探索”:是“生成→学习→优化→再生成→再学习→再优化”的持续迭代。这个不断迭代、自我提升的闭环,使得 GSPO 能够突破静态数据集的限制,持续探索和学习,从而达到比 DPO 更高的性能天花板。

对于 Qwen 团队来说,他们的目标是推动 AI 能力的极限,去解决那些最前沿、最复杂的问题。

这就要求模型必须具备持续学习和探索未知的能力。

因此,一个拥有更高性能天花板、支持在线学习的强化学习框架(GSPO),才是他们最终的选择。

希望这份笔记能帮助你理清思路,让你看到这些算法演进背后清晰的逻辑脉络。