跳到主要内容

可验证奖励与 GRPO 从零写 — 没有示范时,靠对错训练

这一章讲三件事: 强化学习的三个核心词;GRPO 怎么用「组内平均分」当尺子; 以及为什么纯强化学习能训出没人示范过的推理行为。 延续上一章的写法:训练循环亲手写一遍,同一个模型、同一个优化器,单卡能跑。 读完你能回答:「R1-Zero 没人教它推理,推理是从哪来的?」

1. 先看现象:没有示范可抄的任务

SFT 有个前提:每条 prompt 都得有人写好、验过的标准回答。格式、风格这类事写得出来;但数学题的最优解法、代码的最干净写法——正确答案容易检验,最好的写法却难写出来。书里把这条分界说得很白:当「正确答案难写、却容易检查」时,就该换方法了1

换的方法就是强化学习(RL):不提供目标回答,只提供一个给任意回答打分的函数。模型自己生成候选,自己被打分,自己往高分挪2

原书用一个 Note 点破了本章与上一章的关系,那也是全书的主旨——两个循环共享同一个模型、同一个优化器,只差一处:训练信号从哪来。SFT 复制你给的信号;RL 从你定义的奖励里发现信号3

2. 顶层全景

┌────────────────────────────────────────────┐
│ │
▼ │
策略(就是模型本身) │
│ ① rollout:对同一道题采样一整组回答(G=8 条) │
▼ │
奖励函数逐条打分 │
│ ② 组内求平均、求标准差 │
▼ │
优势 = (每条的分 − 组平均) / 组标准差 │
│ ③ 高于平均 → 抬概率 低于平均 → 压概率 │
└────────────────────────────────────────────┘

图说:没有标准答案,只有「比同组其他回答好还是差」。
这一圈转一次,权重挪一步;转几百次,平均分往上爬。

3. 三个词,把强化学习说小

书里明说:强化学习的词汇听着比代码重,撑起这个循环的只有三个词4:

是什么在主走查里
策略(policy)模型本身:输入 prompt、输出「一组回答的概率分布」,这个输入到输出的对应关系术语叫映射;它就是被训练的东西Qwen3-0.6B
奖励(reward)一个函数:回答进去,数字出来,越高越好检查 <answer> 标签的那段代码
rollout从策略采样(按概率抽,不是总挑最大)出一条回答的动作——模型的「一次尝试」对「说出一种原色」采样 8 次

SFT 有固定目标、要模型贴上去;RL 没有目标,只有分数,候选是模型自己写的——它从「自己写过的答案」里学,按分数加权5

4. 为什么 RL 能超过示范,而 SFT 不能

这是本章最重要的一步。SFT 的信号来自示范,示范里没有的行为,它永远学不到。RL 的信号来自奖励:模型采样时偶然撞到一个好回答,奖励函数给了高分,这条回答就被加强——哪怕从来没有人给它示范过6

「撞到」这个说法藏着两个前提,书里原话点明:模型得至少偶尔撞得到,奖励函数得认得出。撞不到就没有可加强的东西;认不出,撞到了也白撞。这两点后面反复回来7

5. 最小环境:一个可验证的格式任务

RL 需要奖励,而最好的第一档奖励是能靠规则判定、不靠人判的——这就是「可验证」:一个程序就能断对错。数学题对答案、代码过测试是正典;书里的演示任务更简单:把答案放进 <answer></answer> 标签对里8

奖励函数三级计分,<answer> 出现 +1、</answer> 出现 +1、开闭标签配平且中间有内容再 +1,合计 0 到 3 分9:

得分回答长什么样
0空串,或裸答案「42」(一个标签都没有)
1<answer>42(只开了头)
3<answer>42</answer>(完整配平)

书里特意提醒:打分必须有区分度。接下来你会看到,更新靠的是「组内分数的差异」——一个给所有回答打同样分数的奖励函数,什么都教不会10

6. GRPO:组就是自己的基线

策略梯度要一把尺子

策略梯度(policy gradient)是一类方法的总称:沿着奖励的期望值(平均下来能拿到多少分)的梯度方向调参数,让高奖励的回答更可能出现。但「哪条回答该加强」需要一个比照对象——基线:总分 2 分是好是坏?要看同组其他人拿几分。比基线好的加强,比基线差的压制11

GRPO 的取巧:现成的组均值

经典做法(PPO)专门训第二个网络(critic)来估计这个基线——显存翻倍,还自带一个训练问题。GRPO 的替代简单到近乎取巧:每个问题采样一组回答(主走查里 G=8),组内平均分直接当基线。代价是每个问题要多采几条(花生成时间);当生成比养第二个网络便宜时,这笔交换是划算的——这也是 GRPO 能在推理模型上扩展好的部分原因12

主走查:一组 8 条回答的更新

对同一道题「说出一种原色。把答案放进 answer 标签。」采样 8 条(奖励数值是为演示编的,机制与全部参数是书里的)13:

8 条回答的奖励: [3, 1, 0, 3, 0, 1, 3, 3]
组平均(基线): 1.75
组标准差: ≈1.30
优势 = (每条 − 1.75) / 1.30:
得 3 分的 4 条 → 优势 ≈ +0.96 加强
得 1 分的 2 条 → 优势 ≈ −0.58 压制
得 0 分的 2 条 → 优势 ≈ −1.35 压制得更狠
得分恰等于平均的那条:优势为 0,一动不动

图说:「Group Relative(组内相对)」指的就是这把组内尺子。
每条回答的对数概率按优势加权升降:优势为正,抬;为负,压;
绝对值大小,就是抬压的力度。

写成损失,就是书里说的「整条规则」:loss = −(优势 × 该条回答的对数概率)。优势为正时最小化它 = 抬这条回答的概率;为负 = 压;这套更新就是 1992 年的 REINFORCE 算法(最古老的政策梯度法)加了一个组内基线14

对照:SFT 和 GRPO 的梯度长一个样,来源不同

书里把两条更新并排放在同一道格式题上:SFT 写好示范 <answer>red</answer>,梯度把模型推向那个精确的字符串(一字不差的那串字);GRPO 不写示范,梯度推向组均以上的那些自产回答。前者最小化「−logprob(你给的目标)」,后者最小化「−(优势 × logprob(模型自己给的样本))」——把优势搁到一边看,RL 更新就是「朝模型自己的输出做 SFT」,优势只是按质量给这些自产目标重新加权15

7. 把它跑起来:三段代码与一个命门

采样与打分

真实实现里,采样要把 prompt 复制 8 份并发生成,温度(采样时「多敢挑冷门 token」的旋钮)取 1.0,最长生成 64 个 token。

top-p(只从累积概率够得着的那一截候选里抽)取 1.0——先把采样放到最「放得开」的位置,组内才有差异。然后逐条过奖励函数,算组内优势;循环 200 步,学习率同样取 1e-516

两笔账

从「8 条变长的 token 序列」到「一个可反向传播的损失」,中间有两笔必算的账17:

  1. 补全掩码:8 条回答长短不齐,短的要补齐——补的空位不算数,只保留到第一个结束标记(EOS,模型表示「我说完了」的特殊 token)为止;
  2. 逐 token 对数概率:把整条序列回喂给模型,在每个位置读出「当时给那个被采样的 token 的对数概率」,再按掩码求和——这就是「这条回答在策略眼里的总对数概率」。
advantages = (rewards - rewards.mean()) / (rewards.std() + 1e-4)
# 组均值基线 ↑ ↑ 微小防零
...
seq_logp = (token_logp * comp_mask).sum(dim=1) # 每条回答的总对数概率
loss = -(advantages * seq_logp).mean() # REINFORCE + 组基线

命门:方差(组内分数的分散程度)死了,训练就死了

跑起来会看到:几百步内平均奖励爬升。但早期全靠运气——基础模型得先在某一组里撞出至少一条像样的回答,才有东西可加强;撞到之后,优势会把策略往那拉,奖励开始滚雪球18

反过来,如果一组 8 条全拿同一个分,优势全是 0,这一步什么也不改。书里管这叫 GRPO 卡住的最常见原因:奖励太容易(人人满分)或太难(全体零分)都会把方差(组内分数的分散程度)掐死。对策:用分级奖励(像 0/1/3 那样),并把采样温度保持在够高的位置,让组内差异活着19

复用 rollout:从 PPO 借来的保险

上面的极简版每采样一轮只走一步——生成是最慢的环节,浪费。示例脚本把一条 rollout 复用几步,代价是要防止「复用越走越歪」,借的是 PPO 的裁剪(clip):记录采样那一刻的对数概率,限制新旧概率的比值每次最多挪到 1±ε 的窗口外就不再加码20。只走一步时新旧概率相等、比值恰为 1,裁剪自动退化、等于没用——它只在复用时才值得开21

8. R1-Zero:纯 RL 长出的推理

把这套机制放大,就是 DeepSeek-R1 的故事。R1-Zero 完全跳过 SFT,用 GRPO 直接在可验证任务上训基础模型。结果是:没人给它看过一条「分步推理」的示范,它自发长出了思维链——把问题拆成步骤、自查、中间步失败就换路。书里给的解释:推理行为被「奖励」了出来——带仔细推理的回答更容易答对,RL 就把这个模式放大了22

完整的 R1 加回 SFT、再一轮轮精炼下去,在数学、代码、科学基准上与最强的闭源(不公开源码与权重的那类)推理模型打平;权重以开放许可发布,多个团队用开源工具复现了这条训练路线23

书里的定位原话:可验证奖励 RL 是这一代模型和上一代的分界——SFT 加偏好学习能产出「听指令、人评分高」的模型;RLVR 能产出「解出没人给过它解法的问题」的模型,因为训练信号奖励的是成功的推理,不是模仿24

9. 作者的判断与证据

给了证据的:

  • R1-Zero 在没人教的情况下长出了思维链(这类「没教过自己长出来」的现象,行话叫涌现),加上完整版 R1 的基准成绩——对应公开发表的论文与开放权重,可独立核实;

  • 「生成是瓶颈」:每一步要为每个 prompt 生成多条完整回答、跑验证器、再算更新,长思维链乘以每批上千 prompt,推理引擎的吞吐(单位时间能吐出多少 token)成了瓶颈,需要 vLLM 这类专用引擎伴跑——这是工程上可复核的判断25

是作者的论断:

  • 「推理是被奖励出来的」——对涌现现象的一种解释;论文本身也没有展示反事实(不奖励推理步骤会怎样),严格说这是与证据一致的最佳解释,不是被证明的因果;
  • 「RLVR 把两代模型分开」——一个概括性判断,依据是 R1 的成绩单,但「代」的划法是作者下的。

判断(我们的,不是书里的): GRPO 的组内基线其实是拿「生成换显存」: 它把 PPO 里价值模型的活儿,外包给了「多采几条回答」这件事。 所以它适合的场景有一个隐含前提——生成便宜、且奖励能区分好坏。 换到生成极贵、或奖励只能给 0/1 的任务上,这笔交换的划算程度要重算。 如果错,会错在: 如果实践中 critic 网络的主要价值不在省生成、 而在降低梯度估计的噪声,那「多采样」并不能等价替代它, GRPO 的稳定性优势就要重新解释——书里只说了「实践中更稳」,没给机理证明。

10. 边界与局限

三条,全部来自书里自己的交代:

  1. 可验证的范围有限:数学(对答案)、代码(过测试)、逻辑谜题、规划任务才算得上;开放域对话没有免费的验证器——那就回到了第 04 章:训奖励模型,把数据与建模的难处全接回来26;
  2. 基建是三段里最重的:每一步都要生成一大批补全、跑验证器、再算策略梯度,生成环节吃掉大头27;
  3. 奖励作弊的完整讨论不在本书现有章节:第 04 章提过 reward hacking,原书第 06 章专讲它与缓解——Early Release 还没出,这里如实留白。

书里没覆盖、读时别指望的:多步 agent 任务的奖励怎么定(那是下一章);GRPO 之外的 RLVR 算法对比。

11. 可带走的

  1. RL 与 SFT 只差一处:训练信号从哪来——SFT 复制你给的,RL 从你定义的奖励里发现;
  2. 三个词撑起整个循环:策略(模型)、奖励(打分函数)、rollout(采样一次尝试);
  3. RL 能超越示范:强化「采样时偶然撞到的好答案」——前提是撞得到、奖励认得出;
  4. 可验证任务 = 程序能断对错:数学、代码、格式检查;奖励信号从任务本身来;
  5. GRPO = REINFORCE + 组内基线:组均值当尺子,组均以上加强、以下压制,不养 critic 网络;
  6. 打分必须有区分度:全组同分 = 优势全零 = 白走一步,这是 GRPO 卡住的最常见原因;
  7. 方差是燃料:分级奖励 + 够高的采样温度,让组内差异活着;
  8. RL 更新本质是「朝自己的输出做 SFT」,优势按质量重新加权;
  9. 复用 rollout 要开裁剪,单步走时裁剪自动失效;
  10. R1-Zero 证明纯 RL 能长出没人示范的推理:被奖励的行为被放大——这就是「推理涌现」的来路。

12. 原文地图

主题原书章原文位置
全章主旨:信号来源之别Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:24(搜「SFT copies a signal you provide」)
RL 只要奖励函数Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:194(搜「scores any completion」)
三个词:策略/奖励/rolloutChapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:198(搜「The policy is the model」)
RL 从自己写的答案里学Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:204(搜「weighted by how good they were」)
能超越示范、两个前提Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:206(搜「stumbled into」)
可验证任务靠规则判定Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:210(搜「a program can decide」)
格式任务与奖励函数Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:219(搜「score += 1.0」)
0/1/3 计分表Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:252(搜「A well-formed block」)
打分要有区分度Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:254(搜「teaches nothing」)
策略梯度与基线Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:258(搜「Policy gradient」)
组均值基线、Group RelativeChapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:260(搜「exactly this group baseline」)
PPO 的 critic 与取舍Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:262(搜「doubles the memory」)
GRPO 伪代码与损失规则Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:275(搜「REINFORCE estimator」)
实现参数(G=8、200 步、温度)Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:295(搜「G = 8」) · :298(搜「range(200)」)
优势算式Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:311(搜「rewards.std()」)
两笔账:掩码与逐 token 对数概率Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:314(搜「first is a completion mask」)
运行行为:早期靠撞、奖励爬升Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:343(搜「climbs over a few hundred steps」)
卡住的最常见原因:无方差Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:345(搜「GRPO run stalls」)
裁剪代理(复用 rollout)Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:347(搜「clipped surrogate」)
单步时退化为纯策略梯度Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:353(搜「ratio is exactly one」)
SFT 与 GRPO 梯度对照Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:361(搜「answer」) · :363(搜「reweights those self-generated targets」)
正确答案难写、容易检查Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:369(搜「hard to write but easy to check」)
可验证任务的正典域Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:166(搜「canonical domain」)
GRPO 由 DeepSeek 提出、组内相对优势Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:168(搜「Group Relative Policy Optimization」)
R1-Zero 思维链涌现Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:170(搜「spontaneously developed chain-of-thought」)
完整版 R1 与复现Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:172(搜「reproduced by multiple teams」)
两代模型的分界Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:174(搜「rewards successful reasoning rather than imitation」)
基建最重、生成是瓶颈Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:176(搜「generation step is the bottleneck」)

Footnotes

  1. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 369 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:369,搜「hard to write but easy to check」)。原文:SFT 需要为每条 prompt 写好并验证补全;当正确答案难写却容易检查时,图景就变了。

  2. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 194 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:194,搜「scores any completion」)。

  3. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 24 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:24,搜「SFT copies a signal you provide」)。原文 Note:两个循环共享 base model 和优化器,只差训练信号的来源;这个对比是全章与全书的贯穿线。

  4. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 198 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:198,搜「The policy is the model」)。原文:强化学习的词汇听起来比代码重;policy 是模型本身,prompt 进、补全分布出;reward 是从补全到数字的函数;rollout 是从策略采样补全的动作。

  5. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 204 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:204,搜「weighted by how good they were」)。

  6. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 206 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:206,搜「stumbled into」)。原文:SFT 教不了示范里没有的行为;RL 能找到采样时偶然撞到的高奖励补全并强化它。

  7. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 206 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:206,搜「at least sometimes」)。

  8. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 210-212 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:210,搜「a program can decide」)。原文:可验证任务指程序能判定输出是否正确;数学题与过测试的代码是正典;本章的任务更简单——格式。

  9. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 216-224 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:219,搜「score += 1.0」)。三级计分见第 226-253 段的表格(搜「A well-formed block」)。

  10. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 254 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:254,搜「teaches nothing」)。

  11. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 258-260 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:258,搜「Policy gradient」)与第 260 段(搜「exactly this group baseline」)。

  12. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 262 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:262,搜「doubles the memory」)。原文:PPO 训第二个网络估计期望奖励当基线,显存翻倍且自带训练问题;GRPO 用采样组的均值替代;代价是每 prompt 多采样;生成比第二个网络便宜时划算,这是 GRPO 在推理模型上扩展好的部分原因。

  13. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 288-311 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:288,搜「Name a primary color」)、第 295 段(搜「G = 8」)、第 311 段(搜「rewards.std()」)。奖励数组与优势数值为演示编的;均值/标准差/优势的算法与代码是书里的。

  14. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 275 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:275,搜「REINFORCE estimator」)。原文引 Williams 1992;优势为正时最小化损失抬高该补全的对数概率,为负则压低;优势大小决定力度。

  15. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 361-363 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:361,搜「token for token」)与第 363 段(搜「reweights those self-generated targets」)。

  16. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 295-311 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:297,搜「range(200)」)。原文:repeat G 份并发生成、do_sample=True、temperature=1.0、top_p=1.0、max_new_tokens=64。

  17. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 314-318 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:314,搜「first is a completion mask」)。原文:补全掩码保留到第一个序列结束标记、丢弃补齐;逐 token 对数概率靠把序列回喂模型、对齐位置、gather 出被采样 token 的 logp。

  18. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 343 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:343,搜「depend on chance」)。原文:早期靠运气;基础模型得在组里产出至少一条像样的补全,才有东西可强化;之后优势把策略指向该行为,奖励开始复利。

  19. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 345 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:345,搜「GRPO run stalls」)。

  20. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 347-352 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:347,搜「clipped surrogate」)。原文:示例脚本借 PPO 的裁剪代理,记录采样时的对数概率,限制新旧概率比值每次复用的移动范围。

  21. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 353 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:353,搜「ratio is exactly one」)。

  22. 出处:「Chapter 1. Introduction to Post-Training」第 170 段(text/04-ch01-chapter-1-introduction-to-post-training.txt:170,搜「spontaneously developed chain-of-thought」)。原文:R1-Zero 用 GRPO 训练、无任何 SFT,自发发展出思维链推理:拆步骤、自查、中间步失败就换路;从没见过这种行为示例;推理涌现是因为被奖励。

  23. 出处:「Chapter 1. Introduction to Post-Training」第 172 段(text/04-ch01-chapter-1-introduction-to-post-training.txt:172,搜「reproduced by multiple teams」)。另见第 02 章拆解的配方表:R1 权重以 MIT 许可发布。

  24. 出处:「Chapter 1. Introduction to Post-Training」第 174 段(text/04-ch01-chapter-1-introduction-to-post-training.txt:174,搜「rewards successful reasoning rather than imitation」)。

  25. 出处:「Chapter 1. Introduction to Post-Training」第 176 段(text/04-ch01-chapter-1-introduction-to-post-training.txt:176,搜「generation step is the bottleneck」)。原文:每步要为每个 prompt 生成多条完整回答、过验证器、算策略梯度;生成长思维链需要 vLLM 这类专用推理引擎伴跑。

  26. 出处:「Chapter 1. Introduction to Post-Training」第 166 段(text/04-ch01-chapter-1-introduction-to-post-training.txt:166,搜「canonical domain」)。原文:数学是正典域,代码次之,逻辑谜题、约束满足、规划任务也算。

  27. 出处:「Chapter 1. Introduction to Post-Training」第 176 段(text/04-ch01-chapter-1-introduction-to-post-training.txt:176,搜「most demanding」)。