模仿还是优化 — 选择、组装,与你的第一张 12GB 显卡
这一章讲三件事: 两条训练路怎么选;选完之后怎么组装成流水线; 以及这一切跑在什么工具和硬件上。 它是全书的收束章——前面六章的机制在这里压成一张选择地图。 读完你能回答:「我的任务该用 SFT、偏好学习还是 RL?流水线怎么排?」
1. 先看现象:同一个任务,两种训法,两种翻车
拿第 05 章那道格式题当对照片:「说出一种原色,把答案放进 answer 标签。」两种训法都能把它教会,但梯度干的活完全不同(下一节展开)1。
更有意思的是翻车方式:改成一道更难的任务,SFT 会忠实地学会平庸——数据里没有的更好做法,它永远学不到;RL 则会找到奖励的漏洞——你要它解题,它发现讨好评委的捷径更省力。同一个目标,两种完全相反的死法2。
2. 顶层全景:一张选择地图
你能写出标准答案吗?
├─ 能 ──→ SFT(模仿):朝你给的目标收紧
│ 天花板 = 示范的质量
└─ 不能,但对错能自动判 ──→ RL(优化):朝高分自产样本收紧
天花板 = 奖励的质量 + 模型采样够不够得着
图说:判据不是「哪个方法更强」,是「你的信号长什么样」。
写得出答案给 SFT;写不出答案但认得出答案,给 RL。
两者都给不出的(开放域对话),退回第 04 章:先花钱造信号(偏好数据/奖励模型)。
3. 核心原理:三个不对称
不对称一:梯度同形,来源不同(主走查)
同一道格式题,把两条更新并排(概率与优势数值为演示编的,机制与公式是书里的)3:
SFT:你写好示范 <answer>red</answer>
更新 = 朝这串精确字符收紧
每一步最小化: −logprob(「red」这串目标)
GRPO:不写示范。模型自己采 8 条:
[「<answer>red</answer>」 3分, 「red」 0分, 「<answer>blue</answer>」 3分, …]
更新 = 抬高高于组均值的、压低低于组均值的
每一步最小化: −(优势 × logprob(模型自己的样本))
书里的并排结论:把优势搁到一边,RL 更新就是「朝模型自己的输出做 SFT」;
优势只是按质量给这些自产目标重新加权。
后果直接从来源长出来:SFT 稳、省样本——每个 token 都是干净的信号,过一遍好数据就可靠地动;但它要你供得起好数据,且教不了示范外的东西。RL 只要验证器、能发现没人示范的行为,但更吵、依赖撞到、奖励没方差或奖错了就崩4。
不对称二:失败方式相反
- SFT 的天花板是数据。唯一的信号是「照这个写」:示范平庸,它忠实学会平庸;示范优秀,它逼近但不超越——目标里没有任何「比示范更好」的奖励5;
- RL 的天花板是奖励 + 模型采样够不够得着。它能发现没有示范的策略,只要偶尔采样得到、奖励认得出——R1-Zero 的思维链就是这么来的。反面:优化会找到奖励度量的任何东西,包括你不想教的捷径——奖励能被绕过,就一定会被绕过。模仿没有这种病,它抄行为、不追分数6。
一句话(书里原话的意思):模仿被数据封顶;优化只和它的奖励一样诚实。
不对称三:成本挪到不同的地方
SFT 把成本花在数据上:好回答要写、要收——挖日志、雇人写、或拿更强的模型生成再过滤(Llama 3 配方走的就是第三条)。RL 把成本挪到奖励上:数据只剩 prompt(便宜,还能反复用),难的是造一个抓得住真实需求、防得住捷径、还留得住方差的奖励函数7。
可验证域(数学、代码)的 RL 进展最快,原因就在这:最贵的部分免费——检查器是现成的。开放域对话要偏好数据和奖励模型,于是慢。书里的落点:规划后训练项目,先问一句话——我的信号从哪来?8
并排速查:什么时候用哪个
书里的对照表(表 2-2)压缩如下9:
| 对比的方面 | SFT | RL(GRPO) |
|---|---|---|
| 训练信号 | 你提供的目标回答 | 模型自产样本的奖励分 |
| 数据 | prompt + 好回答 | 只要 prompt |
| 人工成本 | 收集高质量回答 | 设计防捷径的奖励 |
| 天花板 | 示范的质量 | 奖励的质量 + 采样的触及范围 |
| 会怎么坏 | 继承数据的局限 | 钻奖励的空子 |
| 最适合 | 格式、风格、工具调用的写法、冷启动 | 数学、代码、多步 agent、可验证结局 |
「冷启动」是表里唯一没讲过的词:意思是在强化学习开跑之前,先用 SFT 给模型一个能正常说话的起点——不然 RL 早期全靠撞,连一条像样的回答都采不出来(第 05 章讲过的「早期靠运气」)。
正典组合:SFT 铺地板,RL 抬天花板
DeepSeek-R1 的配方被书里点名为两条路的正典组合:先用 SFT 给模型一个够用的起点和体面的输出格式,再用 RL 对着可验证奖励优化推理。SFT 供给地板,RL 抬高天花板——你现在手里有两半的能跑版本了(第 03 章和第 05 章)10。
4. 组装:最短流水线
三段怎么排?书里的工程答案分四条11:
-
流水线是一串检查点(训练中途存盘的模型快照):每一段从上一段最好的那个检查点出发;
-
SFT 先行:教指令、格式和你应用依赖的示例;SFT 之后评测过关,流水线就可以停;
-
后两段都是可选的:格式对了但判断力差(语气、有用性、拒答分寸),加偏好学习;任务结局可验证、且评测显示前两段不够,才上 GRPO;
-
用能改变目标行为的最短流水线:加下一段的唯一理由,是评测暴露了上一段补不上的缺口。书里给的次序感:提示词解决很多用例,SFT 更少,RL 更更少——每往上一段,成本和复杂度(搭建与维护要费的工夫)都上一个台阶。
5. 工装与硬件:这一切跑在什么上
四件工具
书里的工具栈四件套12:
-
transformers:模型架构、切词器(行话叫分词:把文字切成 token 的那道工序)、训练底座——你已经在第 03、05 章直接用过它;
-
TRL:后训练的中枢,三个训练器对应三段——SFTTrainer、DPOTrainer、GRPOTrainer;建在 transformers 上,同一套模型对象、同一套配置写法;
-
PEFT:让小显卡能训全尺寸模型的库,核心是 LoRA(做法见下一节);
-
Hub:模型、数据集、检查点的存放与分发层:推检查点、写模型卡、复用别人的基础模型和数据。
LoRA/QLoRA:4B 模型挤进 12GB
先看全量微调(所有权重都动)的显存账:权重 + 优化器状态 + 梯度,4B 参数的模型按半精度(每个数用 16 位而不是 32 位存放)训练约 28GB——一张消费级显卡装不下13。
PEFT 的主力 LoRA 换了个思路:原有权重全部冻结(训练中保持不动),只训一小部分外挂的参数13。
外挂长在哪:模型的注意力(模型决定「接下来看哪里」的机制)层里。
长出来的样子:几张小的可训练矩阵(几行几列的数表)插在层内——可训练参数少几个数量级,训练质量却保住大半13。
QLoRA 再叠一层量化(把权重从高精度数字压成低精度存放,省显存),把 4B 模型的微调压进单张 12GB 显存的卡(比如 T4)13。
参照系:12GB 是张消费级卡;28GB 已经出了大多数单卡的地平线——LoRA 一族把「能不能训」的分界线从机房挪到了桌面。
硬件底线
书里的假设:单卡 ≥12GB 即可跑完全书的例子;更大显存可以训更大模型;没有本地卡,云 GPU、Hugging Face Jobs、Colab 都兼容,成本不高14。
6. 作者的判断与证据
给了证据的:
- Llama 3 / Qwen 2.5 / R1 三份配方对「SFT+精修」组合的验证(第 02 章的表);
- 28GB(4B 全量)vs 12GB(QLoRA)的显存差——对应公开的工程事实,读者有一张卡就能验。
是作者的论断:
- 「每往上一段,解决的用例更少」——流水线经济学的一个概括,书里没给各段的成本数字;
- 「数据质量压倒数量」(第 03 章出现过)在这里再次作为选型前提出现,仍属强论断。
判断(我们的,不是书里的): 把全书压成一句可操作的话——先问「信号在哪」,再问「信号多少钱」。 有示范 → SFT;只有对错 → RL;只有口味 → 先造奖励模型;什么都没有 → 这个任务 现在还不该训,回 API 加提示词。三条失败路径(数据平庸、奖励漏洞、标注噪声) 全部是「信号质量」问题——这门手艺的瓶颈从算法转移到了信号设计上。 如果错,会错在: 如果某类任务里算法本身(而非信号)才是主要瓶颈—— 比如多步 agent 的信用分配——那么「信号质量决定成败」的说法就会低估算法侧的功课。
7. 边界与局限:这本书是个未完成品
必须如实交代:这是 Early Release,原书计划 9 章,目前只出了 2 章。书里自己承诺而本书拿不到的内容:各阶段的完整算法与数据章(第 3–6 章,用 TRL 展开)、生产流水线(第 7 章)、推理与可验证奖励 RL 的完整展开(第 8 章)、安全/评测/实验运营(第 9 章)15。配图方面:第 2 章的 7 张已就位,第 1 章那张图在、但图注还写着「TO COME」;配套仓库的地址还是个没填的占位符。另外原书正文自相矛盾处:第 1 章说全书跟着一个 4B 模型走,第 2 章实际用的是 0.6B 的 Qwen3——拿到后续版本时此处要重核。
所以这份拆解的定位:它把已经出版的两章讲透——概念地图(第 01 章)、动机与配方(第 02 章)、三条技术路线的机制与最小实现(第 03–05 章)、agent 的方向(第 06 章)、选择与组装(本章)。把它当入门地图用是对的;当完整手册用,还差 7 章。
8. 可带走的
- 判据一句话:写得出答案用 SFT,认得出答案用 RL, 只有口味先造奖励模型;
- 两条更新同形不同源:SFT 朝你给的目标,RL 朝模型自己的高分样本;
- 失败方式相反:模仿被数据封顶(天花板=示范),优化被奖励的诚实度封顶(能被绕过必被绕过);
- 成本守恒:SFT 贵在数据,RL 贵在奖励;可验证域进展最快,因为奖励免费;
- SFT 铺地板,RL 抬天花板——R1 配方是正典组合;
- 组装原则:能改变目标行为的最短流水线;评测过关就停,别为完整而完整;
- 提示词 → SFT → 偏好 → RL,每上一段,解决的用例更少、成本更高;
- TRL 三个训练器对应三段,transformers 是底座,Hub 是存放与分发层;
- LoRA 冻结原权重、只插小矩阵;QLoRA 叠量化——4B 模型 12GB 显卡就能微调(全量要 28GB);
- 这是 2/9 章的 Early Release:当入门地图,别当完整手册。
9. 原文地图
| 主题 | 原书章 | 原文位置 |
|---|---|---|
| 同一任务的两种更新 | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:361(搜「token for token」) |
| 梯度同形、优势重新加权 | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:363( 搜「reweights those self-generated targets」) |
| SFT 稳、RL 吵的后果 | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:367(搜「sample-efficient」) |
| SFT 的天花板是数据 | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:377(搜「The ceiling is the data」) |
| RL 的天花板与 R1-Zero | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:379(搜「own reach」) |
| 两种失败方式相反 | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:381(搜「only as honest as its reward」) |
| 成本挪到奖励 | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:387(搜「The cost moves to the reward」) |
| 不对称解释领域形状 | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:389(搜「came for free」) |
| SFT 几乎总是起点 | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:393(搜「where a pipeline begins」) |
| 对照表(表 2-2) | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:397(搜「When to reach for SFT」) |
| SFT 铺地板、RL 抬天花板 | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:427(搜「SFT supplies the floor」) |
| 总结:成本定律 | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:433(搜「Data is the cost of imitation」) |
| 流水线=检查点串联 | Chapter 1. Introduction to Post-Training | text/04-ch01-chapter-1-introduction-to-post-training.txt:192(搜「sequence of checkpoints」) |
| SFT 后过评测就停 | Chapter 1. Introduction to Post-Training | text/04-ch01-chapter-1-introduction-to-post-training.txt:194(搜「the pipeline may stop there」) |
| 偏好/RL 的加段条件 | Chapter 1. Introduction to Post-Training | text/04-ch01-chapter-1-introduction-to-post-training.txt:196(搜「responds in the right format」) · :198(搜「checkable outcomes」) |
| 最短流水线原则 | Chapter 1. Introduction to Post-Training | text/04-ch01-chapter-1-introduction-to-post-training.txt:202(搜「shortest pipeline」) |
| TRL 三个训练器 | Chapter 1. Introduction to Post-Training | text/04-ch01-chapter-1-introduction-to-post-training.txt:220(搜「SFTTrainer」) |
| 28GB vs LoRA/QLoRA 12GB | Chapter 1. Introduction to Post-Training | text/04-ch01-chapter-1-introduction-to-post-training.txt:224(搜「28 GB」) |
| Hub 的角色 | Chapter 1. Introduction to Post-Training | text/04-ch01-chapter-1-introduction-to-post-training.txt:226(搜「model cards」) |
| 硬件假设(12GB、T4) | Chapter 1. Introduction to Post-Training | text/04-ch01-chapter-1-introduction-to-post-training.txt:232(搜「such as a T4」) |
| 章节规划(2–9 章) | Chapter 1. Introduction to Post-Training | text/04-ch01-chapter-1-introduction-to-post-training.txt:212(搜「Chapter 7 connects the stages」) |
| 4B 跟踪模型的说法 | Chapter 1. Introduction to Post-Training | text/04-ch01-chapter-1-introduction-to-post-training.txt:210(搜「4B parameters」) |
| 0.6B 实际模型(矛盾处) | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:45(搜「600 million parameter」) |
| 配套仓库占位符 | Chapter 2. Speed Run Post-Training from First Principles | text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:18(搜「REPO URL」) |