GRPO 是什么?为什么推理模型训练里常见?
谁在问:算法向面试官(二三面);做推理模型或 RL 后训练的团队;作为 Q4-01/Q4-02 的进阶加分追问
口语化问法
- GRPO 你了解吗?它和 PPO 的区别在哪?
- 现在训推理模型为什么大家都在用 GRPO 这一类方法?
- 什么是可验证奖励?它对训练方法的选择有什么影响?
考察意图
这是一道进阶加分题,答不上来不致命,答得好能明显拉开差距。面试官在看三件事:
- 能不能一句话说清 GRPO 砍掉了什么——组内平均分替代 critic。这是最低门槛。
- 知不知道砍掉是有代价的。只说"更省算力"的回答等于只读了标题。
- 有没有跟到 2026 的现状。GRPO 已经被修补了一整代变体,知道变体存在、知道每个变体在修什么毛病,是"跟过实现"和"看过科普"的分界线。
参考答案
60 分答案(及格线)
GRPO 是 Group Relative Policy Optimization,组相对策略优化,是 PPO 的一个变体。
PPO 需要一个价值网络(critic)来估计"当前状态平均能拿多少分",作为优势计算的基线。这个 critic 通常和策略同规模,训练时要额外占一份显存和算力。
GRPO 的做法是:对同一个 prompt 采样一组(比如 8 到 16 个)回答,用这一组的平均奖励当基线,把每个回答的奖励减去均值再除以标准差,得到组内相对优势。这样就不需要 critic 了。
它在推理模型训练里常见,是因为数学、代码这类任务的答案对错可以自动判定,奖励拿起来很便宜,而 GRPO 恰好需要对同一题反复采样打分。
机制说清了,及格。但没有代价、没有现状,追问两层就到底。
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 的成本拿到真实的能力增量——注意这是"能力",不是偏好对齐那种风格重排。
- 代价是什么,三条,都很实在:
- 采样贵。每题生成 G 份,训练时间的大头在生成而不是反向传播。省下的 critic 显存,一部分又还给了推理吞吐。
- 零方差塌缩。一组答案全对或全错时,标准化后优势全是 0,这一组白跑。题目太简单或太难都会大量触发。
- 长度偏置。优势的归一化方式会让长回答或短回答被系统性偏爱,训着训着回答长度会漂。
- 什么时候不该用:任务写不出自动判分器时。硬凑一个"用大模型当判分器"的方案,本质是把 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 占比。超过一半,说明题目难度和当前模型能力不匹配,这时候该换数据集而不是调超参——这是最容易白烧几天算力的地方。
追问链
组内优势具体怎么算?
G取多大合适,取大取小有什么影响?期望A = (r − mean(r)) / (std(r) + eps),组内标准化;G典型 8–16。G 越大基线估得越准、方差越小,但生成成本线性上涨;G 只有 2–4 时基线噪声大、训练不稳 —— G 的本质是「基线质量」与「采样预算」的交换信号把 G 的取舍讲成「基线方差 vs 采样成本」→ 理解了它替代 critic 的本质;只答「一般取 8」→ 背的去掉 critic 到底省了什么、又赔上了什么?
期望省:一个与策略同规模网络的显存、它自己的训练开销、以及 critic 训不准那一整类失败模式。赔:基线从「学出来的函数」退化成「这一组的经验均值」,只能靠加大 G 压方差 → 成本转移到生成侧;组内均值只在同一 prompt 内可比,跨 prompt 的信息用不上信号说出「成本从 critic 转移到了采样」→ 真算过账;只说「省显存」→ 只看到一半一组答案全对或者全错的时候会发生什么?你怎么处理?
期望零方差塌缩:标准化后优势全为 0(或除以接近 0 的标准差导致数值不稳),这一组对梯度零贡献、算力白烧。处理是动态采样 —— 检测并过滤零方差组、补采新 prompt 凑满有效 batch(DAPO的核心改动之一)→ 数据侧做难度分层,把题控制在当前模型「部分能做对」的区间信号本题的分水岭:知道「零方差塌缩」并说得出动态采样 → 跟过实现;答「没什么影响继续训」→ 只看过科普文GRPO 有哪些已知变体?各修什么?
期望至少答得出Dr. GRPO修优势归一化里的长度偏置、DAPO做动态采样与稳定性;再往上是GSPO/DHPO修 token 级更新与序列级奖励的错配、ARPO管多轮 agentic 的信用分配。关键不是背全名单,是把「变体」和「毛病」对上号信号报得出名字却说不出各修什么 → 背了列表;只报一个但准确说出它修的是长度偏置 → 比报五个名字更有说服力客服质检没有可验证奖励,有人提议「用大模型当判分器跑 GRPO」,你同意吗?成本和风险怎么算?
期望先否掉「上不上 RL」这个伪问题:可规则化的那半(念没念话术、泄没泄敏感信息、超时未响应)才是真可验证奖励,态度共情那半是争议区 → 大模型判分把 reward hacking 的靶子换成模型,策略很快学会刷共情词;判分器自己得先测与人的一致率 → 成本是每题 G 次生成叠 G 次判分,高 SFT 一两个量级 → 可规则化的做确定判分,主观的先评测再训练信号直接同意并开始设计判分 prompt → 本题最主要淘汰点;能把任务切成「可规则化」与「主观」两半分别处理 → 真做过质检项目
评分要点
- 能说清 GRPO 用组内平均分替代 critic
- 知道 G 的作用与取舍(基线方差 vs 采样成本)
- 能说出至少两条代价(采样贵、零方差塌缩、长度偏置)
- 知道 RLVR 是范式不是算法,且知道"能不能写判分器"是前置判断
- 能说出至少一个变体及它修的具体问题
- (加分)知道成本从 critic 转移到了生成侧
- (加分)开训后会先看零方差组占比
- (加分)压力分支里能识别"模型当判分器"的 reward hacking 风险,并给出先评测后训练的顺序