Allen Institute for AI  /  2026 定稿版
RLHF BOOK

基于人类反馈的强化学习

预训练决定了模型知道什么,后训练决定了它是不是能用。这里是 Nathan Lambert《RLHF Book》全 17 章加 3 个附录的中文精读文档。

作者:Nathan Lambert(Ai2,OLMo 后训练负责人) 英文原书 rlhfbook.com GitHub 源码仓库 作者博客 Interconnects

0. 这本书在讲什么

2022 年 11 月之前,「把 GPT-3 变成 ChatGPT」这件事在公开文献里几乎没有系统记载。基座模型的能力早就在那里了,但它只会续写文本;让它变成一个会回答问题、会拒绝、会在合适的时候说「我不知道」的助手,靠的是一整套后训练(post-training)技术。这本书讲的就是这套技术里最核心、也最难写清楚的那一部分。

后训练的整体图景

现代后训练由三类优化方法组成,它们通常按顺序叠加、也常常循环往复:

阶段做什么信号从哪来本书章节
指令微调(SFT / IFT) 教会模型「对话」这种格式,把 base 模型改造成 assistant 人写的或模型生成的示范回复,逐 token 做交叉熵 ch04
偏好微调(PreFT) 在同一个 prompt 的多个回复之间做取舍,优化「哪个更好」 成对比较标签 →(可选)奖励模型 → RL 或直接对齐 ch05、ch06、ch08、ch09
可验证奖励强化学习(RLVR) 在答案可被程序判定对错的任务上,把能力真正训上去 代码测试用例、数学答案匹配、工具执行结果 ch07、ch13

RLHF 主宰第二块,同时是第三块的技术祖先——今天所有推理模型用的 GRPO、rollout 基础设施、KL 控制,都是从 RLHF 的 PPO 流水线里长出来的。所以哪怕你只关心 o1/R1 那条路线,也得先把 RLHF 这一段读通。

贯穿全书的一个目标函数

整本书的技术内容,几乎都可以挂到这一个式子上:

$$ \max_{\pi_\theta} \; \E_{x \sim \mathcal{D},\, y \sim \pi_\theta(\cdot \mid x)} \big[ r_\phi(x, y) \big] \;-\; \beta\, \KL\big[\pi_\theta(y \mid x) \,\|\, \pi_{\text{ref}}(y \mid x)\big] $$

其中 $r_\phi$ 是奖励(ch05 讲它怎么从偏好数据里学出来),$\max$ 那一项怎么算梯度是 ch06 的全部内容,$\KL$ 惩罚项是 ch15,$r_\phi$ 被优化坏掉的那些方式是 ch14,绕开 $r_\phi$ 直接解这个式子得到 DPO 是 ch08,把 $r_\phi$ 换成程序化验证器就是 ch07。剩下的章节讲的是这个式子外面的东西:数据从哪来(ch10–ch12)、怎么知道自己练好了(ch16)。

它和一篇论文综述的区别

关于 RLHF 的综述已经有很多,这本书值得单独读的理由是它是从实践者视角写的。作者 Nathan Lambert 在 Ai2 带 OLMo 的后训练,此前在 HuggingFace 做过 Zephyr 和 TRL,Tülu 系列模型和数据集也出自他手。这意味着书里到处是这种判断:

  • 哪些技巧真有用。拒绝采样(ch09)几乎没有正经论文,却是工业界跑得最多的算法;SFT 数据的质量比数量重要一个数量级;奖励模型的绝对分数没有意义、只有相对排序有意义。
  • 哪些是论文里好看而已。过程奖励模型(PRM)在真实流水线里的地位远不如论文数量暗示的那么高;DPO 的各种变体绝大多数在换个数据集之后就复现不出优势;「aha moment」被讲成了神话,实际观察到的现象要平淡得多(ch07)。
  • 哪些是行业公开秘密。偏好数据的单条成本量级、标注一致率(IAA)真实能到多少、大厂为什么宁可花钱买数据也不用开源集(ch11);character training 每天在做但几乎不发论文(ch17)。

这些判断在原书里散落在正文各处,在本站的每一章里被显式提出来,标为「Lambert 的判断」。它们是这本书最不可替代的部分——公式你在别处也能查到,取舍经验不行。

它不讲什么

作者对本书的定位很克制:不是一本穷尽一切的教科书,而是一本能让你动手做出玩具实现、或者有底气扎进文献的最小知识集合。因此几个方向被有意留在了范围之外:

  • 预训练。数据清洗、并行策略、缩放律都不在此列,本书默认你手上已经有一个 base 模型。
  • 经典深度强化学习。Q-learning、离线 RL、连续控制只在附录 A 里作为背景提一句。语言模型上的 RL 是一个非常特殊的退化情形(单步决策、确定性转移、动作空间等于词表),把 Sutton & Barto 读完并不会让你在这里更顺利。
  • 最新一周的论文。本书刻意只收录「反复被验证过、在多个团队多个设置下都成立」的技术。这是它作为参考手册的价值来源,也意味着你不能指望在这里读到上个月的 SOTA。
  • 可复现的排行榜数字。RLHF 是一个结果噪声极大的领域,作者反复提醒:不要把任何单篇论文的数字当定论,要读多篇形成直觉。

适合谁读

你是能拿到什么
要动手做后训练的工程师一份从数据准备到排障的完整操作路径,附录 C 是显存核算和常见 bug 的排查手册
研究方向转向 RL / 对齐的学生策略梯度到 GRPO 的完整推导链条,以及每个算法当初是为解决什么问题被造出来的
做 agent、做产品的人模型「性格」是怎么被训进去的、工具调用怎么进入训练循环、评测为什么是最大瓶颈
关心 AI 风险与局限的人偏好本身的理论困境(Arrow、VNM)、过优化的必然性、谄媚是怎么被训出来的

预备知识:熟练 Python 与 PyTorch,知道 Transformer 和交叉熵损失是什么。不需要强化学习基础——MDP、策略、价值函数、优势函数这些概念在 ch03 和附录 A 里从头讲。

1. 全部章节

共 17 章 + 3 个附录,每一章都是 1 万–2 万中文字的精读:覆盖原章节的每个小节,在原文给结论的地方补推导、直觉、数值例子和可运行的最小实现。不是摘要,可以直接替代读英文原章节。

基础 · 从问题定义到符号系统
三大支柱 · SFT / 奖励模型 / 策略梯度
算法家族 · 推理、直接对齐、拒绝采样
数据 · 偏好从哪来,又能不能信
工程与风险 · 工具、过优化、正则化
评测与产品 · 怎么知道自己练好了
附录与作业 · 查阅与动手
APPENDIX A
术语与定义

全书符号表 + 术语速查手册:每个记号的数学形式、中英文名、量纲与张量形状、首次出现的章节。另外展开讲了三个最容易卡住的概念:优势函数到底在比什么、三种 KL 估计器的区别、on-policy 这个词在 RLHF 语境下的确切含义。读正文卡壳时回来查这里。

符号表 · 张量形状 · 优势函数 · KL 估计器 · on-policy
APPENDIX B
不只是「文风」

对「RLHF 只是学会了讨好人的文风、并没有真正提升能力」这个流传最广的批评,作者的完整反驳:文风本身就是信息传递效率的一部分,格式、长度、结构化程度会实打实改变用户能否用上模型的知识。同时也承认这个批评在什么条件下确实成立。

文风即能力 · 长度偏置 · 用户体验 · 批评的边界
APPENDIX C
实践问题

真正动手跑后训练时会踩的坑,按「症状 → 成因 → 排查顺序」组织:算力预算与显存逐项核算(RL 要同时放几个模型)、超参搜索该先动哪个、loss 不降 / 奖励不涨 / 输出崩成重复串各自对应什么问题。排障时直接翻这一篇。

显存核算 · 超参优先级 · 常见 bug · 排障流程
HOMEWORK
配套作业

六个可在单卡上跑完的小实验,用 SmolLM 级别的模型把书里的算法真正跑一遍:hw1 SFT、hw2 奖励模型、hw3 策略梯度、hw4 DPO、hw5 拒绝采样、hw6 蒸馏。每个作业都配了训练日志和指标曲线,能看到书里描述的现象(比如 DPO 的概率位移)在真实训练里长什么样。

SFT · RM · PG · DPO · 拒绝采样 · 蒸馏

2. 课程地图:11 讲与 17 章的对应

除了书,Lambert 还录了一套配套课程,共 11 讲(lec0 是 RL 预备知识回顾,lec1–lec10 是正课)。课程不是把书念一遍——它是作者拿着书讲课时,把哪些内容值得强调、哪些可以跳过、哪些他自己也不太信,当场说了出来。这些判断是本站的独有信息:本站以书的章节为主干组织,讲座里的实践判断已经折进对应章节的正文。

之所以选书而不是讲座作为主干,理由很简单:书的组织更适合当参考手册反复查,而讲座是线性的、为一次性讲授优化的。但知道对应关系仍然有用——如果你在看录像,这张表告诉你该配哪几章读。

讲次主题对应章节本站入口
lec0RL 预备知识回顾(The ML Foundations of LLM Post-Training)前置内容,不单独成章ch03 · 附录 A
lec1导论与全景(Overview)第 1–3 章ch01 · ch02 · ch03
lec2SFT、奖励模型、拒绝采样第 4、5、9 章ch04 · ch05 · ch09
lec3策略梯度(上):强化学习基础第 6 章前半ch06
lec4策略梯度(下):实现与实践第 6 章后半ch06
lec5推理模型的兴起第 7 章ch07
lec6直接偏好优化(DPO)第 8 章ch08
lec7合成数据与现代后训练方法第 12 章ch12
lec8偏好与偏好数据第 10、11 章ch10 · ch11
lec9过优化与 RLHF 的坏名声第 14 章 + 附录 Bch14 · 附录 B
lec10正则化、RL 为何泛化、SFT 为何遗忘第 15 章ch15
读这张表要注意三件事
  • 第 6 章占了两讲。策略梯度是全书唯一被拆成上下两次讲的内容——lec3 讲数学(策略梯度定理、PPO、GAE),lec4 讲实现与踩坑。本站合并成 ch06 一章,也因此它是全站最长的一页。
  • lec9 原本是一讲,后来被拆成两讲。作者把「叙事/实证」(过优化、RLHF 的坏名声)和「数学/技术」(KL 控制、正则化)分开,让每个视频只对应一种内容类型,理由和 lec3/lec4 的拆分一样。
  • 有五处内容没有对应讲座:ch13(工具使用)、ch16(评测)、ch17(性格与产品化)、附录 A、附录 C。这几篇仅依据章节原文与参考实现代码写成。其中 ch16 和 ch17 是原书里最新、也最贴近前沿实验室当下做法的两章,别因为「没有讲座」就跳过。

3. 学习路线建议

20 篇不必线性读完。三类读者对应三条路线,后一条包含前一条。

(a) 只想搞懂 RLHF 的核心机制

目标是能看懂论文、能听懂同事在说什么,不打算自己跑训练。五篇,大约两周:

这条路线的逻辑是「一个目标函数被建立、被求解、再被绕开」:ch01 说清楚要解决什么问题,ch03 把它写成数学式子,ch05 造出奖励函数 $r_\phi$,ch06 用策略梯度去优化它,ch08 展示同一个式子还能被解析地解开、完全不需要 RL。走完这五篇,你手上就有了理解后续所有变体的框架。

可以先跳过的:ch02(历史,有趣但不影响理解)、ch06 里的变体家族对照(先看懂 REINFORCE → PPO → GRPO 这条主线就够)。

(b) 要动手做后训练

在 (a) 的基础上补齐工程链条。顺序建议按流水线的实际执行顺序走:

  • ch04 不要跳。后训练里最常见的 bug 不在 RL 部分,而在 chat template 拼错和 loss mask 没对齐。这两个问题不会报错,只会让你的模型悄悄变差。
  • ch09 是性价比最高的一章。如果你只有有限的算力和时间,拒绝采样比跑 PPO 更可能先做出效果,而且它的失败模式少得多。很多团队的第一版「RLHF 模型」其实是拒绝采样出来的。
  • ch12 决定你的数据从哪来。今天几乎没人从零标注 SFT 数据了,怎么用大模型造数据、怎么筛,直接决定上限。
  • 附录 C 是排障手册,不用通读。训练跑挂了、显存爆了、奖励曲线不对劲的时候按症状查。
  • 作业是唯一能把这些变成肌肉记忆的环节。六个实验都能在单张消费级卡上跑完,用的是 SmolLM 量级的模型——重点不是训出好模型,是亲眼看到 DPO 的概率位移、奖励模型的过拟合、PG 的方差这些书里描述的现象。

(c) 关心局限与风险

这条路线可以独立走,不需要先读完 (a)——它关注的是「这套方法在原理上会在哪里出问题」,技术细节要求较低:

顺序是有讲究的:ch10 说明假设层面的问题(把多人的、内部矛盾的偏好压成一个标量函数,在理论上就是不可能的);ch14 说明优化层面的必然后果(只要奖励是学出来的代理,过优化就不可避免);ch15 是应对手段及其代价;ch16 说明我们连「有没有变好」都测不准,所以前面所有问题都很难被及时发现。最后附录 B 是对这条路线的一个平衡——批评 RLHF 的人常说它「只学会了文风」,这一篇解释为什么这个说法既有道理又低估了它。

如果还有余力,ch11(偏好数据是怎么被生产出来的)和 ch17(模型性格是怎么被设计的)会让这条路线更完整——它们把抽象的「价值对齐」问题落到具体的人和具体的商业决策上。

两个通用建议
  • 附录 A 随时备查。本书的符号密度不低,$\pi_\theta$、$\pi_{\text{ref}}$、$A_t$、$\beta$、$r_\phi$ 在不同章节的下标习惯略有差异。卡在某个式子上时,先去附录 A 确认符号含义和张量形状,通常比反复读那一段更快。
  • 不要把任何单个实验结果当定论。RLHF 是一个复现性很差的领域:同一个算法换个基座模型、换个数据集,结论可能反过来。原书大量使用学术引用正是为了让你能去读多篇论文而不是记住一个数字。本站每章末尾的「延伸阅读」按这个思路组织。

4. 关于这份文档

内容整理自 Nathan Lambert《RLHF Book》的公开源码仓库:书章节的 Markdown 原文、作者本人授课用的 11 份讲座稿、课程问答记录,以及配套的参考实现代码。每一章在忠实覆盖原章节全部小节的基础上,补充了推导过程、数值例子、最小 PyTorch 实现,并把讲座里作者的实践判断显式写进正文。

原书目前有正式英文纸质版在制作中,网页版持续更新在 rlhfbook.com,源码在 natolambert/rlhf-book。作者的博客 Interconnects 是这本书内容的持续延伸,书里许多判断的完整论证在那里能找到。发现本站的错译或错误,欢迎直接对照英文原文核对。

本站配图取自原书仓库,公式使用 MathJax 渲染,每一页左侧的目录由脚本自动生成。全部页面为静态 HTML,可离线阅读。

页面里的几种提示框

正文中的彩色方框各有固定含义,扫读时可以据此决定读不读:

类型含义
核心结论这一节如果只记一件事,就记这个。每章第 0 节必有一个。
直觉把公式翻译成人话,或者装作者本人的实践判断(标为「Lambert 的判断」)——哪些技巧真有用、哪些是论文里好看而已。
推导可以跳过的完整数学过程。跳过不影响读懂后文,但至少读一遍能省掉后面很多困惑。
注意 / 常见误区实现时真的会踩的坑,以及领域里流传很广但其实站不住的说法。

术语首次出现时写成「中文(English, 缩写)」的形式,之后一律用缩写。token、prompt、rollout、logits、batch、KL、on-policy / off-policy 这几个词保持英文不译——它们在中文技术讨论里本来就以英文形态流通,硬译反而增加阅读成本。