什么是 GRPO?为什么推理模型(如 DeepSeek-R1)用它做强化学习?
简化版
GRPO(Group Relative Policy Optimization,组相对策略优化) 是 DeepSeek 提出的强化学习算法,可以看成去掉价值模型(critic)的 PPO。PPO 要额外训练一个和策略同样大的价值模型来估计优势,显存和成本很高;GRPO 的做法是:对同一个提示采样一组(多个)回答,用这组回答奖励的均值和标准差来归一化,得到每个回答的「相对优势」,从而免去价值模型,大幅省资源、更稳定。它在 DeepSeekMath、DeepSeek-R1 等推理模型上大放异彩,配合可验证奖励(数学/代码答案对错可自动判定),用强化学习「逼」出了强大的长链推理能力。
详细版
GRPO 相比 PPO 的核心改动
- PPO:用价值模型(critic)估计每个状态的价值,算优势 = 回报 − 价值基线。需要多训练、多加载一个大模型。
- GRPO:去掉价值模型。对每个提示采样 G 个回答,各自拿到奖励
r_1…r_G,用这组的均值和标准差把奖励标准化,作为每个回答的优势:
A_i = ( r_i − mean(r_1…r_G) ) / std(r_1…r_G)
即「这个回答比同组其他回答好多少」。
GRPO 的好处
- 省资源:不用价值模型,显存和计算大降(对大模型意义重大)。
- 更稳:组内归一化提供了低方差、无偏的优势估计,训练更稳定。
- 契合可验证任务:数学/代码这类答案可自动判对错的任务,奖励客观、噪声小,特别适合这种「一组里比高下」的方式。
DeepSeek-R1 的启示
- 可验证奖励(rule-based reward):数学题答案对不对、代码能不能过测试,可以自动判定,无需奖励模型,避免了 reward hacking。
- RL 激发推理:用 GRPO + 可验证奖励做大规模 RL,模型自发学会「写很长的思维链、自我反思、验算」,推理能力大幅跃升。
- R1-Zero:甚至跳过 SFT,纯用 RL 就涌现出推理行为(虽有可读性问题),说明 RL 本身能「逼」出推理。
完整版教学
一、PPO 的痛点:价值模型太贵
回顾 RLHF 的 PPO:它是 Actor-Critic 方法,除了策略(Actor),还要一个价值模型(Critic) 来估计「当前状态预期能拿多少回报」,用于算优势、降方差。问题是:
- 价值模型通常和策略一样大,训练时要多加载、多训练一个大模型,显存和算力开销近乎翻倍。
- 价值模型本身难训准(尤其对语言这种长序列、稀疏奖励),估不准优势反而拖累训练。
对动辄几十上百亿参数的大模型,这个负担很重。GRPO 的动机就是:能不能不要价值模型,也能得到好的优势估计?
二、GRPO 的核心思想:用”同组比较”代替价值模型
GRPO 的洞察很朴素:要判断一个回答”好不好”,不必去估计它的绝对价值,只要看它在”同一个提示的一组回答”里排第几就行。
具体做法:
- 对一个提示,一次采样 G 个回答(比如 8 个、16 个)。
- 每个回答用奖励函数打分,得到
r_1, r_2, …, r_G。 - 用这组奖励的均值和标准差归一化,得到每个回答的优势:
A_i = ( r_i − mean(r) ) / std(r)
- 高于组内平均的回答,优势为正(鼓励);低于平均的,优势为负(抑制)。
- 用这个优势做 PPO 式的裁剪更新,并保留 KL 惩罚约束到参考模型。
这样,「组内均值」就充当了价值基线的角色——用一组样本的经验平均,替代了需要专门训练的价值模型。省掉了一个大模型,还得到了低方差的优势估计。
记忆钩子:GRPO = 去掉 critic 的 PPO——对同一提示采样一组回答,用”组内奖励的均值/标准差”归一化当优势,看”比同组好多少”而非”绝对价值多少”。
三、为什么它特别适合推理任务
GRPO 在数学、代码等推理任务上尤其亮眼,因为这些任务有一个宝贵性质——奖励可验证(verifiable):
- 数学题:答案对不对可以直接判定。
- 代码题:能不能通过测试用例可以自动运行检查。
于是奖励可以用规则(rule-based) 直接给,无需训练奖励模型:答对给正奖励、答错给负。这带来两个巨大好处:
- 奖励客观、无噪声:不像 RM 那样有偏差和漏洞,几乎没有 reward hacking 空间(答案对就是对,蒙不过去)。
- 和 GRPO 的组内比较天然契合:一组回答里,对的得高分、错的得低分,相对优势非常清晰。
「GRPO(省 critic)+ 可验证奖励(无 RM、无作弊)」的组合,让大规模 RL 训练推理变得高效又干净。
四、DeepSeek-R1:RL 如何”逼”出推理能力
DeepSeek-R1 系列是这套方法的标志性成果,揭示了几个重要现象:
- RL 激发长链推理:用 GRPO + 可验证奖励做大规模 RL,模型为了答对题,自发地学会写越来越长的思维链、自我反思、回头验算、尝试多种思路——这些推理行为不是被明确教的,而是在「答对才有奖励」的压力下涌现出来的。
- R1-Zero 的震撼:甚至跳过 SFT、直接在 base 模型上纯 RL,也能涌现出推理能力(虽然输出可读性差、语言混杂)。这说明推理行为可以主要靠 RL”逼”出来,而非全靠模仿示范。
- 实用管线:完整的 R1 用「少量冷启动 SFT → 大规模推理 RL → 再 SFT → 再 RL」的多阶段,兼顾推理能力和可读性/通用性。
这标志着对齐/后训练的一个新范式:从”用 RLHF 对齐偏好”,扩展到”用可验证奖励的 RL 提升硬核推理能力”。
五、放进对齐算法的全景里
把主流后训练/对齐的强化学习方法串起来:
| 方法 | 是否需 RM | 是否需 critic | 特点 |
|---|---|---|---|
| PPO(RLHF) | 是(RM) | 是(价值模型) | 经典、灵活、资源重、可 reward hacking |
| DPO | 否(隐式) | 否 | 离线、类监督、稳、省,但不探索 |
| GRPO | RM 或规则奖励 | 否(组内基线) | 省 critic、稳、适合可验证任务 |
| RLAIF/Constitutional | AI 当 RM | 视实现 | AI 反馈替代人类,省人力 |
选型直觉:偏好对齐、数据固定 → DPO 简单稳;需要在线探索、有 RM → PPO;推理任务、奖励可验证、想省资源 → GRPO。近年趋势是可验证奖励 + GRPO 类方法在推理模型上快速崛起。
六、常见误区与追问
- 误区:GRPO 是全新的 RL 范式。 它是 PPO 的简化——去掉价值模型,用组内归一化奖励当优势,其余(裁剪、KL)沿用。
- 误区:GRPO 一定要奖励模型。 可用 RM,也可用规则奖励(数学/代码可验证),后者在 R1 上是关键。
- 追问:GRPO 怎么算优势? 对一个提示采样一组回答,
A_i=(r_i−mean)/std,即比同组好多少。 - 追问:GRPO 省了什么? 省掉了和策略同样大的价值模型(critic),显存/算力大降、更稳定。
- 追问:为什么可验证奖励能避免 reward hacking? 答案对错客观判定、无 RM 漏洞可钻,几乎无作弊空间。
- 追问:R1-Zero 说明了什么? 纯 RL(不 SFT)也能涌现推理,推理行为可被 RL”逼”出来。
- 追问:GRPO 只能做推理任务吗? 不限,但在可验证奖励的推理任务上优势最明显;偏好对齐也可用。
七、加强记忆
GRPO 记「去 critic 的 PPO,用组内比较当优势」:对一个提示采样一组回答,用组内奖励的均值/标准差归一化 A_i=(r_i−mean)/std 当优势,省掉了昂贵的价值模型,更省更稳。它与可验证奖励(数学/代码答案自动判对错、无 RM、几乎无 reward hacking)绝配,在 DeepSeek-R1 上用大规模 RL 逼出了长链推理、自我反思——R1-Zero 甚至不 SFT 纯 RL 就涌现推理。全景选型钉一句:偏好固定用 DPO、在线探索用 PPO、可验证推理省资源用 GRPO。这标志后训练从”对齐偏好”迈向”用 RL 提升硬核推理”的新范式。