跳到主要内容

后训练:把能力写进参数

这一章讲三件事: 三个训练阶段各花多少钱、各干什么;「SFT 记忆、 RL 泛化」这个可测量的分野从哪来;以及当前后训练最前沿的两把钥匙 (RLVP 与在轨蒸馏)怎么把被浪费的信号捡回来。第 04 章欠的「时间感怎么 蒸馏进权重」,在这里兑现。

1. 这一章讲什么

前六章都在模型外面做工程(上下文、工具、评估);这一章进到模型里面: 把能力直接写进参数。全书视角里,这是 Harness「验证」功能的下游——评估告诉你 哪里不行,后训练把改不好的那部分固化下来。

书里开篇就给三条成本量级,免得你对「训练」二字没有概念(预训练的产物行话叫基础模型,即基座模型):预训练数千万美元 起(地基);SFT(监督微调:拿几千到几万条示范样本教模型「该怎么答」) 几千到几万美元级,便宜、快、稳;RL(强化学习:按结果好坏反复试错调参) 样本成本常是 SFT 的几十到上百倍1。两条主线压着全章:SFT 记忆,RL 泛化 (可测量的现象);数据和环境比算法更重要(工业界最反直觉也最值钱的经验)2

2. 顶层全景

预训练(数千万美元)→ 会「预测下一个词」的基座


SFT(几千~几万条示范)→ 立住「形」:格式、协议、风格 —— 记忆


RL(几十~上百倍样本成本)→ 练出「神」:策略、泛化 —— 泛化

反馈循环:评估(第 10 章)发现短板 → 决定 SFT 还是 RL → 再评估
图说:中国画术语「先形后神」:先把形画准,再追求神韵。

3. 核心原理

3.1 SFT 的本质:固化协议,不是注入知识

一条 SFT 样本含问题和回答两部分,算分时只看回答(loss masking,损失就是要减小的偏差;损失屏蔽即只对回答部分算偏差,不让模型学「怎么提问」只学「怎么回答」),这是它与预训练唯一的实质区别。 一句话概括:用极高的样本效率,把一套稳定的「输入→输出」映射与协议固化进 参数——固化的是「该怎么说、怎么做」,不是「知道什么」(事实知识交给 RAG 或 继续预训练)3

实操上有一条省钱默认:LoRA(低秩(用小「补丁」近似大改动)适配:不动原始的大块权重,只在旁边挂一个 小「补丁」学习任务,参数量仅占 1%–5%)4

书里给了几条实践值:补丁要挂到所有主要权重矩阵(存模型参数的二维大表)。

最优学习率(每次调参的步子大小)约为全参微调的 10 倍;SFT 用中高 rank(64–256), RL 用小 rank(8–32)甚至 1。

数据从哪来?三条路:人工专家示范(种子)、教师模型合成、拒绝采样(模型 对同一题采样多条候选,验证器筛出正确的,反过来训练自己)。量级观:与其堆 十万条脏数据,不如精修一万条干净数据——数据里的每一处噪声,SFT 都会忠实地 写进参数5

3.2 主走查:一道 24 点,量出「记忆 vs 泛化」

实验设计与全部数字来自原书(GeneralPoints,Chu 等人 2025)。

任务:类 24 点的算术卡牌游戏——四张牌,加减乘除,每张恰用一次,凑出 24。 关键设计:训练时 J/Q/K 都算 10;测试时改算 11/12/13——考的就是 「没见过的局面」6

同一基座(Llama-3.2-Vision-11B),先 SFT 立格式,再等预算分叉:

分布内(训练见过的规则) 两边都还行
─────────────────────────────────────────────
规则 OOD(J/Q/K 变值): RL:11.5% → 15.0%(+3.5%)
SFT:11.5% → 3.4%(−8.1%,接近崩盘)
视觉 OOD(黑花色→红花色): RL:23.6% → 41.2%(+17.6%)
SFT:23.6% → 13.7%(−9.9%)

为什么?SFT 学的是「见 J 就当 10」的固定映射——J 变 11,它仍按 10 算。
RL 学的是「怎样的计算过程能得到正确答案」——J 变 11,它重算一遍。

实验还给了两个额外发现:RL 的结果导向优化顺带改善了底层视觉编码器(SFT 则因过拟合(死记训练里的表面样式)思考 token 模式,识别准确率反降);以及验证迭代 10 次 +5.99% vs 1 次 +0.48%——思考时的计算扩展是 RL 泛化的关键7。这就是「SFT 记忆、 RL 泛化」从口号变成测量的过程。

3.3 先形后神:顺序为什么不能反

SFT 先行的机制理由:奖励函数要能解析输出。输出格式混乱时,RL 的奖励信号 无法计算——所以 SFT 的首要目标不是性能极致,而是格式稳定;格式稳定后 RL 才 有能打分的起点。反过来先 RL 后 SFT 行不通:没有稳定输出,奖励是一片噪声8

但这条规律有边界:强基模可以直接 RL。DeepSeek-R1-Zero 证明了这一点, 代价是输出可读性差、中英混杂,所以 R1 最终加回「冷启动 SFT」——R1 从 Zero 到冷启动的往返,正是「先形后神」的最好注脚9

何时转向 RL?书里给的临界点判断很实用:「无论怎么增加示范样本,新场景的 表现仍然上不去」——根源不在示范样本的多少,而在 SFT 的优化目标本身10

3.4 RL 为什么上限更高:三个「在线」的好处

SFT 是离线方法:从一份固定示范里学,上限就是示范者水平——60 分老师标好的数据训不出 90 分学生。RL 是在线方法:自己下场、按反馈改进。三个 SFT 拿不到的好处11:

  1. 离线的天花板是数据,在线的天花板是任务——RL 能发现示范里根本不存在的 更优策略(3.6 节的「推切」是直接证据);
  2. 验证比生成容易(RLVR 的威力来源)——写出答案难、检验答案易;
  3. 在线让模型学会从自己的错误里爬出来——离线模仿有个经典毛病(covariate shift):学生偏离示范后不知怎么回正轨,误差(偏差的积累)随轨迹长度平方级增长,在线训练的 每步反馈精确打在模型当前的真实弱点上。

还有一对要记住的概念:SFT 是 mass-covering(雨露均沾,覆盖示范里所有模式), RL 是 mode-seeking(赢者通吃,概率集中到少数高奖励峰)——这解释了为什么 RL 后的模型更笃定、多样性下降12

3.5 RLHF(按人类偏好调模型)与 RLVR(按规则判分调模型):奖励从哪来

RLHF(基于人类反馈的强化学习)三段式:先用示范立格式(SFT);再训练一个奖励模型(一个学会了替人打分的模型);最后按它的打分调整策略。

核心设计是 比较而非打分——「A 和 B 哪个好」,比「打 7.3 分」这样的标量(单独一个数)可靠得多;加 KL 惩罚 防模型跑偏——分数变成没有依据的瞎猜,奖励黑客与分布崩塌接踵而至13

按打分调整策略,最常用 PPO(一类通过限制每步调整幅度来稳定训练的强化学习方法)。

DPO(拿「哪个更好」的偏好对直接训练,省掉打分模型)则更省事,偏好对直接 变分类损失,离线、便宜。

与它相对的是 RLVR(可验证奖励:规则判分脚本当奖励)——第 10 章说过, 评估环境与训练环境同源。书里的分工判据:RLHF 管对话安全与偏好,RLVR 管 推理与 Agent;两者叠加使用。算法层面一句话:PPO/GRPO 对奖励来源不挑剔, 差异在优势估计14

3.6 RLVP:用组内方差统一解释「奖励结果,惩罚路径」

真实 Agent 有大量「结果中性」的约束:不许反复拨打、不许跳过验证、不许删库 重建。麻烦在于:违反约束常让表面成功率更高——纯结果奖励反而激励违规 (书里:几乎每局都踩线)。RLVP(验证路径惩罚)的配方一句话:奖励结果, 惩罚路径——R = O + β·Φ,Φ 是一套只按固定规则判对错的规则引擎(确定性:同样动作永远同样判定)对违规动作的惩罚15

它为什么有效?书里给了全书最优雅的一个统一解释——组内方差。GRPO 的优势 本质就是组内方差:同一题采样一组回答,每条相对组内平均的好坏就是它的梯度(该往哪个方向调参数的指引) 方向。于是:

全败组(训练早期):O 全是 0 → 方差为零 → 每条优势都是零 → 零梯度,白跑
全胜组(训练后期):O 全是 1 → 方差同样为零 → 又是零梯度

但「失败得规不规矩」各不相同:有的跑了破坏性命令,有的没有
→ 加上惩罚,全败组内部立刻有了差异 → 梯度就活了
→ 惩罚「永远可达」(坏动作总是便宜可查);进展奖励只在可达时有条件补方差

惩罚是「普遍可用的那一半」,进展奖励是「有条件的那一半」。而惩罚有致命 边界——不作为陷阱:只有惩罚没有结果奖励时,最优策略是「什么都不做」 (零违规也零成功),纯惩罚让成功率在每个随机种子上都塌到零。配套四原则: 只惩罚可验证动作;结果奖励始终主驱动;每个 −λ 配对应 +μ(指出路不只堵)。 实验:TerminalBench 违规从 3.71 降到 0.66(约六倍),成功率持平16

3.7 在轨蒸馏:信号不够密才是真瓶颈

当前 RL 的主要瓶颈是样本效率——书里指认的两个最有希望的方向,RLVP 之外 是 On-Policy Distillation(在轨蒸馏)。它把 SFT 与 RL 的优点合一:学生 自己生成轨迹(在轨,解决分布不匹配),强教师对每一步逐 token 打分 (稠密,解决信号稀疏)。一句话对照三种方法:SFT 是「离轨+稠密」,RL 是 「在轨+稀疏」,OPD 是「在轨+稠密」——两个短板都补上了17

书里用第 04 章欠下的「时间感」做了最干净的验证:让 8B 小模型脱离提示词、把 节奏感写进权重——DPO 和四种 RL 配方轮番失败,恰好各踩一个经典失败模式 (信号太稀/目标错位/rollout 形状不匹配/训练崩溃),没有一个越过 SFT 天花板; 换成 OPD(冻结的 Qwen3-32B 教师,逐 token 给目标分布),训练平滑收敛,四种 条件通过率比 SFT 基线(作为对照的起点成绩)高出 23 到 47 个百分点。结论值得抄下来:卡住后 训练的,往往不是奖励函数设计得不够巧,而是信号本身不够密——第 04 章的 伏笔在此兑现18

没有更强教师怎么办?OPSD(在轨自蒸馏):同一模型分饰两角——教师版看得到 特权信息(标准答案、已验证的正确解答),学生版只见题;「对着答案讲题」 远比「独立解题」容易。好处是不依赖可验证奖励、信号逐 token;边界也硬: 答案若来自无法用语言解释的穷举,自蒸馏就没有信号来源19

3.8 数据与环境比算法更重要

全章最想让人记住的判断,书里用了整个小节:现成的 RL 算法你会用就行,真正 决定成败的是环境的保真度与数据的质量。环境失真,策略必废(学出应试策略); 高保真环境常比训练更贵;造不出环境时可以模型扮演(ZeroSearch 让 LLM 扮演 搜索引擎),但模拟器的偏差就是训练的天花板,RL 会找模拟器的漏洞—— 稳妥做法是混合真实环境定期校准20

Anthropic 的实例被书里反复引用:2025 年前它的配方是海量高质量 SFT 加 RLAIF (宪法 AI),不怎么用 RLVR,Coding 模型仍然出色——数据决定你能到哪, RL 决定还能再高多少。算法永远排在最后:先有强基模,再解决环境与数据, 最后才是算法的边际优化21

多轮场景还有一道独有的难题:信用分配——10 轮客服拿到好评,功劳算第 2 轮 的精准提问还是第 7 轮的寒暄?工程上的实用答案:γ(折扣因子)多轮 LLM RL 直接设 1;GRPO 把优势均摊到整条轨迹(粗糙但可用);过程奖励(每步反馈) 在中间步骤可定义时更高效。SFT 与 RL 的配比书里给了句口诀:不训 RL 起不来, 过训 RL 救不回——「格式稳定、能力初具」即止22

3.9 八陷阱与完整图景

章末的陷阱清单值得整张带走,这里点最致命的四个:过度依赖后训练记事实(该用 RAG);格式未稳定就引入 RL(解析失败率超 20% 时训练完全失败);奖励黑客 (模型钻奖励漏洞);低估 RL 成本(SFT 表现良好的任务转 RL 可能要 10-100 倍 训练时间)。总原则:先小规模验证关键假设,快速失败。ICL/RAG/后训练三者 协同的判据一句话:按「能力能否被外部符号表达」选择——能写成文档的别训进 参数23

4. 作者的判断与证据

书里给了证据的: GeneralPoints 与 V-IRL 的 OOD 对照、RLVP 的组内方差 消融(纯惩罚成功率塌零)、时间感七配方对照(OPD +23~47pp)、SimpleVLA 的 「推切」涌现(1 条轨迹 SFT 17.3%→+RL 91.7%)、Anthropic 的配方描述。

是作者的判断: 「数据与环境比算法更重要」是从工业实践归纳的优先级排序, 书里自己注明这是「最反直觉的经验」;「模拟器偏差是训练天花板」是合理推断, 可证伪条件:若域随机化与混合校准能普遍消除 sim-to-real 差距,天花板就松动 (机器人领域的进展正在部分兑现)。

5. 边界与局限

  • 三阶段成本量级是 2026 年年中的行情, RL 成本下降会改变「何时值得训」的计算;
  • 「先形后神」在强基模上有明确例外(R1-Zero),不能当铁律背;
  • RLVP 的惩罚信号依赖「违规可被确定性检测」——开放性伤害(如语气不当) 检测不了;
  • OPD 需要明显强于学生的教师;OPSD 的边界在「特权信息带不来额外能力就没信号」。

6. 可带走的

  1. 三阶段成本:预训练千万美元、SFT 几千到几万、RL 是 SFT 的几十到上百倍;
  2. SFT 固化协议(怎么说),不注入知识(知道什么)——事实交给 RAG;
  3. SFT 记忆、RL 泛化:24 点实验里 RL +3.5% vs SFT −8.1%,这不是口号;
  4. 先形后神:格式不稳就别上 RL;强基模可例外,但可读性要 SFT 兜底;
  5. 转向 RL 的临界点:加训练素材也救不了新场景的时候;
  6. 离线上限是数据,在线上限是任务;验证比生成容易,是 RLVR 的根基;
  7. RLVP:奖励结果、惩罚路径;惩罚补组内方差,但必须配结果奖励防「不作为」;
  8. 卡住后训练的往往不是奖励函数不巧,而是信号不够密——OPD 逐 token 打分;
  9. 没有更强教师就用 OPSD:拿着答案讲题也是信号;
  10. 数据与环境比算法重要;先小规模验证,快速失败。

7. 原文地图

主题原书章原文位置
两条主线7 模型后训练text/09-ch07.txt:21(搜「SFT 记忆」) · text/09-ch07.txt:23(搜「数据和环境」)
loss masking 与 SFT 本质7 模型后训练text/09-ch07.txt:77(搜「损失屏蔽」) · text/09-ch07.txt:81(搜「固化进参数」)
LoRA 实践值7 模型后训练text/09-ch07.txt:83(搜「LoRA」)
数据三路与量级观7 模型后训练text/09-ch07.txt:345(搜「拒绝采样」)
先形后神7 模型后训练text/09-ch07.txt:91(搜「先形后神」) · text/09-ch07.txt:93(搜「R1-Zero」的替换词:DeepSeek-R1-Zero)
RL 上限三好处7 模型后训练text/09-ch07.txt:143(搜「天花板是数据」) · text/09-ch07.txt:147(搜「协变量漂移」)
mode/mass-covering7 模型后训练text/09-ch07.txt:141(搜「雨露均沾」)
何时转向 RL7 模型后训练text/09-ch07.txt:393(搜「临界点」) · text/09-ch07.txt:399(搜「先试 SFT」)
GRPO 直觉7 模型后训练text/09-ch07.txt:407(搜「GRPO」)
GeneralPoints 实验7 模型后训练text/09-ch07.txt:429(搜「24」) · text/09-ch07.txt:431(搜「黑色花色」) · text/09-ch07.txt:433(搜「3.5%」) · text/09-ch07.txt:437(搜「5.99%」)
RLHF/DPO7 模型后训练text/09-ch07.txt:445(搜「RLHF」) · text/09-ch07.txt:313(搜「DPO」)
RLHF vs RLVR 分工7 模型后训练text/09-ch07.txt:145(搜「RLVR」)
算法比较7 模型后训练text/09-ch07.txt:141(搜「On-Policy」的替换词:在轨) · text/09-ch07.txt:562(搜「如实交代」)
Era of Experience 与稀疏困境7 模型后训练text/09-ch07.txt:654(搜「Era of Experience」)
γ 与信用分配7 模型后训练text/09-ch07.txt:530(搜「信用分配」) · text/09-ch07.txt:700(搜「过程奖励」)
RLVP 配方与公式7 模型后训练text/09-ch07.txt:722(搜「奖励结果」) · text/09-ch07.txt:730(搜「β」)
组内方差统一解释7 模型后训练text/09-ch07.txt:740(搜「组内方差」) · text/09-ch07.txt:744(搜「全败组」) · text/09-ch07.txt:750(搜「补回方差」) · text/09-ch07.txt:754(搜「普遍可用」)
不作为陷阱7 模型后训练text/09-ch07.txt:760(搜「不作为陷阱」)
OPD 三方法对照7 模型后训练text/09-ch07.txt:838(搜「On-Policy Distillation」) · text/09-ch07.txt:846(搜「在轨 + 稠密信号」)
时间感七配方对照7 模型后训练text/09-ch07.txt:854(搜「23 到 47 个百分点」)
OPSD7 模型后训练text/09-ch07.txt:860(搜「特权信息」) · text/09-ch07.txt:864(搜「自蒸馏」)
数据环境比算法7 模型后训练text/09-ch07.txt:568(搜「数据与环境」) · text/09-ch07.txt:588(搜「ZeroSearch」) · text/09-ch07.txt:604(搜「数据决定」)
SimpleVLA 推切7 模型后训练text/09-ch07.txt:710(搜「97.6%」) · text/09-ch07.txt:712(搜「推切」)
八陷阱与总原则7 模型后训练text/09-ch07.txt:874(搜「RAG 管理事实」) · text/09-ch07.txt:876(搜「20%」) · text/09-ch07.txt:890(搜「快速失败」) · text/09-ch07.txt:892(搜「协同」)

Footnotes

  1. 出处:「7 模型后训练」第 17-19 段(text/09-ch07.txt:27,搜「三阶段」的替换词:预训练;text/09-ch07.txt:59,搜「几十」的替换词:上百倍)。三阶段成本表见第 25-29 段(text/09-ch07.txt:27,搜「三阶段全景」)。

  2. 出处:「7 模型后训练」第 21-23 段(text/09-ch07.txt:21,搜「SFT 记忆」;text/09-ch07.txt:23,搜「数据和环境」)。

  3. 出处:「7 模型后训练」第 77-81 段(text/09-ch07.txt:77,搜「损失屏蔽」;text/09-ch07.txt:81,搜「固化进参数」)。

  4. 出处:「7 模型后训练」第 83 段(text/09-ch07.txt:83,搜「LoRA」)。

  5. 出处:「7 模型后训练」第 345 段(text/09-ch07.txt:345,搜「拒绝采样」)。

  6. 出处:「7 模型后训练」第 429-431 段(text/09-ch07.txt:429,搜「24」;text/09-ch07.txt:431,搜「黑色花色」)。

  7. 出处:「7 模型后训练」第 433-437 段(text/09-ch07.txt:433,搜「3.5%」;text/09-ch07.txt:437,搜「5.99%」)。

  8. 出处:「7 模型后训练」第 91 段(text/09-ch07.txt:91,搜「先形后神」)。

  9. 出处:「7 模型后训练」第 93 段(text/09-ch07.txt:93,搜「DeepSeek-R1-Zero」)。

  10. 出处:「7 模型后训练」第 393 段(text/09-ch07.txt:393,搜「临界点」)。

  11. 出处:「7 模型后训练」第 143-147 段(text/09-ch07.txt:143,搜「天花板是数据」;text/09-ch07.txt:147,搜「协变量漂移」)。

  12. 出处:「7 模型后训练」第 141 段(text/09-ch07.txt:141,搜「雨露均沾」)。

  13. 出处:「7 模型后训练」第 443-463 段(text/09-ch07.txt:445,搜「RLHF」;text/09-ch07.txt:459,搜「KL」)。

  14. 出处:「7 模型后训练」第 145 段(text/09-ch07.txt:145,搜「RLVR」)与第 509 段(text/09-ch07.txt:509,搜「优势估计」的替换词:优势)。

  15. 出处:「7 模型后训练」第 722-730 段(text/09-ch07.txt:722,搜「奖励结果」;text/09-ch07.txt:730,搜「β」)。

  16. 出处:「7 模型后训练」第 740-760 段(text/09-ch07.txt:740,搜「组内方差」;text/09-ch07.txt:750,搜「补回方差」;text/09-ch07.txt:760,搜「不作为陷阱」);实验数字见第 778 段(text/09-ch07.txt:778,搜「3.71」的替换词:违规)。

  17. 出处:「7 模型后训练」第 838-846 段(text/09-ch07.txt:838,搜「On-Policy Distillation」;text/09-ch07.txt:846,搜「在轨 + 稠密信号」)。

  18. 出处:「7 模型后训练」第 854 段(text/09-ch07.txt:854,搜「23 到 47 个百分点」)。

  19. 出处:「7 模型后训练」第 860-864 段(text/09-ch07.txt:860,搜「特权信息」;text/09-ch07.txt:864,搜「自蒸馏」)。

  20. 出处:「7 模型后训练」第 568-578 段(text/09-ch07.txt:568,搜「数据与环境」;text/09-ch07.txt:588,搜「ZeroSearch」)。

  21. 出处:「7 模型后训练」第 604 段(text/09-ch07.txt:604,搜「数据决定」)。

  22. 出处:「7 模型后训练」第 690-700 段(text/09-ch07.txt:530,搜「信用分配」;text/09-ch07.txt:700,搜「过程奖励」);SFT 平衡口诀见第 91 段(text/09-ch07.txt:91,搜「格式稳定」)。

  23. 出处:「7 模型后训练」第 874-894 段(text/09-ch07.txt:876,搜「20%」;text/09-ch07.txt:890,搜「快速失败」;text/09-ch07.txt:892,搜「协同」)。