跳到主要内容

模仿还是优化 — 选择、组装,与你的第一张 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:

对比的方面SFTRL(GRPO)
训练信号你提供的目标回答模型自产样本的奖励分
数据prompt + 好回答只要 prompt
人工成本收集高质量回答设计防捷径的奖励
天花板示范的质量奖励的质量 + 采样的触及范围
会怎么坏继承数据的局限钻奖励的空子
最适合格式、风格、工具调用的写法、冷启动数学、代码、多步 agent、可验证结局

「冷启动」是表里唯一没讲过的词:意思是在强化学习开跑之前,先用 SFT 给模型一个能正常说话的起点——不然 RL 早期全靠撞,连一条像样的回答都采不出来(第 05 章讲过的「早期靠运气」)。

正典组合:SFT 铺地板,RL 抬天花板

DeepSeek-R1 的配方被书里点名为两条路的正典组合:先用 SFT 给模型一个够用的起点和体面的输出格式,再用 RL 对着可验证奖励优化推理。SFT 供给地板,RL 抬高天花板——你现在手里有两半的能跑版本了(第 03 章和第 05 章)10

4. 组装:最短流水线

三段怎么排?书里的工程答案分四条11:

  1. 流水线是一串检查点(训练中途存盘的模型快照):每一段从上一段最好的那个检查点出发;

  2. SFT 先行:教指令、格式和你应用依赖的示例;SFT 之后评测过关,流水线就可以停;

  3. 后两段都是可选的:格式对了但判断力差(语气、有用性、拒答分寸),加偏好学习;任务结局可验证、且评测显示前两段不够,才上 GRPO;

  4. 用能改变目标行为的最短流水线:加下一段的唯一理由,是评测暴露了上一段补不上的缺口。书里给的次序感:提示词解决很多用例,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. 可带走的

  1. 判据一句话:写得出答案用 SFT,认得出答案用 RL,只有口味先造奖励模型;
  2. 两条更新同形不同源:SFT 朝你给的目标,RL 朝模型自己的高分样本;
  3. 失败方式相反:模仿被数据封顶(天花板=示范),优化被奖励的诚实度封顶(能被绕过必被绕过);
  4. 成本守恒:SFT 贵在数据,RL 贵在奖励;可验证域进展最快,因为奖励免费;
  5. SFT 铺地板,RL 抬天花板——R1 配方是正典组合;
  6. 组装原则:能改变目标行为的最短流水线;评测过关就停,别为完整而完整;
  7. 提示词 → SFT → 偏好 → RL,每上一段,解决的用例更少、成本更高;
  8. TRL 三个训练器对应三段,transformers 是底座,Hub 是存放与分发层;
  9. LoRA 冻结原权重、只插小矩阵;QLoRA 叠量化——4B 模型 12GB 显卡就能微调(全量要 28GB);
  10. 这是 2/9 章的 Early Release:当入门地图,别当完整手册。

9. 原文地图

主题原书章原文位置
同一任务的两种更新Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:361(搜「token for token」)
梯度同形、优势重新加权Chapter 2. Speed Run Post-Training from First Principlestext/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 Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:367(搜「sample-efficient」)
SFT 的天花板是数据Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:377(搜「The ceiling is the data」)
RL 的天花板与 R1-ZeroChapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:379(搜「own reach」)
两种失败方式相反Chapter 2. Speed Run Post-Training from First Principlestext/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 Principlestext/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 Principlestext/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 Principlestext/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 Principlestext/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 Principlestext/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 Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:433(搜「Data is the cost of imitation」)
流水线=检查点串联Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:192(搜「sequence of checkpoints」)
SFT 后过评测就停Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:194(搜「the pipeline may stop there」)
偏好/RL 的加段条件Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:196(搜「responds in the right format」) · :198(搜「checkable outcomes」)
最短流水线原则Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:202(搜「shortest pipeline」)
TRL 三个训练器Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:220(搜「SFTTrainer」)
28GB vs LoRA/QLoRA 12GBChapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:224(搜「28 GB」)
Hub 的角色Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:226(搜「model cards」)
硬件假设(12GB、T4)Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:232(搜「such as a T4」)
章节规划(2–9 章)Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:212(搜「Chapter 7 connects the stages」)
4B 跟踪模型的说法Chapter 1. Introduction to Post-Trainingtext/04-ch01-chapter-1-introduction-to-post-training.txt:210(搜「4B parameters」)
0.6B 实际模型(矛盾处)Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:45(搜「600 million parameter」)
配套仓库占位符Chapter 2. Speed Run Post-Training from First Principlestext/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:18(搜「REPO URL」)

Footnotes

  1. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 359-361 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:361,搜「difference in their updates」)。原文:同一道格式任务上,SFT 复示范、RL 采样的差异变得具体。

  2. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 377-381 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:381,搜「fail in opposite ways」)。原文:模仿被数据封顶,优化只和奖励一样诚实。

  3. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 361-363 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:363,搜「reweights those self-generated targets」)。8 条样本与分数为演示编的;两式与结论是书里的。

  4. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 367 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:367,搜「noisier」)。原文:SFT 稳定、样本高效、每个 token 都是干净的梯度,但需要好数据、教不了示范外的行为;RL 只需验证器、能发现无人示范的行为,但更吵、依赖采样撞到、奖励无方差或奖错即崩。

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

  6. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 379-381 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:379,搜「own reach」)。原文:RL 能找到任何示范里都没有的策略,只要偶尔采样得到且奖励认得出;R1-Zero 的思维链即由此而来;反面是奖励的捷径一定被找。

  7. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 385-387 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:387,搜「The cost moves to the reward」)。原文:SFT 的成本在收集好补全(挖日志/雇标注/强模型生成+过滤,Llama 3 即第三条);RL 的数据只是便宜的 prompt,成本在造一个抓住真需求、防捷径、有方差的奖励。

  8. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 389 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:389,搜「came for free」)。原文:可验证域(数学/代码)RL 进展最快,因为最贵的奖励免费;开放域要有偏好数据与奖励模型;规划项目先问信号从哪来。

  9. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 397-425 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:397,搜「When to reach for SFT」)。表格为该书表 2-2 的压缩转写。

  10. 出处:「Chapter 2. Speed Run Post-Training from First Principles」第 427 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:427,搜「SFT supplies the floor」)。原文:R1 配方是正典组合——SFT 先给称职起点与体面格式,RL 再对可验证奖励优化推理;地板与天花板的措辞出自同段末。

  11. 出处:「Chapter 1. Introduction to Post-Training」第 190-202 段(text/04-ch01-chapter-1-introduction-to-post-training.txt:192,搜「sequence of checkpoints」)、第 194 段(搜「the pipeline may stop there」)、第 202 段(搜「shortest pipeline」)。原文还有一条:可以建环境只用于评测、停在完整 RL 之前(第 200 段)。

  12. 出处:「Chapter 1. Introduction to Post-Training」第 216-228 段(text/04-ch01-chapter-1-introduction-to-post-training.txt:220,搜「SFTTrainer」)与第 222 段(搜「built on top of transformers」)。TRL 提供各阶段训练器,接受与 transformers 相同的模型/分词器对象和配置模式。

  13. 出处:「Chapter 1. Introduction to Post-Training」第 224 段(text/04-ch01-chapter-1-introduction-to-post-training.txt:224,搜「28 GB」)。原文:全量微调要装下权重、优化器状态与梯度,4B 半精度约 28GB;LoRA 往注意力层加小可训练矩阵、冻结其余,可训练参数少几个数量级而保住大部分质量;量化变体 QLoRA 把 4B 的微调压到单张 12GB GPU。注意力层「决定看哪里」的解释为我们的转述。 2 3 4

  14. 出处:「Chapter 1. Introduction to Post-Training」第 232-234 段(text/04-ch01-chapter-1-introduction-to-post-training.txt:232,搜「such as a T4」)。原文:单卡 ≥12GB 足够训到约 4B(配合 QLoRA);更大的卡可训更大的模型;云 GPU、Hugging Face Jobs、Colab 均可,成本不高。

  15. 出处:「Chapter 1. Introduction to Post-Training」第 212 段(text/04-ch01-chapter-1-introduction-to-post-training.txt:212,搜「Chapter 7 connects the stages」)。原文规划:第 3–6 章用 TRL 与 HF 生态覆盖各阶段的算法、数据与基建;第 7 章生产流水线;第 8 章推理与可验证奖励 RL;第 9 章安全、评测与实验运营。配套仓库占位符见第 02 章第 18 段(text/05-ch02-chapter-2-speed-run-post-training-from-first-pri.txt:18,搜「REPO URL」)。