GRPO

后训练 推理模型

GRPO(Group Relative Policy Optimization)

从 PPO 简化而来,去掉了 value function,用组内 z-score 替代 advantage。是目前推理模型训练(DeepSeek R1、Qwen3)的核心算法。

为什么从 RLHF 到 RLVR

RLHF 有一个根本瓶颈:过优化。Reward model 是近似的,优化过头模型会钻空子,而不是真的变好。

RLVR(Reinforcement Learning from Verifiable Rewards)的思路:换到能精确验证答案的领域——数学题答案对错、代码能否通过测试用例。Reward 不是模型打分,而是直接检查。没有"reward model 近似误差",理论上可以无限优化。

GRPO 的核心

PPO 的复杂之处在于 value function:需要额外训一个 critic 网络,内存占用翻倍,训练不稳定。

GRPO 去掉 value function,改用组内相对比较:对同一问题采样 G 个回答,用这 G 个回答的奖励来估计 baseline:

advantage_i = (r_i - mean({r_1,...,r_G})) / std({r_1,...,r_G})

对比 PPO:advantage = R - V(s),其中 V(s) 是 value function 的输出。GRPO 用组内均值替代 V(s),不需要额外的模型。

实现极简,完整实现只需要几十行代码(nano-aha-moment 项目)。

warning: GRPO 的数学问题 除以 std 在 RL 理论上不是有效的 baseline,会引入梯度偏差(Liu et al. 2025)。无偏版本更接近 REINFORCE with leave-one-out。另外:

  • std 缩放 upweight 太简单(全对/全错)和太难的问题,带来长度偏差(模型倾向于生成更长的 CoT,不一定因为推理更好)
  • DeepSeek R1 观察到的 CoT 长度增长,部分源于这个偏差,而非真正的"思考能力提升"

DeepSeek R1:GRPO 的标志性应用

R1-zero(纯 GRPO,无 SFT 初始化):

  • Base model:DeepSeek-V3
  • Reward:准确性(答案对/错)+ 格式奖励(必须用 <think> 标签)
  • 结果:模型自发学会了长链推理,出现"aha moment"(开始回头检查自己的推理)
  • 性能接近 OpenAI o1,但低于完整 R1

warning: “Aha moment” 被部分高估 后续分析(Dr. GRPO)发现:CoT 长度增长部分来自 GRPO 的 length bias,不一定是推理能力的本质变化;base model 已有类似回检行为。

R1 完整 pipeline(4 阶段)

graph LR
    A[DeepSeek-V3] --> B[Reasoning SFT\nR1-zero 生成的 CoT 数据]
    B --> C[GRPO\n+ language consistency reward]
    C --> D[大规模 SFT\n推理 600k + 通用 200k]
    D --> E[RLHF\nGRPO + 偏好数据]

R1-zero vs R1 的关键差别:R1 用 SFT 做了热启动,避免了模型在纯 RL 阶段的不稳定,并加了语言一致性奖励(防止混语言现象)。

蒸馏:用 R1 生成 800k CoT traces,蒸馏到 Qwen 2.5 7B/14B。7B 蒸馏版在数学推理上远超同等大小的 GRPO 训练版本——蒸馏大模型的推理路径比小模型自己探索更高效。

失败的方向:PRM(过程奖励模型)和 MCTS 均未带来额外提升,R1 团队放弃了这两个方向。

Kimi K1.5:另一个成功配方

与 R1 同期,独立验证了 RLVR 路线:

  • 数据课程:按难度排序,优先训练模型还不会的(success rate 低的题),避免重复"简单题"
  • RL 算法:基于 DPO 推导的策略梯度(有 KL 正则化),而非 GRPO
  • 长度控制:对每个 batch 加 length reward——正确答案越短越好,避免 GRPO 的长度偏差

Qwen3:极少数据的 RLVR

  • 仅用 3995 个高质量样本做 GRPO,效果超过 o1 和 R1
  • 数据质量极高:难度筛选 + 去掉无 CoT 也能答对的 + 手工验证推理过程
  • 揭示了 RLVR 的数据效率:质量远比数量重要

tip: 关键结论 3995 条 vs R1 的数百万条:数据量相差 100 倍以上,性能相当甚至更好。RLVR 对数据质量极度敏感。

Thinking Mode Fusion

Qwen3 引入的技术,让同一个模型支持"思考模式"和"直接回答模式":

  • 训练时混合 thinking 数据(带 <think>...</think> 标签)和 non-thinking 数据
  • 推理时用特殊 token 控制是否输出 CoT

这解决了"推理模型只能慢速输出"的问题:简单问题直接回答,复杂问题才展开推理。

Agent RL:GRPO + 多轮工具交互

GRPO 可以扩展到 agent 场景——每条 rollout 不再是一次性生成,而是多轮 trajectory(生成 → tool call → 观察 → 继续生成)。关键工程问题:

  • Mask 构造:只对模型生成的 token 计算梯度,tool 返回的 token mask=0
  • Reward Shaping:把"会用工具"拆成格式分、tool 对齐分、GT 验证分等细粒度信号
  • 权重同步:训练侧和推理引擎之间的模型权重如何高效同步

minimind 项目有完整的教学级实现(见 minimind-agent-rl-2026-04)。

RL 系统挑战

RLVR 的工程复杂度远超 SFT:

  • On-policy:每轮需要生成大量 rollout(慢),训练和推理框架要频繁切换
  • 长 CoT 不均匀:同一个 batch 里不同样本的序列长度差异极大,调度困难
  • 显存压力:policy model + reference model + rollout buffer 同时在显存
  • Agent 串行依赖:多轮 trajectory 中每轮依赖上一轮的 tool 返回,无法跨轮并行,rollout 占训练时间 70-80%

Kimi 公开了混合 training/inference 集群设计,是目前少数有 RL infra 细节公开的案例。

相关来源

  • cs336-lecture16-rlvr:GRPO 推导、R1/Kimi/Qwen3 案例研究
  • cs336-lecture15-rlhf:PPO 背景,与 GRPO 的对比
  • minimind-agent-rl-2026-04:Agent RL 实现,GRPO 在多轮工具调用场景的工程落地