GRPO 是什么?为什么推理模型训练里常见?

Q4-03强化学习后训练进阶GRPORLVRPPOcritic可验证奖励推理模型

谁在问:算法向面试官(二三面);做推理模型或 RL 后训练的团队;作为 Q4-01/Q4-02 的进阶加分追问

口语化问法

  • GRPO 你了解吗?它和 PPO 的区别在哪?
  • 现在训推理模型为什么大家都在用 GRPO 这一类方法?
  • 什么是可验证奖励?它对训练方法的选择有什么影响?

考察意图

这是一道进阶加分题,答不上来不致命,答得好能明显拉开差距。面试官在看三件事:

  1. 能不能一句话说清 GRPO 砍掉了什么——组内平均分替代 critic。这是最低门槛。
  2. 知不知道砍掉是有代价的。只说"更省算力"的回答等于只读了标题。
  3. 有没有跟到 2026 的现状。GRPO 已经被修补了一整代变体,知道变体存在、知道每个变体在修什么毛病,是"跟过实现"和"看过科普"的分界线。

参考答案

图 2 · 60 分与 90 分差在哪:代价、演进、怎么验证

60

60 分答案(及格线)

GRPO 是 Group Relative Policy Optimization,组相对策略优化,是 PPO 的一个变体。

PPO 需要一个价值网络(critic)来估计"当前状态平均能拿多少分",作为优势计算的基线。这个 critic 通常和策略同规模,训练时要额外占一份显存和算力。

GRPO 的做法是:对同一个 prompt 采样一组(比如 8 到 16 个)回答,用这一组的平均奖励当基线,把每个回答的奖励减去均值再除以标准差,得到组内相对优势。这样就不需要 critic 了。

它在推理模型训练里常见,是因为数学、代码这类任务的答案对错可以自动判定,奖励拿起来很便宜,而 GRPO 恰好需要对同一题反复采样打分。

机制说清了,及格。但没有代价、没有现状,追问两层就到底。

90

90 分答案(有生产经验的回答)

机制: GRPO 把 PPO 的 critic 换成了"同题同学的平均分"。

for x in prompts:
    ys = sample(pi_theta, x, n=G)              # 同题采 G 份,典型 G = 8 ~ 16
    rs = [verify(y) for y in ys]               # 跑测试 / 对答案 / 比字段
    A  = (rs - mean(rs)) / (std(rs) + eps)     # 组内标准化即优势
    update(pi_theta, clipped_ratio * A - beta * KL(pi_theta, pi_ref))

省掉一个与策略同规模的价值网络,这在推理训练这种本来就极贵的场景里是直接的成本优势。

它和 RLVR 是天生一对。 需要说清的是,RLVR(可验证奖励强化学习)不是算法,是范式:奖励来自能自动判定的结果——代码跑不跑得过测试、数学答案对不对、抽取的字段和标注一致不一致。GRPO 每个 prompt 至少要打 G 次分,只有当奖励几乎免费时这件事才成立。所以真正决定"你能不能上这一档"的不是算法选型,而是一个前置问题:你的任务能不能写出自动判分器。

三段式:

  • 解决什么:在有自动判分器的任务上,用远低于 PPO 的成本拿到真实的能力增量——注意这是"能力",不是偏好对齐那种风格重排。
  • 代价是什么,三条,都很实在:
    1. 采样贵。每题生成 G 份,训练时间的大头在生成而不是反向传播。省下的 critic 显存,一部分又还给了推理吞吐。
    2. 零方差塌缩。一组答案全对或全错时,标准化后优势全是 0,这一组白跑。题目太简单或太难都会大量触发。
    3. 长度偏置。优势的归一化方式会让长回答或短回答被系统性偏爱,训着训着回答长度会漂。
  • 什么时候不该用:任务写不出自动判分器时。硬凑一个"用大模型当判分器"的方案,本质是把 reward hacking 的靶子从人换成另一个模型,通常更脆——策略模型会很快学会针对判分模型的偏好特征刷分。

2026 的现状(截至 2026-08): GRPO 已经是这条线的中心参考点,但它本身被修补了一整代,每个变体基本对应上面一个毛病:

变体 修的是什么
Dr. GRPO 优势归一化里的长度偏置
DAPO 动态采样过滤掉零方差组 + 解耦 clip 上下界,训练更稳(报告 Qwen2.5-32B 在 AIME 2024 达到 50)
GSPO / DHPO token 级更新与序列级奖励之间的错配
ARPO 多轮 agentic 场景下的信用分配
VPO test-time 采样多样性(best@k 场景)

开训后我会先看的一个数:整组全对或全错的 prompt 占比。超过一半,说明题目难度和当前模型能力不匹配,这时候该换数据集而不是调超参——这是最容易白烧几天算力的地方。

追问链

图 1 · 五层追问树:面试官会往哪儿挖
从「砍掉 critic」一路挖到「没有判分器你还上不上 RL」

  1. 组内优势具体怎么算?G 取多大合适,取大取小有什么影响?

    期望A = (r − mean(r)) / (std(r) + eps),组内标准化;G 典型 8–16。G 越大基线估得越准、方差越小,但生成成本线性上涨;G 只有 2–4 时基线噪声大、训练不稳 —— G 的本质是「基线质量」与「采样预算」的交换
    信号把 G 的取舍讲成「基线方差 vs 采样成本」→ 理解了它替代 critic 的本质;只答「一般取 8」→ 背的
  2. 去掉 critic 到底省了什么、又赔上了什么?

    期望省:一个与策略同规模网络的显存、它自己的训练开销、以及 critic 训不准那一整类失败模式。赔:基线从「学出来的函数」退化成「这一组的经验均值」,只能靠加大 G 压方差 → 成本转移到生成侧;组内均值只在同一 prompt 内可比,跨 prompt 的信息用不上
    信号说出「成本从 critic 转移到了采样」→ 真算过账;只说「省显存」→ 只看到一半
  3. 一组答案全对或者全错的时候会发生什么?你怎么处理?

    期望零方差塌缩:标准化后优势全为 0(或除以接近 0 的标准差导致数值不稳),这一组对梯度零贡献、算力白烧。处理是动态采样 —— 检测并过滤零方差组、补采新 prompt 凑满有效 batch(DAPO 的核心改动之一)→ 数据侧做难度分层,把题控制在当前模型「部分能做对」的区间
    信号本题的分水岭:知道「零方差塌缩」并说得出动态采样 → 跟过实现;答「没什么影响继续训」→ 只看过科普文
  4. GRPO 有哪些已知变体?各修什么?

    期望至少答得出 Dr. GRPO 修优势归一化里的长度偏置、DAPO 做动态采样与稳定性;再往上是 GSPO/DHPO 修 token 级更新与序列级奖励的错配、ARPO 管多轮 agentic 的信用分配。关键不是背全名单,是把「变体」和「毛病」对上号
    信号报得出名字却说不出各修什么 → 背了列表;只报一个但准确说出它修的是长度偏置 → 比报五个名字更有说服力
  5. 客服质检没有可验证奖励,有人提议「用大模型当判分器跑 GRPO」,你同意吗?成本和风险怎么算?

    期望先否掉「上不上 RL」这个伪问题:可规则化的那半(念没念话术、泄没泄敏感信息、超时未响应)才是真可验证奖励,态度共情那半是争议区 → 大模型判分把 reward hacking 的靶子换成模型,策略很快学会刷共情词;判分器自己得先测与人的一致率 → 成本是每题 G 次生成叠 G 次判分,高 SFT 一两个量级 → 可规则化的做确定判分,主观的先评测再训练
    信号直接同意并开始设计判分 prompt → 本题最主要淘汰点;能把任务切成「可规则化」与「主观」两半分别处理 → 真做过质检项目
加分题,答不上不致命,但第 3 层见真章:零方差塌缩知不知道,把「跟过实现」和「看过科普」一刀切开;第 5 层考没有判分器时怎么把任务切两半,而不是硬凑一个。

评分要点

  1. 能说清 GRPO 用组内平均分替代 critic
  2. 知道 G 的作用与取舍(基线方差 vs 采样成本)
  3. 能说出至少两条代价(采样贵、零方差塌缩、长度偏置)
  4. 知道 RLVR 是范式不是算法,且知道"能不能写判分器"是前置判断
  5. 能说出至少一个变体及它修的具体问题
  6. (加分)知道成本从 critic 转移到了生成侧
  7. (加分)开训后会先看零方差组占比
  8. (加分)压力分支里能识别"模型当判分器"的 reward hacking 风险,并给出先评测后训练的顺序

常见错误

"GRPO 就是不用 critic 的 PPO,更省资源"半句结论。追问"省了什么赔了什么"即见底。
"GRPO 效果比 PPO 好"不成立的强判断。它的卖点是同等效果下更省,不是更强。
把 RLVR 说成一种算法概念层级错误。RLVR 是范式,GRPO 是算法。
"有奖励就能训"忽略了奖励必须便宜且能算很多次这个前提,这正是 GRPO 与可验证奖励绑定的原因。
报得出一堆变体名字,说不出各修什么含糊回答的典型形态:用名词密度冒充理解。 追问"DAPO 具体改了什么"即崩。
遇到没有可验证奖励的场景,直接上"大模型判分"没有 reward hacking 意识,也没有成本意识。
全程不提采样成本只算了显存没算算力,说明没真跑过 RL 训练。

关联学习