LLMGRPODeepSeekRLHFPPO推理

GRPO:Group Relative Policy Optimization 详解(DeepSeek 核心技术)

一、算法概览

GRPO(Group Relative Policy Optimization) 是 PPO 的变体,核心改造是去掉价值网络(critic)。传统 PPO 用 critic V_φ(s) 估计基线计算优势 A_t = G_t - V_φ(s_t),需额外训练一个与策略同规模的网络。GRPO 的洞察:对同一 prompt 采样一组(group)回复,用组内奖励的均值/中位数作为基线,省掉 critic。优势 A_i = (r_i - mean(r)) / std(r),即每个回复相对组的标准化分数。这把优势估计从"学一个函数"变成"算统计量",显存减半、实现简化。配合 PPO 的 clipped objective 与 KL 惩罚,GRPO 在数学推理(DeepSeek-R1)与代码任务上达到 SOTA。代价:采样开销增加(每个 prompt 要采 G 个回复)。


二、历史背景与问题起源

2.1 PPO 在大模型场景的显存困境

PPO-RLHF 要同时加载四个模型:策略 π_θ、参考 π_ref、奖励 RM、critic V_φ。其中 critic 与策略同规模(都要建模整个状态空间),70B 模型意味着额外 140GB 显存(fp16)。这对工业级训练是巨大负担——多卡 all-reduce 通信、显存峰值、工程复杂度都翻倍。DeepSeek 团队在训早期推理模型时被这个瓶颈卡住,开始寻找"无 critic"方案。

2.2 优势估计的本质:为什么要基线

策略梯度中优势 A_t = G_t - b(s)b(s)基线(baseline),用于降低方差。理论上任何与动作无关的量都可作基线,critic V_φ(s) 只是最常用选择。如果用其他方式估计基线,critic 就非必需。这个观察是 GRPO 的理论起点——基线不一定要学,可以"算"

2.3 从 REINFORCE 到 GRPO

最简单的策略梯度(REINFORCE)用回报均值作基线,无 critic 但方差大。GRPO 的巧思:对同一 prompt 采一组回复,用组内统计量作基线。这比单条样本的均值更准(样本更多),又比 critic 更省(无需训练网络)。DeepSeek 在 R1 训练中验证:GRPO 在数学推理上不仅省资源,效果还优于 PPO——因为推理任务的奖励(答案对错)天然适合"组内比较",绝对分数意义不大,相对排名才是关键。


三、核心原理深入

3.1 传统 PPO 的优势估计

PPO 用 GAE 估计优势,依赖 critic V_φ(s)

δ_t = r_t + γ·V_φ(s_{t+1}) - V_φ(s_t)    # TD 误差
A_t^GAE = Σ_l (γ·λ)^l · δ_{t+l}

需要训练 V_φ,损失 L^VF = (V_φ(s) - G_t)²

critic 与策略同规模,是显存大头。

3.2 GRPO 的核心改造:group baseline

GRPO 对每个 prompt x 采样一组 G 个回复 {y_1, ..., y_G},用 RM 打分 {r_1, ..., r_G}

对 prompt x:
  采样 G 个回复 y_1, ..., y_G ~ π_θ(·|x)
  计算奖励 r_i = r_θ(x, y_i) (可能含 KL 惩罚或规则奖励)

组内基线:
  mean = (1/G)·Σ_i r_i
  std = √( (1/G)·Σ_i (r_i - mean)² )

优势(标准化):
  A_i = (r_i - mean) / std

通俗类比:考试评分。传统 PPO 像"请一个老师(critic)估计这道题的平均分作基线";GRPO 像"让全班(group)都做这道题,用实际平均分作基线"。后者更准(真实统计),且不用养老师。

直觉解读A_i > 0 说明回复 i 比组内平均好,应该提升其概率;A_i < 0 说明比平均差,应该降低。标准化(除以 std)让优势尺度稳定,跨不同 prompt 可比。

3.3 GRPO 的目标函数

GRPO 仍用 PPO 的 clipped surrogate 形式,只是优势来源改变:

L^GRPO = E[ min( r_t(θ)·A_i , clip(r_t(θ), 1-ε, 1+ε)·A_i ) ] - β·KL(π_θ || π_ref)

其中:
  r_t(θ) = π_θ(y_i|x) / π_θ_old(y_i|x)    # 概率比率
  A_i = (r_i - mean) / std                   # 组内标准化优势
  KL 可用 token 级 k3 估计器近似

与 PPO 的区别仅在 A_i 的计算方式——PPO 用 GAE+critic,GRPO 用 group 统计量。clip 与 KL 惩罚完全保留,稳定性不打折。

3.4 为什么推理任务特别适合 GRPO

数学/代码任务有明确正误(答案对就是 1,错就是 0),奖励是二值的:

r_i ∈ {0, 1}

若 G 个回复中 K 个对:
  mean = K/G
  std = √(K/G · (1-K/G))

对的回复:A = (1 - K/G)/std > 0  提升
错的回复:A = (0 - K/G)/std < 0  降低

这种场景下 group baseline 天然契合——相对排名比绝对分数更有意义。DeepSeek-R1 用规则奖励(答案对错)+ GRPO,在 AIME、MATH 等推理 benchmark 上达到 OpenAI o1 级别。

3.5 token 级优势与 KL 估计

GRPO 把序列级优势 A_i 分配到每个 token:

对回复 y_i = (y_i,1, y_i,2, ..., y_i,T):
  每个 token 的优势 = A_i (序列级优势广播到 token)

KL 估计(k3 估计器,低方差):
  KL(π_θ || π_ref) ≈ Σ_t (π_ref(y_t|·)/π_θ(y_t|·) - log(π_ref(y_t|·)/π_θ(y_t|·)) - 1)

token 级广播让每个 token 都有梯度信号,训练更高效。

3.6 工程权衡:采样开销 vs 显存节省

PPO:   每 prompt 采 1 个回复,但训 critic(显存 ×2)
GRPO:  每 prompt 采 G 个回复(G=4~16),无 critic(显存 ×1)

净效果:
  显存:GRPO 省 critic(减半),但采样 batch 更大(增 G 倍)
  计算:GRPO 前向 G 倍,但无 critic 反向(省一份)
  通信:GRPO 少一份 all-reduce(critic 梯度)

实践中 G=8 时,GRPO 总开销 ≈ PPO 的 60-70%,且工程简单

四、训练/推理流程

GRPO 训练流程

1. 初始化策略 π_θ(通常 SFT 或中间检查点)
2. 冻结参考模型 π_ref 与 RM(若用 RM 打分)
3. 训练循环:
   a. 采样一批 prompt {x_1, ..., x_B}
   b. 对每个 x_j,用 π_θ_old 采样 G 个回复 {y_j,1, ..., y_j,G}
   c. 计算奖励 r_j,i = RM(x_j, y_j,i) 或规则奖励
   d. 计算 group 优势 A_j,i = (r_j,i - mean_j) / std_j
   e. 对 K 个 epoch:
      - 计算 r_t(θ) = π_θ(y_j,i|x_j) / π_θ_old(y_j,i|x_j)
      - 计算 clipped surrogate loss
      - 加 KL 惩罚
      - 反向更新 θ
   f. θ_old ← θ
4. 直到收敛(监控奖励均值与 KL)

推理流程:与 PPO/DPO 相同,直接用训练好的 π_θ 生成。GRPO 训练的模型已内化奖励信号,推理时无额外开销。


五、与其他算法的关系

方法关系
PPOGRPO 是其变体,把 GAE+critic 换成 group baseline
REINFORCE with baselineGRPO 是其"多样本版",用 group 均值降方差
RLHFGRPO 可用于 RLHF 第三阶段,替换 PPO
DPODPO 跳过 RM 与 RL;GRPO 保留 RM/规则奖励但去 critic
PRM(Process RM)GRPO 可与 PRM 结合,token 级奖励+group baseline
Self-play / RFT用模型自生成数据做拒绝采样微调;GRPO 是其在线 RL 版本

六、关键论文

#论文贡献
1"DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models" — Shao et al., 2024 (arXiv:2402.03300)提出 GRPO,数学推理验证
2"DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning" — DeepSeek-AI, 2025 (arXiv:2501.12948)用 GRPO 训 R1,达到 o1 级推理
3"Proximal Policy Optimization Algorithms" — Schulman et al., 2017 (arXiv:1707.06347)PPO,GRPO 的基础
4"Asynchronous Methods for Deep Reinforcement Learning (A3C)" — Mnih et al., 2016 (arXiv:1602.01783)优势函数与基线的早期实践
5"Let's Verify Step by Step (PRM)" — Lightman et al., 2023 (arXiv:2305.20050)过程级奖励,与 GRPO 互补

七、实践思考

三个常见理解误区:

误区正解
❌ "GRPO 比 PPO 更先进,一定更好"✅ GRPO 只是去 critic 的 PPO 变体;非推理任务上优势不明显,对话任务仍可能 PPO 更优
❌ "group 越大越好(更准的基线)"✅ G 太大采样开销爆炸;G=8-16 是经验最优,再大收益递减
❌ "GRPO 不需要 RM"✅ GRPO 去 critic 不去 RM;推理任务可用规则奖励代替 RM,但对话任务仍需 RM 打分