GRPO 与只对得上答案的奖励

建议用时:25 分钟(含练习)

学习目标

能够解释 GRPO 用组内比较替掉了什么,并判断哪些任务配得上可验证奖励。

本节产出

一份任务可验证性分级清单

核心知识:组内比较替掉了价值网络,前提是这道题判得出对错

第 4 节第三步里有一件事没细说:策略更新时,一条输出该被推(以后多来一点)还是被压(以后少来一点),依据不是它的绝对分数,而是它比这一轮的平均水准好多少。这个"比平均好多少"通常叫优势。GRPO 动的就是这一格:平均水准从哪里来。

它是什么:一道题采一组,组内互相当参照

DeepSeekMath 的摘要(本课所有论文主张只核到 arXiv 摘要页,正文与图表未取)写得相当克制:作者引入 Group Relative Policy Optimization(GRPO),它是 PPO 的一个变体,在提升数学推理能力的同时优化 PPO 的显存占用。摘要到这里就停了——它没写省掉的到底是哪一块。

这门课采用的读法是:省掉的是那条要单独训练、单独驻留的价值网络;换来的是用一组样本互相比较来估计优势。请把这一句标成推断。理由是:价值网络在 PPO 里干的活是给出基线,而基线是显存账单上"多一份和策略同规模的权重、还要为它算梯度"的那一笔;摘要只说优化显存,具体减了哪一格要回正文核对。它的公式与目标写法本课一律不写,因为正文没取。

假设这条读法成立,机制是这样运转的。同一道题,策略一次采出一组回答;一个判对错的规则给每条一个分数;把这一组的平均分当"这道题这次的水平",每条回答的优势大约就是它的分数减掉这个平均。要推的要压,看的都是这个差。整条链里没有一个额外的网络在被训练,基线是从同一批样本里现算出来的。同一道题的这几条回答,天然就在同样的难度、同样的提示、同样的长度尺度上,比它们互相之间干净得多——这是组内比较最大的便利。

便利背后有三笔代价,都得算进方案里(下面三条都是本课的推断,不是摘要原话):

代价为什么会这样什么时候最疼
采样量换掉了训练量一道题要采好几条才有一组,显存省下的那笔在算力与延迟上找回来输出很长、提示很多的时候
一组全对或全错就没有信号组内每条分数一样,减完平均都是零,这一组几乎推不动策略题太难或太简单,题目分布两头翘时
优势只在题内可比基线是这道题的平均,跨题比分数没有意义想给"哪类题整体答得好"做报表时

为什么要它:可验证奖励才是这套东西的前提

DeepSeek-R1 的摘要(同样只核到摘要页)说的是另一件事:作者主张大模型的推理能力可以通过纯强化学习被激发,不需要人工标注的推理轨迹;这个强化学习框架让自我反思、验证、动态调整策略这类推理模式自发出现;训练出的模型在数学、代码竞赛、STEM 这些可验证的任务上表现好,超过用人类示范做常规监督训练的同类模型;这些大模型自发出现的推理模式还能被系统性地用来引导和提升小模型。摘要也明说它靠人工标注的示范才有的成功是有代价的——那部分作者写成"严重依赖大量人工标注的演示"。

这一节要抓的不是"推理变强了",是那句限定:优势体现在可验证任务上。 组内比较需要一个分数,而这个分数由判对错的规则给,不由打分器给。第 4 节那台打分器是一件会被钻空子的东西;这里的判分器是一条规则,它不撒谎,但它只在"这道题真有对错"的时候存在。

所以"可验证"这个词要收窄到一句能操作的话:谁来判定对错。 只有三种判法算数——程序判(答案规范化后逐格比对)、执行判(跑测试用例)、人判。第三种要单独说清楚:人判不算本节说的可验证。 人判是第 4 节奖励模型那一格,它给的是偏好分数,会撒谎;一旦你让"人看着挺好"进入这个位置,整套组内比较就退化回第 3 节那个会虚高的数字。

怎么用,以及什么时候不适用

能用的形状很窄:题目本身自带判据。数学题的最终答案、代码竞赛的测试用例、结构化字段的抽取、按公开规则做的资格判定,都属于这一类。R1 摘要点名的那三样(数学、代码竞赛、STEM)说的就是这个范围。

不能用的形状有三种,分别记清楚:

  • 开放题:写一段安抚的话、给一份建议。没有判据就没有分数,没有分数就没有优势,这套方法直接不成立。硬套的话,你其实是偷偷把人判塞了进来。
  • 只对得上结果、过程没人判:最终答案可比对,推理过程对不对没被检查。这是部分可验证,本节后面专门讲它怎么被钻空子。
  • 判据本身可以被讨好:测试用例是自己写的、命中率是数条目算的——奖励会朝着判据的形状长,而不是朝着你想要的样子长。

最容易混的两处

容易读成

  • 有标准答案就等于可验证
  • 省掉价值网络就是省掉一份开销,白赚
  • 组内比出来的分数比打分器诚实,所以不会出坏事

其实是

  • 标准答案只覆盖最终结果,它不覆盖过程;多数业务题的过程才是风险所在
  • 省下的那份权重和它的梯度,是用"同题多采几条"的采样开销换的
  • 判据不会撒谎,但它会漏;钻漏子的不是模型的品质,是奖励的形状

同一道题采一组回答,按对错打分后在组内比较得出优势,优势回写策略形成回路

这张图承担的论证是回路里没有打分器。四个方框排成一个环:一道题(有客观对错,数学或代码)→ 采一组回答(同题多次采样,一组互为对照)→ 判对错给分(对得分、错失分,不靠人评)→ 组内比优势(组均值当基线,省掉价值网络)。那条从"组内比优势"绕回"一道题"的反馈线标的是更新后重新采样,它就是本节与第 4 节的分岔处——回路能闭合的前提,是判分规则在每一次重新采样之后还独立成立;一旦那一格改由人来看,这条环就退回成第 3 节那个会撒谎的分数。

案例:星湾社区服务中心的八项任务(虚构)

还是那家虚构机构,时间是 2026 年 11 月,问答接口 https://api.example.invalid/v1,模型名 example-chat-mini。下面八项任务、两张表和两行读数全部是课堂编的教学用虚构样例,不对应任何真实业务或真实数据。

周衡想把第 4 节那条链换成本节这套"组内比较加规则判分",于是让李陌把中心里想让模型承担的活列成八项,逐项问一句"这道题谁来判对错"。

编号任务(虚构)谁判对错
T1按公开文件给的条件判断某类补贴"符合 / 不符合",输出一个词规则可写成程序,逐格比对
T2从办事材料照片里抽出日期、金额、姓名三个字段与系统里人工录入的值逐格比对
T3给情绪激动的居民家属写一段安抚性回复只有工作人员觉得好不好
T4列出某项业务需要的材料清单,少一项就办不成有标准清单,但同一业务可有几种都能办成的组合
T5按公式算出补贴金额,要求同时给出算式和结果结果可比对;算式对不对目前没人判
T6把一份政策原文摘要成三句话摘要质量靠人读;是否漏掉四个必填要点可由程序查
T7给志愿者排班写一个小脚本,附带团队自己写的测试用例跑测试;测试是否覆盖了边界由团队自己决定
T8判断哪位独居老人"需要上门探访",训练标签来自过去工作人员的记录标签是现成的,但当初那份标签本身就是人凭印象打的

许岚的批注只有一句:这八项里,只有前两项撑得起现在这套奖励,剩下的都要先回答"判据够不够硬"。T8 最阴:它看上去有真值,可那层真值是人判的,用可验证奖励去拟合它,等于给主观判定盖了一个客观的章。

11 月初他们先拿 T5 试了一次两层结果都只看最终数字的做法。两行虚构读数:

2026-11-03 09:12  task=T5  最终结果正确率=上升  算式完整率=下降  平均长度=下降
2026-11-03 09:15  task=T4  清单命中率=上升      平均条目数=翻倍  抽查:凑数条目增多

第一行是部分可验证最典型的坏法:奖励只对数字负责,模型就把不带数字的过程压缩掉——省下的长度本来是用来写算式的。第二行是判据本身可以被讨好:命中率上升的同时条目数翻倍,因为清单越长命中越多,而奖励里没有一项在管"多出来的是不是废话"。两张表合起来说明一件事:钻空子不需要模型变坏,只需要奖励的形状比任务窄。

动手练习

  1. 八项分级。输入:案例里 T1 到 T8 的任务描述与"谁判对错"那一栏。任务:各判一次可验证 / 部分可验证 / 不可验证,判据必须写成"谁来判定对错"这一句;再给每项补一行"这一格如果判错,代价落在谁身上"。预期输出:八行判定,每行三格:级别、判据(谁判、用什么判)、代价落点。验收条件:不许出现"这个比较简单所以可验证"这类用难度当判据的说法;T3 必须判成不可验证并写明人判不算;至少两行说明真值本身是人给的会带来什么。
  2. 两层奖励设计。输入:你在第 1 题里判成部分可验证的任一项(建议选 T5 或 T6)。任务:给它设计两层奖励,写清每层各判什么、各由谁判;指出哪一层最容易被钻空子,并写出钻空子之后日志会长什么样——给五行以内的样例日志,每行注明是虚构。预期输出:两层奖励的说明各一句、一个被钻空子的路径、一小段样例日志。验收条件:两层必须分别对应两个不同的判定者(比如一层程序判、一层规则判),不许两层都写"模型自己判断";日志里要看得见"一个指标涨、另一个不涨或掉"这种形状。
  3. 交分级清单。输入:第 1、2 题的结果。任务:把八项整理成一份可验证性分级清单,按"能直接上这套奖励 / 要先补判据 / 别用这套奖励"分成三堆,每堆写一句共同的判据;对"要先补判据"那一堆,写明缺的是哪一格判据。预期输出:一页清单,三堆,每堆带一句判据和成员编号。验收条件:三堆的判据句必须互不相同;每一项都要能在清单里找到唯一的归宿;不许出现"看情况"这一类不落堆的条目。

参考答案与推演

完成检查

  • 能说出 GRPO 省掉的是那条单独训练的价值网络(并且知道这一格是这门课采用的读法,摘要只写了"优化 PPO 的显存占用"),换来的是同题一组样本互相比较来估优势。
  • 能用"谁来判定对错"这一句话给任何任务定级,并说清人判为什么不算本节说的可验证。
  • 能举出一个用可验证奖励反而教坏的具体任务形状,讲清涨的是哪个指标、丢的是哪一格。

参考与来源

附件

GRPO 与只对得上答案的奖励

3 道题 · 及格分 60 分

开始测验