← 返回题目列表

什么是 GRPO?为什么推理模型(如 DeepSeek-R1)用它做强化学习?

高频 困难 第 16 / 25 题 更新于 2026/09/25
GRPODeepSeek-R1强化学习可验证奖励推理模型
学习 AI 实战项目

简化版

GRPO(Group Relative Policy Optimization,组相对策略优化) 是 DeepSeekMath 提出的策略优化方法,可以看成一种不训练价值模型(critic)的 PPO 变体。它对同一提示采样一组回答,用组内奖励的均值和标准差构造相对优势,再用裁剪目标更新策略,因此节省 critic 的训练与显存开销。DeepSeek-R1 的后训练使用了 GRPO,并把可自动判定的准确性奖励用于数学、代码等任务;但 GRPO 不天然保证更稳定,可验证奖励也仍取决于判题器和测试覆盖。

详细版

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 的好处

  • 省资源:不用价值模型,显存和计算大降(对大模型意义重大)。
  • 改变优势基线:组内归一化免去 learned critic,但估计质量受组大小、采样分布和奖励方差影响,不能笼统称为无偏或必然更稳。
  • 契合可验证任务:数学/代码这类答案可自动判对错的任务,奖励客观、噪声小,特别适合这种「一组里比高下」的方式。

DeepSeek-R1 的启示

  • 可验证奖励(rule-based reward):数学最终答案、代码测试等可以自动判定,降低对通用奖励模型的依赖,但判题漏洞、弱测试和格式投机仍可能造成 reward hacking。
  • RL 改变推理行为:在可验证任务上优化结果奖励后,模型的输出呈现更长的解题、反思与验算行为;应以正确率和泛化评测证明收益,不能把“更长”本身当作推理更强。
  • R1-Zero:甚至跳过 SFT,纯用 RL 就涌现出推理行为(虽有可读性问题),说明 RL 本身能「逼」出推理。

完整版教学

一、PPO 的痛点:价值模型太贵

回顾 RLHF 的 PPO:它是 Actor-Critic 方法,除了策略(Actor),还要一个价值模型(Critic) 来估计「当前状态预期能拿多少回报」,用于算优势、降方差。问题是:

  • 价值模型通常和策略一样大,训练时要多加载、多训练一个大模型,显存和算力开销近乎翻倍。
  • 价值模型本身难训准(尤其对语言这种长序列、稀疏奖励),估不准优势反而拖累训练。

对动辄几十上百亿参数的大模型,这个负担很重。GRPO 的动机就是:能不能不要价值模型,也能得到好的优势估计?

二、GRPO 的核心思想:用”同组比较”代替价值模型

GRPO 的洞察很朴素:要判断一个回答”好不好”,不必去估计它的绝对价值,只要看它在”同一个提示的一组回答”里排第几就行。

具体做法:

  1. 对一个提示,一次采样 G 个回答(比如 8 个、16 个)。
  2. 每个回答用奖励函数打分,得到 r_1, r_2, …, r_G。
  3. 用这组奖励的均值和标准差归一化,得到每个回答的优势:
A_i = ( r_i − mean(r) ) / std(r)
  • 高于组内平均的回答,优势为正(鼓励);低于平均的,优势为负(抑制)。
  1. 用这个优势做 PPO 式的裁剪更新,并保留 KL 惩罚约束到参考模型。

这样,「组内均值」充当了相对基线——用同一提示的一组样本比较替代 learned critic。它确实省掉价值模型,但优势估计会随同组样本变化;组太小、奖励近乎相同或判题器噪声大时,信号也会很差。

记忆钩子:GRPO = 去掉 critic 的 PPO——对同一提示采样一组回答,用”组内奖励的均值/标准差”归一化当优势,看”比同组好多少”而非”绝对价值多少”。

三、为什么它特别适合推理任务

GRPO 在数学、代码等推理任务上尤其亮眼,因为这些任务有一个宝贵性质——奖励可验证(verifiable):

  • 数学题:答案对不对可以直接判定。
  • 代码题:能不能通过测试用例可以自动运行检查。

于是奖励可以用规则(rule-based) 直接给,无需训练奖励模型:答对给正奖励、答错给负。这带来两个巨大好处:

  • 奖励更直接但并非无噪声:答案提取规则可能误判,代码测试也可能覆盖不足;模型仍可能利用格式、测试或判题器漏洞。
  • 和 GRPO 的组内比较天然契合:一组回答里,对的得高分、错的得低分,相对优势非常清晰。

「GRPO(省 critic)+ 可验证奖励(可自动扩展)」的组合降低了大规模推理 RL 的一部分成本,但仍要做判题器对抗测试、保留集验证和人工抽查。

四、DeepSeek-R1:RL 如何”逼”出推理能力

DeepSeek-R1 系列是这套方法的标志性成果,揭示了几个重要现象:

  • RL 改变可观察的解题行为:用 GRPO + 可验证奖励训练后,输出中出现更长的解题、反思、验算和多路径尝试。长度不是目标,也不是能力证明,真正证据仍是未见题上的正确率与稳健性。
  • R1-Zero 的震撼:甚至跳过 SFT、直接在 base 模型上纯 RL,也能涌现出推理能力(虽然输出可读性差、语言混杂)。这说明推理行为可以主要靠 RL”逼”出来,而非全靠模仿示范。
  • 实用管线:完整的 R1 用「少量冷启动 SFT → 大规模推理 RL → 再 SFT → 再 RL」的多阶段,兼顾推理能力和可读性/通用性。

这标志着对齐/后训练的一个新范式:从”用 RLHF 对齐偏好”,扩展到”用可验证奖励的 RL 提升硬核推理能力”。

五、放进对齐算法的全景里

把主流后训练/对齐的强化学习方法串起来:

方法是否需 RM是否需 critic特点
PPO(RLHF)是(RM)是(价值模型)经典、灵活、资源重、可 reward hacking
DPO否(隐式)否离线、类监督、稳、省,但不探索
GRPORM 或规则奖励否(组内基线)省 critic,适合能对同题采样并比较的任务
RLAIF/ConstitutionalAI 当 RM视实现AI 反馈替代人类,省人力

选型直觉:偏好数据固定可先评估 DPO;需要针对当前策略采样并有价值基线可评估 PPO;同题可多次采样、奖励可验证且希望省去 critic 时可评估 GRPO。最终仍要以样本效率、训练方差、奖励可靠性和保留集表现做同预算实验。

六、手算组内优势并看清失效条件

假设同一数学题采样 4 个回答,判题奖励为 [1,1,0,0]。组均值是 0.5,按总体标准差计算也是 0.5,于是标准化优势为 [1,1,-1,-1]:两个正确回答被增强,两个错误回答被抑制。

mean = (1+1+0+0)/4 = 0.5
std  = sqrt(((0.5²+0.5²+0.5²+0.5²)/4)) = 0.5
A    = (r-mean)/std = [1, 1, -1, -1]

但若 4 个回答全部错误,奖励为 [0,0,0,0],标准差为零,这组没有相对学习信号;实现需加数值稳定项,并通常跳过或特殊处理零方差组。把组大小从 4 增至 16 可能提高找到正确样本的机会,却会把 rollout 成本扩大约 4 倍,所以要同时报告“每提示至少一个正例的比例”、零方差组占比、每个有效梯度样本的生成成本和保留集正确率。

七、常见误区与追问

  • 误区:GRPO 是全新的 RL 范式。 它是 PPO 家族的变体——去掉 learned critic,用组内相对奖励构造优势,并采用裁剪式策略目标与正则约束。
  • 误区:GRPO 一定要奖励模型。 可用 RM,也可用规则奖励(数学/代码可验证),后者在 R1 上是关键。
  • 追问:GRPO 怎么算优势? 对一个提示采样一组回答,A_i=(r_i−mean)/std,即比同组好多少。
  • 追问:GRPO 省了什么? 省掉价值模型的训练与存储,但仍要为每个提示生成一组 rollout,采样成本不会消失。
  • 追问:可验证奖励还会被投机吗? 会。答案提取器、代码测试覆盖和格式规则都可能有漏洞,必须做隐藏测试与对抗验证。
  • 追问:R1-Zero 说明了什么? 纯 RL(不 SFT)也能涌现推理,推理行为可被 RL”逼”出来。
  • 追问:GRPO 只能做推理任务吗? 不限,但在可验证奖励的推理任务上优势最明显;偏好对齐也可用。

八、加强记忆

GRPO 记「不训 critic,用同题组内比较构造优势」:对一个提示采样一组回答,以 A_i=(r_i−mean)/std 形成相对信号,再用裁剪式目标更新策略。它节省价值模型,却增加成组 rollout;零方差组没有有效排序信号。可验证奖励让数学答案和代码测试易于扩展,但判题器仍可能有漏洞,绝不等于没有 reward hacking。DeepSeek-R1 说明结果奖励可以显著塑造解题行为;算法选型仍要比较同预算下的正确率、成本、方差和泛化,而不是背“DPO/PPO/GRPO 各自固定适用”的口号。