跳到主要内容

把强化学习装进语言模型 — 三处改造与三份菜谱

这一章讲三件事: 强化学习的最小词汇表是什么;RLHF 对这套骨架动了哪三处手术; 三份公开的经典菜谱各长什么样。读完你能把「一个 prompt 在 RLHF 流水线里走一遭」 的完整路线画出来——这是后面所有方法章的地图。

1. 这一章讲什么

第 01 章说了 RLHF 分三步,但没说「模型的评分怎么变成机器内部的调整」。这中间的桥梁 是强化学习(RL)——研究「一个智能体(在环境里做决策、靠试错学习的那方)靠奖励学会做事」的数学框架。这一章 先花三页把这个框架的最小词汇表立起来,然后看 RLHF 对它做了什么、没做什么, 最后拿三份真实菜谱把抽象的流程钉在地上。

2. 顶层全景与主走查

主走查走两趟。第一趟看标准强化学习长什么样——用书的例子:一根杆立在移动小车上 (倒立摆,叫 CartPole),每一步给小车向左或向右的推力,杆不倒、车不出界就继续得分1:

状态:小车的位置/速度 + 杆的角度/角速度(四个数)
动作:向左推 或 向右推
奖励:这一步还活着,就 +1;倒了或出界,游戏结束
目标:让「一局累计的奖励」尽量大 —— 活得越久分越高

图说:这就是强化学习的全部要素。剩下的所有数学,都在回答
「怎么从有限的对局里学到『每一步该往哪边推』」。

第二趟看同一个「状态→动作→奖励」骨架装进语言模型后变成什么样——拿一个 prompt 走完 InstructGPT 的三段菜谱(第 5 节展开):

「解释一下机会成本」(prompt,当作初始状态)
│ ① 指令微调后的模型生成一条回答(action = 整条回答)

奖励模型给它打分,比如 0.7(0 到 1 之间,越高越好;这条回答与分数都是为演示编的,
非真实数值)
│ ② 强化学习算法把这个分数换算成参数调整:让「这类回答」下次更容易出现

换下一个 prompt,重复几万次
│ ③ 全程有一条 KL 缰绳拴着:不许离起点太远(第 4 节)

最终模型

图说:第 ② 步的打分与换算是第 04、05、06 章的内容;
第 ③ 步的缰绳是第 13 章的内容。这一章负责把骨架立起来。

3. 核心原理

3.1 强化学习的最小词汇表

标准设定里有个智能体(agent,做决策的那一方),它观察环境的状态(state, 此刻的局面),按一套叫策略(policy)的行动准则选出动作(action),环境给回 奖励(reward,一个数,越高越好)2。一整串「状态→动作→奖励→下一个状态→…」 叫一条轨迹(trajectory)。智能体的目标:让轨迹上累计的奖励平均下来尽量大(这种「平均下来」的数学量,行话叫期望)3

两个书里点名的细节:一是折扣因子(γ):一个 0 到 1 之间的数,让「远期的奖励」 打折扣,1 就是不打折4;二是很多环境的状态演变是写得出公式的(CartPole 就能), 这类公式叫转移函数——记住它,因为 RLHF 要把它删掉

3.2 RLHF 的三处手术

把标准 RL 搬到语言模型上,书里列了三处关键改造5:

标准强化学习RLHF为什么
奖励是环境写死的函数奖励是一个学出来的奖励模型好回答的标准写不成函数,只能从人的偏好里学(第 04 章)
动作影响下一个状态没有状态转移prompt 是初始状态,回答不影响「下一个 prompt」是什么
每步动作各得一个分整条回答一个分(bandit 式)打分的是「这条回答好不好」,不是第几个字好不好

第三处值得多说一句:整条回答被当成一个复合动作。书里把它叫 bandit 问题—— 赌场老虎机的名字,意思是「拉一次杆,得一次回报,不存在局内的下一步」6。 这个选择决定了后面所有方法的形状:第 05、06 章里「把一个分摊给每个字还是整句共享」 的争论,根子就在这里。

3.3 KL 缰绳:从零开始学 vs 从强者出发微调

标准 RL 的智能体从随机初始化开始,怎么学都对。RLHF 完全不同:它的起点是一个已经 很强的模型(第 01 章的基座),要防的是训练把它带跑——为了一味讨好评分器, 把语言能力本身丢掉。所以 RLHF 的目标函数里永远加了一条「距离惩罚」7:

新模型的输出可能性(行话叫分布:一台机器「爱说什么」的全貌),和起点模型的分布,每偏差一点就扣一点分。 这个「分布差」用 KL 散度度量——衡量两个分布差多远的数,第 13 章专门讲它的具体算式与两个方向。

起点的那套参数——模型里全部可调的数——有个专名:参考模型(reference model)8

书里给训练者的实操概念叫 KL 预算:一次训练允许模型离起点走多远,是要精打细算 花销的资源——「资源」在这里就是「允许偏离的额度」9。第 14 章会看到,这个预算怎么花、花多少,直接决定模型是变好还是 变坏。

3.4 三份菜谱

InstructGPT(2022)——经典三段10:

基座模型
→ 指令微调:约 1 万条人写的一问一答
→ 奖励模型:约 10 万条成对偏好(每对 = 同一问题的两条回答,人选一条)
→ RLHF 优化:再拿约 10 万条问题,让模型生成、被打分、被调整

1 万、10 万、10 万——这个比例是整本书反复回 anchor 的基准线。

Tulu 3(2024)——开源(代码与模型文件公开可自由使用)的全工序版11:指令微调用约 100 万条(主要是更强的 模型生成的合成数据,第 11 章讲);偏好阶段约 100 万对、且专门强调「用被训模型 自己的输出」(第 10 章讲为什么);最后用可验证奖励做约 1 万题的小规模强化学习 (RLVR,第 07 章讲)。对照 InstructGPT:总量涨了一个数量级,数据来源从人写变成 模型写。

DeepSeek R1(2025)——推理模型的重排12:先用 10 万条上一步强化学习自己产出、 重过滤的推理样本「冷启动」;然后大规模的可验证奖励强化学习直到收敛(收敛=改进越来越小、稳定下来);再用拒绝 采样(第 08 章)按约 3/4 推理题 + 1/4 通用题配比筛数据;最后把可验证奖励和偏好 奖励模型混在一起打磨。三段菜谱摆在一起,趋势一目了然:强化学习的戏份越来越重, 重排顺序就能造出不同品种的模型

4. 作者的判断与证据

书里给证据的部分:三段菜谱的数据量全部出自公开技术报告(InstructGPT、Tulu 3、 DeepSeek R1 各自的论文),不是作者的估计。书里给判断的部分:作者断言「趋势是 后训练的步骤越来越多、方法越来越多、数据越来越杂」,并承认最强的那批模型 (ChatGPT、Claude)从不公开完整菜谱,公开配方只能代表开源前沿的天花板13。 这两类话在书里分得清楚,拆解里也照分。

5. 边界与局限

  • 附录 A 只有一小节:数学预备只覆盖自回归(把整句话的可能性拆成逐字相乘)分解、KL 散度定义和一套记号;

  • 网络结构基础不教:Transformer(主流的网络结构)长什么样,书里默认你已懂;

  • 调参的计算不教:反向传播(训练时怎么调参的那套计算)同理默认读者已有;

  • 分布式基础设施出局:多机多卡的训练系统只点到为止,书里明说「完整的复杂程度(行话叫复杂度)超出本书范围」;

  • 菜谱是快照:三份菜谱都是各自主报告写作时的状态,书里提醒「同配方跑一遍会更 容易、更省数据」,反过来也意味着菜谱会过时14

6. 可带走的

  1. 强化学习的骨架只有四样:状态、动作、奖励、策略;目标让累计奖励最大;
  2. RLHF 的三处手术:奖励函数→学出来的奖励模型、删状态转移、整句一个分;
  3. 「整句一个分」的 bandit 取舍,决定了一切方法的信用分配形状;
  4. KL 缰绳 + 参考模型是 RLHF 与「从零训练」的根本区别;KL 是要精算的预算;
  5. 数据量级:InstructGPT 的 1 万/10 万/10 万,五年后 Tulu 3 的 100 万/100 万/1 万;
  6. 菜谱的重排本身就是发明:R1 把 RL 挪到最前面,就造出了推理模型;
  7. 公开菜谱 ≤ 真实菜谱:最强模型的后训练细节至今没有完整公开版。

7. 原文地图

主题原书章原文位置
RL 问题设定、轨迹、折扣Training Overviewtext/06-ch03-3-training-overview.txt:50(搜「agent takes actions」) · text/06-ch03-3-training-overview.txt:82(搜「discount factor」)
CartPole 例子Training Overviewtext/06-ch03-3-training-overview.txt:107(搜「CartPole」) · text/06-ch03-3-training-overview.txt:127(搜「concrete instance」)
三处改造Training Overviewtext/06-ch03-3-training-overview.txt:145(搜「reward model」) · text/06-ch03-3-training-overview.txt:148(搜「No state transitions」) · text/06-ch03-3-training-overview.txt:151(搜「bandit problem」)
KL 正则与 KL 预算Training Overviewtext/06-ch03-3-training-overview.txt:195(搜「reference policy」) · text/06-ch03-3-training-overview.txt:214(搜「KL budget」)
工具箱清单Training Overviewtext/06-ch03-3-training-overview.txt:232(搜「Reward modeling」)
InstructGPT 菜谱Training Overviewtext/06-ch03-3-training-overview.txt:279(搜「~10K examples」) · text/06-ch03-3-training-overview.txt:282(搜「~100K pairwise」)
Tulu 3 菜谱Training Overviewtext/06-ch03-3-training-overview.txt:341(搜「~1M examples」) · text/06-ch03-3-training-overview.txt:347(搜「~10K prompts」)
DeepSeek R1 菜谱Training Overviewtext/06-ch03-3-training-overview.txt:370(搜「cold-start」) · text/06-ch03-3-training-overview.txt:379(搜「Mixed reinforcement」)
菜谱会过时Training Overviewtext/06-ch03-3-training-overview.txt:261(搜「becomes easier」)
自回归与 KL 定义A.1 Language Modeling Overviewtext/38-fm-a-1-language-modeling-overview.txt:24(搜「autoregressive manner」) · text/38-fm-a-1-language-modeling-overview.txt:68(搜「KL divergence」)
on-policy 的宽松口径A.1 Language Modeling Overviewtext/38-fm-a-1-language-modeling-overview.txt:155(搜「on-policy means」)
参考模型定义A.1 Language Modeling Overviewtext/38-fm-a-1-language-modeling-overview.txt:166(搜「Reference Model」)

Footnotes

  1. 出处:「Training Overview」第 107 段(text/06-ch03-3-training-overview.txt:107,搜「inverted pendulum」)与第 127 段(text/06-ch03-3-training-overview.txt:127,搜「concrete instance」)。原文:每步杆保持平衡且车在轨道上就给奖励,越界即终止。

  2. 出处:「A.1 Language Modeling Overview」第 112 段(text/38-fm-a-1-language-modeling-overview.txt:112,搜「scalar value indicating the desirability」)与「Training Overview」第 50 段(text/06-ch03-3-training-overview.txt:50,搜「agent takes actions」)。

  3. 出处:「Training Overview」第 82 段(text/06-ch03-3-training-overview.txt:82,搜「well-defined」)。原文:有限步内目标是累计奖励最大化;无限步任务靠折扣因子保证目标良定义。

  4. 出处:「A.1 Language Modeling Overview」第 130 段(text/38-fm-a-1-language-modeling-overview.txt:130,搜「Discount Factor」)。

  5. 出处:「Training Overview」第 139 段(text/06-ch03-3-training-overview.txt:139,搜「core changes」)及第 21–25 段(text/06-ch03-3-training-overview.txt:145,搜「reward model」;text/06-ch03-3-training-overview.txt:148,搜「No state transitions」;text/06-ch03-3-training-overview.txt:151,搜「bandit problem」)。

  6. 出处:「Training Overview」第 151 段(text/06-ch03-3-training-overview.txt:151,搜「bandit problem」)。

  7. 出处:「Training Overview」第 195 段(text/06-ch03-3-training-overview.txt:195,搜「reference policy」)与第 208 段(text/06-ch03-3-training-overview.txt:208,搜「Kullback-Leibler divergence」)。

  8. 出处:「A.1 Language Modeling Overview」第 166 段(text/38-fm-a-1-language-modeling-overview.txt:166,搜「Reference Model」)。原文:a saved set of parameters whose outputs regularize the optimization。

  9. 出处:「Training Overview」第 214 段(text/06-ch03-3-training-overview.txt:214,搜「KL budget」)。

  10. 出处:「Training Overview」第 279 段(text/06-ch03-3-training-overview.txt:279,搜「~10K examples」)、第 282 段(text/06-ch03-3-training-overview.txt:282,搜「~100K pairwise」)、第 285 段(text/06-ch03-3-training-overview.txt:285,搜「another ~100K prompts」)。

  11. 出处:「Training Overview」第 341 段(text/06-ch03-3-training-overview.txt:341,搜「~1M examples」)、第 344 段(text/06-ch03-3-training-overview.txt:344,搜「chattiness」)、第 347 段(text/06-ch03-3-training-overview.txt:347,搜「~10K prompts」)。

  12. 出处:「Training Overview」第 370 段(text/06-ch03-3-training-overview.txt:370,搜「cold-start」)、第 376 段(text/06-ch03-3-training-overview.txt:376,搜「3/4」)、第 379 段(text/06-ch03-3-training-overview.txt:379,搜「Mixed reinforcement」)。

  13. 出处:「Training Overview」第 322 段(text/06-ch03-3-training-overview.txt:322,搜「have not released」)。

  14. 出处:「Training Overview」第 261 段(text/06-ch03-3-training-overview.txt:261,搜「becomes easier」)。