GRPO:DeepSeek 提出的群体相对策略优化

RLHF/对齐GRPOopenstarry.com

GRPO:DeepSeek 提出的群体相对策略优化

GRPO(Group Relative Policy Optimization)是 DeepSeek 在训练 DeepSeek-R1 等模型时提出的对齐算法。它通过群体采样和相对奖励机制,同时获得了 PPO 的在线学习能力和 DPO 的训练简洁性。

GRPO 解决了什么问题?

回顾现有对齐算法的不足:

PPO 的问题:
- 需要训练单独的奖励模型和价值模型
- 同时加载 4 个模型,显存占用大
- 超参数敏感,训练不稳定

DPO 的问题:
- 使用离线数据,无法在线探索
- 随着策略更新,训练数据分布偏移
- 在推理密集型任务(如数学、代码)上效果有限

GRPO 的目标:
- 不需要价值模型(减少显存)
- 使用群体采样获取在线信号
- 用相对奖励替代绝对奖励(更稳定)

GRPO 的核心思想

1. 群体采样

对同一个问题,让模型生成一组(Group)多个回答:

群体采样示例:
问题: "计算 1+2+3+...+100"

模型生成 8 个回答(Group Size = 8):
  回答 1: "5050" ✓
  回答 2: "5050" ✓  
  回答 3: "4950" ✗
  回答 4: "5050" ✓
  回答 5: "5100" ✗
  回答 6: "5050" ✓
  回答 7: "5050" ✓
  回答 8: "5050" ✓

通过规则验证或奖励模型给每个回答打分

2. 相对奖励

不使用绝对分数,而是用群体内的相对排名作为奖励信号:

相对奖励计算(组内标准化):

原始分数: [1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0]
均值: μ = 0.75
标准差: σ = 0.43

相对奖励 = (原始分数 - μ) / σ
         = [0.58, 0.58, -1.74, 0.58, -1.74, 0.58, 0.58, 0.58]

含义:高于平均的回答获得正奖励,低于平均的获得负奖励

GRPO 的算法流程

GRPO 训练循环:

For each 问题 x:
  1. 用当前策略 π_θ 生成 G 个回答 {y_1, y_2, ..., y_G}
  
  2. 用奖励函数(规则验证或奖励模型)打分 {r_1, r_2, ..., r_G}
  
  3. 计算组内相对优势:
     Â_i = (r_i - mean(r)) / std(r)
  
  4. 对每个回答计算重要性采样比率:
     ratio_i = π_θ(y_i|x) / π_old(y_i|x)
  
  5. PPO 风格的裁剪目标:
     L_i = min(ratio_i × Â_i, clip(ratio_i, 1-ε, 1+ε) × Â_i)
  
  6. 总损失:L = -mean(L_i) + β × KL(π_θ || π_ref)

用梯度下降更新 π_θ

GRPO vs PPO vs DPO

特性 PPO DPO GRPO
需要价值模型✅ 需要❌ 不需要❌ 不需要
需要奖励模型✅ 需要❌ 不需要可选(可用规则验证)
数据方式在线生成离线数据集在线群体采样
奖励信号绝对分数偏好对组内相对排名
显存占用4 个模型2 个模型2~3 个模型
训练稳定性
推理任务效果一般

GRPO 在 DeepSeek 模型中的应用

DeepSeek 在其推理模型(如 DeepSeek-R1)中大量使用了 GRPO:

DeepSeek-R1 训练流程:
阶段 1: 冷启动 SFT
  用少量高质量推理数据微调

阶段 2: GRPO 强化学习
  - 数学/代码任务:用规则验证器作为奖励(答案对错)
  - 通用任务:用奖励模型打分
  - 群体大小 G=8~64
  - 相对奖励提供稳定的梯度信号

阶段 3: 拒绝采样 + SFT
  从 GRPO 模型中采样优质回答,再次微调

阶段 4: 最终 GRPO 对齐
  用全场景数据做最终对齐

GRPO 的优势总结


总结

GRPO 通过群体采样和相对奖励两个核心创新,在 PPO 的在线学习框架基础上大幅简化了训练流程。它不需要价值模型,奖励信号更稳定,特别适合推理密集型任务。作为 DeepSeek 系列模型的核心对齐算法,GRPO 展示了对齐技术的又一个进化方向。

延伸阅读RLHF 详解:用人类反馈强化学习训练更好的语言模型

以 AI 之力,筑未来之境

现在注册,立即免费获赠 200 次大模型调用权益

免费注册 →