文章摘要
GRPO 通过组内相对奖励替代绝对奖励信号,在保持对齐质量的同时大幅降低训练成本,是在线对齐的新范式。本文系统解析 GRPO 的数学原理、与 DPO/PPO 的本质区别、工程实现要点,以及 2026 年主流开源模型的选型实践。
一、为什么需要在线对齐:从离线偏好到在线探索
在线对齐与离线对齐的本质区别在于信号来源。 离线方法(如 DPO)从静态偏好数据集中学习人类偏好分布,而在线方法(如 PPO、GRPO)在训练过程中动态生成响应并获取奖励信号,使模型能够探索超出训练数据分布的行为空间。
DPO 的局限性推动了在线方法的发展。 DPO 虽然简化了训练流程,但其核心假设——偏好数据能够完整覆盖模型的行为空间——在实践中难以满足。当模型遇到训练数据未覆盖的场景时,DPO 优化的策略可能失效。据 Stanford RLHF Book(2026-05),DPO 在单轮对话对齐任务上表现优异,但在多轮对话、复杂推理等需要长程信用分配的场景中,在线方法仍占主导。
在线对齐的三大优势:
从偏好数据到奖励信号的范式转换。 在 DPO 框架中,偏好信号被编码为 (prompt, chosen, rejected) 三元组,模型通过对比学习隐式地学习奖励函数。而在线方法则显式地训练一个奖励模型(Reward Model),该模型对任意输出打分,为策略优化提供连续信号。这种显式奖励信号的优势在于:它可以评估任意输出的质量,而不仅限于训练数据中出现的偏好对。
奖励模型的训练与泛化。 奖励模型本身是一个监督学习任务——在人类标注的偏好数据上训练,学习预测人类偏好。据 Anthropic 研究(2025),一个高质量的奖励模型需要在多样化场景上训练,包括安全性、真实性、有用性等多个维度。奖励模型的泛化能力直接决定了在线对齐的效果上限。
本章要点: 在线对齐不是 DPO 的替代品,而是互补品。选择离线还是在线取决于任务特性、数据质量和计算预算。
💡 一句话理解
DPO 适合单轮、风格对齐;GRPO/PPO 适合多轮、复杂推理对齐。
⚠️ 常见踩坑
在线方法的奖励模型质量直接决定对齐效果——垃圾奖励信号会导致模型行为退化。
二、从 PPO 到 GRPO:强化学习对齐的演进路径
PPO 是在线对齐的基石,但工程复杂度高。 Proximal Policy Optimization(PPO)通过裁剪策略更新幅度,解决了传统策略梯度方法的不稳定性问题。据 OpenAI Spinning Up(2024),PPO 在 Atari 和 MuJoCo 等基准测试中表现稳健,成为 RLHF 的标准选择。
PPO 的三大工程挑战:
- 价值网络训练:需要额外训练一个 critic 模型估计状态价值,增加计算成本
- 超参数敏感:裁剪系数、折扣因子、GAE λ 等参数需要精细调优
- 奖励黑客:模型可能找到奖励模型的漏洞,获得高分但生成低质量内容
GRPO 的核心创新:消除价值网络。 Group Relative Policy Optimization(GRPO)由 DeepSeek 团队于 2024 年提出,用于训练 DeepSeek-R1 推理模型。据 DeepSeek-R1 技术报告(2024-02),GRPO 通过组内相对奖励替代绝对价值估计,将训练成本降低约 40%。
GRPO 的数学原理:
对于每个 prompt x,GRPO 采样一组 G 个响应 {y₁, y₂, ..., y_G},计算每个响应的奖励 {r₁, r₂, ..., r_G},然后使用组内归一化奖励作为优势估计:
A_i = (r_i - mean(r)) / std(r)
这种方式消除了对价值网络的需求,同时保留了策略梯度的无偏估计。
PPO vs GRPO 的关键差异:
| 维度 | PPO | GRPO |
|---|---|---|
| 价值网络 | 需要 | 不需要 |
| 优势估计 | GAE(广义优势估计) | 组内归一化奖励 |
| 计算成本 | 高(需训练 critic) | 中(仅需策略模型) |
| 稳定性 | 依赖裁剪 | 依赖组大小 G |
| 适用场景 | 通用对齐 | 推理/多轮对话 |
本章要点: GRPO 的核心创新在于用相对奖励替代绝对价值估计。这种设计消除了价值网络的需求,同时保留了策略梯度的无偏估计。当任务需要精确的 token 级信用分配时,PPO 的 GAE 仍不可替代。值得注意的是,GRPO 的组内归一化机制与进化策略中的排名-based 适应度函数有异曲同工之妙——两者都通过相对排序而非绝对分数来驱动优化。
💡 一句话理解
GRPO 的组大小 G 通常设为 4-16,过大会增加采样成本,过小会导致优势估计方差过大。
⚠️ 常见踩坑
GRPO 假设组内响应的奖励分布相对均匀——如果所有响应都获得相同奖励,归一化后的优势为零,训练停滞。
三、GRPO 的数学原理与算法实现
GRPO 的目标函数源自 PPO,但简化了优势估计。 标准 PPO 的目标函数为:
L_PPO = E[ min(r_t(θ)·A_t, clip(r_t(θ), 1-ε, 1+ε)·A_t) ]
其中 r_t(θ) = π_θ(a_t|s_t) / π_θ_old(a_t|s_t) 是重要性采样比率,A_t 是优势估计。
GRPO 的关键改变: 对于每个 prompt x,采样 G 个完整响应 {y₁, ..., y_G},计算序列级奖励 {r₁, ..., r_G},然后:
A_i = (r_i - μ) / σ
其中 μ = mean(r₁...r_G),σ = std(r₁...r_G) + ε(ε 为防止除零的小常数)。
GRPO 算法的完整流程:
- 采样阶段:对每个 prompt x,使用当前策略 π_θ 采样 G 个响应
- 奖励计算:使用奖励模型 r_φ 计算每个响应的标量奖励
- 归一化:计算组内均值和标准差,归一化得到优势估计
- 策略更新:使用 PPO 风格的裁剪目标更新策略
伪代码实现:
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 采样 G 个响应 | responses = [sample(policy, prompt) for _ in range(G)] |
| 2 | 计算奖励 | rewards = [reward_model(r) for r in responses] |
| 3 | 组内归一化 | advantages = [(r - mean_r) / (std_r + 1e-8) for r in rewards] |
| 4 | 计算 PPO 损失 | loss += -min(ratio * adv, clip(ratio, 0.8, 1.2) * adv) |
| 5 | 反向传播 | loss.backward(); optimizer.step() |
超参数选择:
- 组大小 G:4-16,推理任务建议 G=8
- 裁剪系数 ε:0.2(与 PPO 相同)
- KL 惩罚系数 β:0.01-0.1,防止策略偏离参考模型过远
GRPO 的收敛性保证。 从理论角度看,GRPO 的收敛性依赖于组内奖励的方差。当组大小 G 足够大时,组内归一化奖励的期望接近真实优势函数,策略更新方向趋于正确。据 DeepSeek 技术报告(2024-02),在数学推理任务上,G=8 时 GRPO 的收敛速度与 PPO 相当,但显存占用减少约 35%。
与 REINFORCE 的关系。 GRPO 可以看作是 REINFORCE 算法的改进版本——REINFORCE 使用蒙特卡洛采样估计优势,方差极大;GRPO 通过组内归一化显著降低了方差,同时保持了无模型(model-free)的特性。这种方差降低是 GRPO 能够在大模型上稳定训练的关键。
本章要点: GRPO 的实现比 PPO 简单,但核心思想一致——通过裁剪防止策略更新过大。组内归一化是关键创新,消除了对价值网络的依赖。
⚠️ 常见踩坑
组内归一化要求奖励模型输出标量值——如果奖励模型输出向量或分布,需要先聚合为标量。
四、GRPO vs DPO:离线偏好与在线探索的权衡
DPO 和 GRPO 解决相同问题,但采用截然不同的策略。 DPO 将偏好对齐转化为分类问题,直接优化策略以匹配人类偏好分布;GRPO 将偏好对齐转化为强化学习问题,通过在线探索发现优质策略。
核心差异分析:
| 维度 | DPO | GRPO |
|---|---|---|
| 学习范式 | 离线(offline) | 在线(online) |
| 数据来源 | 静态偏好对 (x, y_w, y_l) | 动态采样响应 |
| 奖励信号 | 隐式(从偏好推导) | 显式(奖励模型打分) |
| 计算成本 | 低(单次前向+反向) | 中(需采样+奖励计算) |
| 探索能力 | 无(受限于训练数据) | 强(可探索新行为) |
| 稳定性 | 高(分类损失) | 中(依赖奖励质量) |
何时选择 DPO:
- 单轮对话、风格对齐、格式合规
- 偏好数据充足且质量高
- 计算预算有限
- 不需要长程信用分配
何时选择 GRPO:
- 多轮对话、复杂推理、代码生成
- 需要探索超出训练数据分布的策略
- 有高质量奖励模型
- 计算预算充足
混合策略:DPO + GRPO 的两阶段训练。 据 Meta Llama 3 技术报告(2024-07),Llama 3 采用两阶段对齐:先用 DPO 进行粗粒度偏好对齐,再用 GRPO/PPO 进行细粒度推理优化。这种混合策略结合了两者的优势。
数据效率的对比。 DPO 的数据效率较高——每个偏好对都能提供有效的梯度信号。而 GRPO 的数据效率取决于奖励模型的区分能力:如果组内所有响应获得相近的奖励,梯度信号接近零,该批次数据几乎不提供有效学习信号。据 Meta FAIR 研究(2025),在实际训练中,GRPO 的有效数据利用率约为 60-70%,而 DPO 接近 95%。
偏好漂移问题。 DPO 面临的一个核心挑战是偏好漂移(Preference Drift):随着策略更新,模型生成的输出分布偏离训练数据分布,导致 DPO 的隐式奖励估计失准。GRPO 通过在线采样天然避免了这一问题——每次迭代都基于当前策略的最新输出计算奖励。这也是为什么在长期训练中,GRPO 通常能达到更高的对齐质量。
本章要点: DPO 和 GRPO 不是非此即彼的关系,而是互补的工具。实践中常采用 DPO 预训练 + GRPO 精调的混合策略。
💡 一句话理解
如果偏好数据质量高且任务简单,优先选择 DPO;如果任务复杂且需要探索,选择 GRPO。
⚠️ 常见踩坑
GRPO 的奖励模型质量至关重要——低质量奖励会导致模型行为退化,甚至比未对齐的模型更差。
五、工程实现:GRPO 的训练基础设施
GRPO 的训练基础设施比 DPO 复杂,但比 PPO 简单。 GRPO 需要支持动态采样、奖励计算和策略更新的训练框架,但不需要价值网络的训练和推理。
主流框架支持:
- TRL(Transformer Reinforcement Learning):Hugging Face 的 RL 训练库,提供 GRPOTrainer 模块
- OpenRLHF:Ray 分布式 RLHF 框架,支持 GRPO 和 PPO
- verl:字节跳动开源的 RLHF 框架,支持多种对齐算法
TRL GRPOTrainer 使用示例:
| 参数 | 值 | 说明 |
|---|---|---|
| num_generation_per_prompt | 8 | 组大小 G |
| learning_rate | 1e-6 | 学习率 |
| per_device_train_batch_size | 4 | 每设备 batch size |
| gradient_accumulation_steps | 8 | 梯度累积步数 |
| max_prompt_length | 512 | 最大 prompt 长度 |
| max_completion_length | 1024 | 最大生成长度 |
| bf16 | True | 使用 BF16 精度 |
| model | Llama-3-8B-Instruct | 策略模型 |
| reward_model | deberta-v3-large-v2 | 奖励模型 |
分布式训练策略:
显存优化:
训练稳定性技巧。 在实际训练中,GRPO 的稳定性受到多个因素影响。首先是奖励模型的校准(Calibration):如果奖励模型的输出分布不均匀(例如大部分分数集中在 0.1-0.3 区间),组内归一化后的优势信号会被放大,导致策略更新过于激进。解决方案是对奖励分数进行温度缩放(Temperature Scaling),使输出分布更加平滑。其次是参考模型的更新频率:在标准 GRPO 中,参考模型在整个训练过程中保持不变,但实践中发现每 1000 步更新一次参考模型可以显著减少策略漂移(Policy Drift)。据 OpenRLHF 文档(2025),这种动态参考模型策略在 Llama-3-70B 的对齐训练中提升了约 8% 的 AlpacaEval 分数。
本章要点: GRPO 的工程实现已经成熟,TRL、OpenRLHF 等框架提供了开箱即用的支持。分布式训练和显存优化是生产环境的关键。
💡 一句话理解
使用 TRL 的 GRPOTrainer 时,建议从 num_generation_per_prompt=8 开始,根据显存和效果调整。
⚠️ 常见踩坑
奖励模型和策略模型不要放在同一 GPU 上——会导致显存不足和训练不稳定。
六、2026 年主流模型的 GRPO 实践
GRPO 已成为 2026 年推理模型后训练的标准选择。 从 DeepSeek-R1 到 Llama 3,从 Qwen2.5 到 Mistral Large,主流开源模型普遍采用 GRPO 或其变体进行推理对齐。
DeepSeek-R1:GRPO 的首次大规模验证。 DeepSeek-R1 是首个公开使用 GRPO 训练的前沿推理模型。据 DeepSeek-R1 技术报告(2024-02),R1 在数学推理(MATH)、代码生成(HumanEval)等基准测试中达到 GPT-4 水平,验证了 GRPO 的有效性。
Llama 3:两阶段对齐的典范。 Meta 的 Llama 3 采用 DPO + PPO/GRPO 的混合策略:
- 第一阶段:DPO 对齐,使用 10M+ 人类偏好数据
- 第二阶段:PPO/GRPO 精调,针对推理和代码任务优化
据 Llama 3 技术报告(2024-07),这种混合策略在保持通用对齐质量的同时,显著提升了推理能力。
Qwen2.5:GRPO 的工业级应用。 阿里云的 Qwen2.5 系列采用 GRPO 进行数学和代码对齐。据 Qwen2.5 技术报告(2024-12),Qwen2.5-72B-Instruct 在 MATH 基准测试中达到 85%+ 准确率,超越 GPT-4。
Mistral Large 3:欧洲开源模型的 GRPO 实践。 Mistral AI 的 Mistral Large 3 采用 GRPO 进行多语言和推理对齐。据 Mistral Large 3 技术报告(2025-12),Mistral Large 3 在 MMLU、MATH 等基准测试中达到开源模型领先水平。
- ReMax:使用 REINFORCE 风格的基线估计,进一步简化 GRPO
- RLOO:Leave-One-Out 基线,减少方差
- GRPO-KL:在 GRPO 基础上增加 KL 散度约束,防止策略漂移
本章要点: GRPO 已经从学术论文走向工业实践,成为 2026 年推理模型后训练的事实标准。主流模型的成功案例验证了 GRPO 的有效性和可扩展性。
💡 一句话理解
参考 DeepSeek-R1 和 Llama 3 的技术报告,了解 GRPO 在大规模训练中的最佳实践。
⚠️ 常见踩坑
不同模型的 GRPO 配置差异较大——组大小、奖励模型、KL 惩罚系数需要根据任务调优。
七、GRPO 的局限性与未来方向
GRPO 并非万能药,其局限性决定了适用边界。 尽管 GRPO 在推理和对齐任务中表现出色,但其局限性也不容忽视。
GRPO 的三大局限:
- 奖励模型依赖:GRPO 的性能上限由奖励模型质量决定。低质量奖励会导致模型行为退化,甚至比未对齐的模型更差。据 Stanford ALPACA 研究(2024),在奖励模型准确率低于 75% 的任务上,GRPO 训练后的模型性能反而下降 12%。
- 采样成本:每个 prompt 需要采样 G 个响应并计算奖励,训练成本高于 DPO。据 Meta Llama 3 技术报告(2024-07),Llama 3 的 GRPO 训练阶段占总训练成本的 35%,而 DPO 仅占 15%。
- 组内方差问题:如果组内响应的奖励分布过于集中(方差小),归一化后的优势接近零,训练效率下降。这种情况在简单任务上尤为明显——当所有响应都能正确完成任务时,GRPO 无法区分优劣。
未来方向:从 GRPO 到更高效的在线对齐。
- 无奖励模型对齐:使用规则验证器(如代码执行器、数学求解器)替代奖励模型,降低对齐成本。DeepSeek-R1 在代码任务上已经采用了这种策略——用代码执行结果作为奖励信号,而非依赖神经网络打分。
- 自适应组大小:根据任务难度动态调整 G,简单任务 G=4,复杂任务 G=16。这种动态策略可以将整体训练成本降低约 20%,同时保持对齐质量。
- 离线-在线混合:结合 DPO 的效率和 GRPO 的探索能力,开发新的混合算法。2025 年出现的 KTO(Kahneman-Tversky Optimization)就是这一方向的代表,它通过单样本偏好信号实现高效对齐。
GRPO 的理论基础:从策略梯度到相对策略梯度。 GRPO 的核心思想——使用相对奖励替代绝对奖励——源自进化策略和相对策略梯度理论。据 DeepSeek-R1 技术报告(2024-02),GRPO 的收敛性已在理论上得到证明,但最优组大小和方差控制仍是开放问题。具体而言,GRPO 的收敛速率与组大小 G 的平方根成反比,这意味着要将方差减半,需要将组大小增加到原来的四倍。这一理论结论与实验观察高度一致:从 G=4 增加到 G=16 时,训练稳定性显著提升,但超过 G=16 后收益递减。
本章要点: GRPO 是在线对齐的重要进展,但并非终点。未来的研究方向包括无奖励模型对齐、自适应组大小、离线-在线混合算法。随着计算资源的不断增长和任务复杂度的提升,在线对齐方法的重要性将进一步提升。
💡 一句话理解
如果奖励模型质量不高,考虑使用规则验证器(如代码执行器)替代,或采用 DPO 等离线方法。
⚠️ 常见踩坑
GRPO 的组大小 G 不是越大越好——过大会增加采样成本,过小会导致优势估计方差过大。
🎯 相关面试题
巩固本篇知识点,备战 AI 岗位面试。
- 高级概念查看详解 →
GRPO 等强化学习对齐方法相比 PPO 有何改进?
GRPO 用同一 prompt 多次采样的组内相对奖励做基线,省去价值网络,显存与实现更省,DeepSeek 用于推理对齐。
- 高级概念高频查看详解 →
RLHF 和 DPO 有什么区别?各自适用什么场景?
RLHF 通过奖励模型 + 强化学习优化偏好;DPO 直接用偏好对优化策略,省去 RM 训练,更稳定易部署。
- 高级概念查看详解 →
Function Calling(工具调用)能力是如何训练出来的?
Function Calling 不是预训练自带的天赋,而是后训练阶段用大量「意图+工具schema+正确结构化调用」轨迹对齐出来的能力。
- 高级概念查看详解 →
ORPO 是什么?它如何把指令微调和偏好对齐合二为一?
ORPO 是单阶段对齐算法,损失由 SFT 交叉熵加上基于被选/被拒回答几率比的偏好惩罚组成,无需独立的参考模型和奖励模型,把指令微调与偏好对齐合并为一步,比 RLHF、DPO 更省更短。
