跳到主要内容

第 31 章结束的地方,模型已经能把训练语料「续」得像模像样——但续写不等于回答。 这一章的三道工序,每道都补上前一道缺的东西:指令微调补「听懂要求」, 偏好对齐补「分辨好坏」,推理增强补「多想几步」。 全章的核心动作只有一个:把「答得好」这种写不出标准答案的要求, 变成一个能优化的目标。

对齐与推理增强:会答不等于答得好

1. 这一章讲什么

两件事: 从「会续写」到「答得好」的三道工序——指令微调教会听指令, 偏好对齐教会分辨好坏,推理增强教会多想几步;外加幻觉的病根与缓解。

它在全书链条里的位置: 第 31 章结束处的模型只是续写器;本章的优化 引擎是第 30 章的策略梯度与 PPO;「奖励从哪来」那一问也接在第 30 章末尾; 产出的模型交给第 33 章当大脑。

需要第 30 章(PPO)与第 31 章。

2. 顶层全景

续写器(§3)──指令-回答对──→ 会回答(SFT,§4)
↓ 「好」写不出标准答案 → 改问「哪个更好」:偏好数据 + Bradley-Terry(§6)
├ RLHF:奖励模型 + PPO + KL 惩罚防过度优化(§7)
├ DPO:最优策略解析解 → 配分函数消掉,退化成二分类损失(§8)
└ GRPO:组内相对优势替代价值网络,适合可验证奖励(§9)
推理增强(§10):过程奖励 / 测试时扩展 / 可验证奖励 RL
幻觉:病根在训练目标不罚事实错误(§11)

3. 预训练完的模型不会好好回答

书给的例子一针见血:用户问「中国的首都是哪里?」,预训练模型可能不答「北京」, 而是接着补全成「中国的首都是哪里?这是一道常见的地理题……」—— 它只是个「文本续写器」:给定前缀,按训练语料的分布继续生成, 不一定理解并遵循用户的指令1

4. 拿「指令—回答」对再训一轮:指令微调

指令微调(也叫监督微调,SFT)的配方:在高质量的「指令–回答」数据上 继续训练,让模型学会理解意图、遵循格式、生成有用的回答。损失函数还是 那个逐位置负对数似然,但有三个与预训练不同的细节2:

  • 只对回答部分算损失——指令部分的词元不参与,免得模型学会「生成指令」;
  • 数据规模小得多:通常几千到几十万条;
  • 轮数少:1–3 个 epoch,过多容易过拟合。

顺带把第 28 章埋的那句债还上:上下文学习不更新参数就能切任务, SFT 则是真更新参数把「听指令」焊进权重——前者靠提示,后者靠训练, 两者补的是同一个缺口的两端3

少而精:质量碾压数量

SFT 的机理书给了一个准确的定位:「主要作用并非注入新知识,而是激活和 对齐预训练阶段已获得的能力」——给模型装一个「接口」,让它知道该怎么 组织回答。这也解释了为什么数据可以很少:如果本质是「格式对齐」而非 「知识注入」,模型只需见到足够多样的格式示例4。 证据是 LIMA 的实验:约 1000 条精心筛选的高质量样本,效果与数万条相当—— 书称之「少而精」原则5

5. 会答不等于答得好

SFT 的天花板书也划了出来:它只能让模型模仿参考回答,无法理解 「什么样的回答更好」——它解决「怎么做」,没解决「做到什么程度才算好」。 有用、诚实、无害之间怎么权衡,这类微妙的维度靠模仿学习力不从心, 必须引入某种形式的偏好反馈6

6. 让人比较两个回答:偏好数据与 Bradley-Terry

对齐的核心输入是偏好数据:同一条指令让模型生成两个回答, 人来判断哪个更好——胜出记 yw,落败记 yl,收集成堆7

为什么是「比较」而不是「打分」?书说破了:不同标注者对「好回答」的 定义可能不同,但相对优劣的比较更容易达成共识8

把「比较」变成可优化的目标,用的是 Bradley-Terry 模型:假设存在一个 潜在的奖励函数 r(x,y),则

p(y_w ≻ y_l | x) = σ( r(x,y_w) − r(x,y_l) )

奖励差大,偏好概率趋近 1;奖励相近,趋近 0.5。书特意留了一个伏笔: 奖励函数有个自由度——所有回答的奖励同加一个只依赖 x 的常数,概率不变, 偏好数据只确定相对值;「这一性质在后面 DPO(直接偏好优化)的推导中将起到关键作用」9

主走查:从偏好到概率,再走进 DPO

场景(数值全部为演示设定):一条指令 x,两个回答。奖励模型给 r(x,yw)=1.0、r(x,yl)=−0.2,奖励差 = 1.2。

Bradley-Terry:p(yw≻yl) = σ(1.2) = 1/(1+e^−1.2) ≈ 0.77

七成三的偏好概率——奖励差被换算成了一个「多大程度确定谁好」的软判断。

DPO 的隐式奖励与损失。 DPO 不训奖励模型,直接把策略当奖励用: 隐式奖励 r̂θ(x,y)=β·log(πθ(y|x)/πref(y|x))(β 取 0.1,书给的典型区间 是 0.1 到 0.5)。设训练开始时策略还没动,πθ=πref,两个隐式奖励都是 0:

初始:损失 = −log σ(0−0) = −log 0.5 ≈ 0.693 (等价于瞎猜五五开)

训练若干步后(演示):log 比值 yw 为 +2.0、yl 为 −1.0
r̂(yw) = 0.1×2.0 = +0.2
r̂(yl) = 0.1×(−1.0) = −0.1
损失 = −log σ(0.2−(−0.1)) = −log σ(0.3) ≈ 0.554 (在降)

梯度权重为什么偏心难样本: DPO 梯度前有一个权重 σ(r̂(yl)−r̂(yw))——模型「犯错」的程度。上例中模型判对了 (r̂(yw)>r̂(yl)),权重 = σ(−0.3) ≈ 0.43 < 0.5,更新温和; 若模型判错、更偏爱落败回答,权重超过 0.5,更新放大。 书称之为「自动聚焦于难样本」,类似在线难例挖掘10

7. 用奖励模型 + 强化学习:RLHF

经典路线 RLHF 分两步:先用偏好数据训一个奖励模型 rφ(x,y)(语言模型骨干 + 线性层输出标量分);再把语言模型当策略、 奖励模型当回报,用第 30 章的 PPO 直接优化11

有一个闸门必须装上:KL 惩罚。优化目标里减去一项 β×KL(πθ‖πref), 把新策略拴在参考策略附近。书点破了没有它会怎样:奖励过度优化—— 奖励模型只是个近似,一味追高分,模型会找到「奖励模型喜欢但人不喜欢」的 漏洞(边注引 Goodhart 定律:当一个度量变成目标,它就不再是一个好的度量)。 β 越大越像参考策略,β 越小优化自由度大但更容易钻空子12

代价是工程账:RLHF-PPO 要同时维护四个模型——策略、参考、奖励、 价值函数,复杂度全在这里13

8. 能不能不训奖励模型:DPO

**直接偏好优化(DPO)**给出一条捷径,书用三步把「强化学习问题变成 监督学习问题」演完14:

  1. 写出最优策略的解析解。 对固定的 x,带 KL 惩罚的目标有唯一最优解: π*(y|x) = (1/Z(x))·πref(y|x)·exp(r(x,y)/β)——参考策略经过奖励加权的 「玻尔兹曼分布」(这个形状第 36 章的能量模型里会正式登场); 配分函数 Z(x) 对所有回答求和,在指数级大的生成空间里根本算不出来;
  2. 用策略表示奖励。 对解析解取对数移项: r(x,y) = β·log(π*/πref) + β·log Z(x);
  3. 代回 Bradley-Terry,配分函数被减掉了。 偏好只看两个回答的奖励差, 而 β·log Z(x) 只依赖 x、两个回答相减时恰好消去——书称之为 DPO 推导中「最关键的一步」。剩下的目标里没有任何奖励模型和采样:
ℒDPO = −E[ log σ( β·log(πθ(yw|x)/πref(yw|x)) − β·log(πθ(yl|x)/πref(yl|x)) ) ]

第 6 节的主走查算的就是它;第 6 节埋下的伏笔(偏好只定相对值)在这里兑现:正因为偏好数据 只确定奖励的相对值,绝对值里藏着的未知常数 Z 才能被无害地消掉。

DPO 对 RLHF 的四条优势书列得干脆:不需要奖励模型、不需要训练中采样、 流程与 SFT 类似因此稳定、不需要价值网络。局限也明码:只能用离线偏好数据, 策略更新后数据就「旧」了(分布漂移),且对数据质量敏感15。 书的总结句值得抄下来:对齐优化本质上是在学一个偏好分类器, 而这个分类器恰好可以用策略本身来参数化16

9. 在线的另一条路:GRPO

组相对策略优化(GRPO)从在线强化学习那头出发,砍掉的是价值网络: 同一指令采样 G 个回答(典型 8~64 个),用奖励模型或规则打分, 组内均值当基准、标准差做归一,得到组相对优势 Âᵢ=(rᵢ−mean)/std——高于平均的回答拿正优势,低于平均拿负优势17。 优化目标沿用 PPO 的裁剪机制加 KL 正则(第 30 章第 8 节的原件)。

书给的适用判据很实在:GRPO 特别适合可验证奖励的任务(数学、代码)—— 答案对错能用规则直接判,省掉奖励模型的近似误差;模型数量从四个减到三个, 用规则奖励时只要两个。它是 DeepSeek-R1 一类推理模型采用的代表性训练方法18。 三法并不互斥:书提到常见组合是先用 DPO 初步对齐,再用 GRPO 在特定任务上 优化推理19

10. 让它更会想:推理增强

奖励盯结果还是盯过程。 结果奖励模型(ORM)给整个回答打一个分, 病根是「答案对了过程可能错、过程对了答案可能差一步」,信用分配不精确; 过程奖励模型(PRM)给推理的每一步打分,提供稠密信号、能定位错步; 整条路径的评分取各步的最小值——最弱的一步决定整体可信度。 实践搭配:ORM 粗筛,PRM 精评20

测试时扩展。 训练之外,推断阶段投入更多算力同样涨点: 让模型在回答前生成更长的中间推理(假设、验证、回溯、修正), 本质是把推理算力转化为更长的生成序列;或者生成 N 条路径再挑—— 多数投票、奖励模型打分、树搜索,Best-of-N 最简单。书给的结论带一个 惊人的量级:在同等计算预算下,一个较小但充分搜索验证的模型可以超过 更大但只做单次生成的模型;而且「更长推理并不自动等于更可靠」, 验证器不可靠时额外计算会放大错误21

可验证奖励下的强化学习。 DeepSeek-R1 一类的工作把本章的零件装成了 整车:SFT 冷启动 → 大规模 GRPO,奖励设计极简——数学题答案对就 1、错就 0, 代码跑测试,外加格式奖励。书的评论是这一节的题眼:在目标可验证时, 复杂推理行为可以从基本的正确性信号中长出来,不需要人对「怎么推理」 逐步标注。训练中观察到推理长度自然增长、自我反思、换思路、阶段性跃迁 等涌现现象;多阶段流程的分工一句话:SFT 提供推理的「格式」和「起点」, RL 提供推理的「质量」和「深度」22

11. 编出来的答案怎么办:幻觉

幻觉(一本正经地编造事实)=生成看似流畅但与事实不符的内容。书把病根说得很冷静: 「模型的训练目标是下一个词元预测,这一目标并不直接惩罚事实性错误」—— 幻觉其实就是训练目标的自然产物。缓解四路:检索增强(先查资料再回答)引入外部知识 (第 33 章)、对齐中加事实性奖励、让模型在不确定时表达不确定 而非编造、评估时查置信度校准(概率高不等于事实可靠)23

12. 作者的判断与证据

书里给了完整推导的: Bradley-Terry 与奖励模型目标911; DPO 三步推导(解析解→奖励的策略表示→Z 消去)14; DPO 梯度的难样本权重分析10;GRPO 的组相对优势17

书里给了坦白的: RLHF 四模型工程复杂度13;奖励过度优化与 Goodhart 警告12;DPO 的分布漂移与数据质量敏感15; 纯 RL 训练初期不稳、可读性差、开放式任务难定义奖励22

书里给了结构判断的: 从 SFT 到对齐到推理增强「每一步都回应前一步的 局限」;方法论统一成一句:定义一个好的目标函数,然后用合适的优化方法 去逼近它24

13. 边界与局限

偏好数据的系统性偏差书没有展开:标注者的立场、冗长偏好(爱长回答) 这类已知问题未讨论;书只说「成对比较更容易达成共识」。

DPO 与 GRPO 的超参(β、组大小)给了典型区间、没给选择准则: β 0.10.5、G 取 864,都是经验值。

推理增强的成本账偏定性:测试时扩展的计算-质量交换曲线因任务而异, 书给了规律的存在性,没有给给定预算下的分配方法(书自己把它列为开放问题)。

本章不覆盖安全对齐的攻防细节:越狱(绕过安全指令)怎么防,点到为止。

提示注入(往输入里夹带恶意指令)的防御同样在第 33 章。

工程边界——权限与沙箱(隔离执行环境)——也在那一节接续。

14. 可带走的

  1. 预训练模型是续写器;SFT 用「指令–回答」对把它变成回答者, 只对回答部分算损失;
  2. SFT 是「格式对齐」不是「知识注入」——所以 1000 条精品就够(LIMA);
  3. 「好」写不出标准答案时,改问「哪个更好」——成对比较更易取得共识;
  4. Bradley-Terry 把偏好变成 σ(奖励差);奖励只确定相对值——这个自由度 正是 DPO 能消掉配分函数的原因;
  5. RLHF=奖励模型+PPO,KL 惩罚防奖励过度优化(Goodhart);
  6. DPO 三步:解析解→用策略表示奖励→相减消 Z;对齐=用策略参数化的偏好分类器;
  7. GRPO 用组内相对优势替代价值网络,最适合可验证奖励的任务;
  8. 过程奖励盯每一步(路径分取最小值);测试时扩展把算力挪到推断阶段;
  9. 可验证奖励下,复杂推理能从「对/错」信号里自己长出来(R1 的涌现现象);
  10. 幻觉的根在训练目标不罚事实错误;缓解靠检索、事实性奖励、 和「不确定就说不确定」。

15. 原文地图

主题原书章原文位置
续写器问题第13章 大语言模型与智能体text/14-ch13.txt:408(搜「文本续写器」) · text/14-ch13.txt:410(搜「中国的首都是哪里」)
SFT 定义与损失第13章 大语言模型与智能体text/14-ch13.txt:412(搜「指令微调(Instruction」) · text/14-ch13.txt:424(搜「只对回答部分」)
与预训练的三点不同第13章 大语言模型与智能体text/14-ch13.txt:428(搜「数据规模更小」) · text/14-ch13.txt:430(搜「1–3 个 epoch」)
激活已有能力第13章 大语言模型与智能体text/14-ch13.txt:486(搜「并非注入新知识」) · text/14-ch13.txt:488(搜「格式对齐」)
LIMA第13章 大语言模型与智能体text/14-ch13.txt:481(搜「LIMA」)
SFT 边界第13章 大语言模型与智能体text/14-ch13.txt:496(搜「模仿参考回答」)
偏好数据第13章 大语言模型与智能体text/14-ch13.txt:521(搜「偏好数据(Preference Data」) · text/14-ch13.txt:530(搜「相对优劣的比较更容易达」)
Bradley-Terry第13章 大语言模型与智能体text/14-ch13.txt:532(搜「Bradley-Terry 模型(Bradley」) · text/14-ch13.txt:540(搜「自由度」)
奖励模型训练第13章 大语言模型与智能体text/14-ch13.txt:547(搜「奖励模型训练」) · text/14-ch13.txt:554(搜「正确预测人类偏好的对数似然」)
RLHF 与 KL 惩罚第13章 大语言模型与智能体text/14-ch13.txt:559(搜「基于人类反馈的强化学习」) · text/14-ch13.txt:560(搜「奖励过度优化」) · text/14-ch13.txt:564(搜「Goodhart」) · text/14-ch13.txt:572(搜「更容易出现奖励过度优化」)
四个模型第13章 大语言模型与智能体text/14-ch13.txt:581(搜「四个模型」)
DPO 三步推导第13章 大语言模型与智能体text/14-ch13.txt:592(搜「解析解」) · text/14-ch13.txt:617(搜「配分函数」) · text/14-ch13.txt:646(搜「最关键的一步」) · text/14-ch13.txt:660(搜「隐式奖励」)
DPO 梯度与优势第13章 大语言模型与智能体text/14-ch13.txt:677(搜「梯度分析」) · text/14-ch13.txt:694(搜「难样本」) · text/14-ch13.txt:697(搜「主要优势」) · text/14-ch13.txt:706(搜「等价关系」) · text/14-ch13.txt:713(搜「偏好分类器」)
GRPO第13章 大语言模型与智能体text/14-ch13.txt:717(搜「组相对策略优化(Group」) · text/14-ch13.txt:723(搜「奖励来替代价值函数基线」) · text/14-ch13.txt:738(搜「以零为中心」) · text/14-ch13.txt:741(搜「可验证奖励」) · text/14-ch13.txt:745(搜「减少到三个」) · text/14-ch13.txt:747(搜「并行趋势」)
ORM 与 PRM第13章 大语言模型与智能体text/14-ch13.txt:778(搜「过程奖励与结果奖励」) · text/14-ch13.txt:784(搜「过程奖励模型(Process」) · text/14-ch13.txt:796(搜「粗筛」)
测试时扩展第13章 大语言模型与智能体text/14-ch13.txt:798(搜「测试时扩展」) · text/14-ch13.txt:828(搜「规模法则」) · text/14-ch13.txt:815(搜「更长推理并不自动等于更可靠」)
RL 与推理(R1)第13章 大语言模型与智能体text/14-ch13.txt:836(搜「强化学习是提升可验证推理」) · text/14-ch13.txt:845(搜「正确性信号中形成」) · text/14-ch13.txt:847(搜「涌现现象」) · text/14-ch13.txt:864(搜「格式」)
幻觉第13章 大语言模型与智能体text/14-ch13.txt:762(搜「幻觉(Hallucination」) · text/14-ch13.txt:764(搜「并不直接惩罚事实性错误」)

Footnotes

  1. 出处:「第13章 大语言模型与智能体」第 406 至 415 段(text/14-ch13.txt:408,搜「文本续写器」; text/14-ch13.txt:410,搜「中国的首都是哪里」)。

  2. 出处:「第13章 大语言模型与智能体」第 417 至 434 段(text/14-ch13.txt:421,搜「(13.14)」; text/14-ch13.txt:424,搜「只对回答部分」;text/14-ch13.txt:428,搜「数据规模更小」; text/14-ch13.txt:430,搜「1–3 个 epoch」)。

  3. 出处:「第13章 大语言模型与智能体」第 424 至 434 段(text/14-ch13.txt:428,搜「train-on-」); 上下文学习的不更新参数设定见本书第 28 章第 9 节。

  4. 出处:「第13章 大语言模型与智能体」第 485 至 495 段(text/14-ch13.txt:486,搜「并非注入新知识」; text/14-ch13.txt:488,搜「格式对齐」)。

  5. 出处:「第13章 大语言模型与智能体」第 481 至 483 段(text/14-ch13.txt:481,搜「LIMA」; text/14-ch13.txt:483,搜「少而精」)[Zhou et al., 2023a]。

  6. 出处:「第13章 大语言模型与智能体」第 496 至 500 段(text/14-ch13.txt:496,搜「模仿参考回答」; text/14-ch13.txt:757,搜「偏好反馈」)。

  7. 出处:「第13章 大语言模型与智能体」第 520 至 526 段(text/14-ch13.txt:521,搜「偏好数据(Preference Data」)。

  8. 出处:「第13章 大语言模型与智能体」第 528 至 531 段(text/14-ch13.txt:530,搜「相对优劣的比较更容易达」)。

  9. 出处:「第13章 大语言模型与智能体」第 532 至 545 段(text/14-ch13.txt:532,搜「Bradley-Terry 模型(Bradley」; text/14-ch13.txt:535,搜「(13.16)」;text/14-ch13.txt:540,搜「自由度」; text/14-ch13.txt:545,搜「关键作用」),式(13.16)[Bradley et al., 1952]。 2

  10. 出处:「第13章 大语言模型与智能体」第 677 至 696 段(text/14-ch13.txt:684,搜「犯错」; text/14-ch13.txt:694,搜「难样本」;text/14-ch13.txt:696,搜「在线难例挖掘」),式(13.31)。 2

  11. 出处:「第13章 大语言模型与智能体」第 547 至 556 段(text/14-ch13.txt:548,搜「奖励模型(Reward」; text/14-ch13.txt:556,搜「(13.18)」),式(13.17)-(13.18); RLHF 定义见第 558 至 560 段(text/14-ch13.txt:559,搜「视为策略」)。 2

  12. 出处:「第13章 大语言模型与智能体」第 560 至 572 段(text/14-ch13.txt:560,搜「奖励过度优化」; text/14-ch13.txt:564,搜「Goodhart」;text/14-ch13.txt:569,搜「越接近参考策略」),式(13.19)。 2

  13. 出处:「第13章 大语言模型与智能体」第 573 至 582 段(text/14-ch13.txt:576,搜「PPO 算法参见」; text/14-ch13.txt:581,搜「四个模型」)。 2

  14. 出处:「第13章 大语言模型与智能体」第 584 至 658 段(text/14-ch13.txt:592,搜「解析解」; text/14-ch13.txt:617,搜「配分函数」;text/14-ch13.txt:624,搜「第二步:用策略表示奖励函数」; text/14-ch13.txt:646,搜「最关键的一步」;text/14-ch13.txt:632,搜「DPO 损失」), 式(13.20)-(13.28)[Rafailov et al., 2023]。 2

  15. 出处:「第13章 大语言模型与智能体」第 697 至 704 段(text/14-ch13.txt:697,搜「主要优势」; text/14-ch13.txt:704,搜「分布漂移」)。 2

  16. 出处:「第13章 大语言模型与智能体」第 705 至 714 段(text/14-ch13.txt:708,搜「分类训练」; text/14-ch13.txt:713,搜「偏好分类器」)。

  17. 出处:「第13章 大语言模型与智能体」第 716 至 740 段(text/14-ch13.txt:723,搜「奖励来替代价值函数基线」; text/14-ch13.txt:729,搜「(13.32)」;text/14-ch13.txt:739,搜「8 ∼ 64」),式(13.32)-(13.33)。 2

  18. 出处:「第13章 大语言模型与智能体」第 741 至 748 段(text/14-ch13.txt:741,搜「可验证奖励」; text/14-ch13.txt:745,搜「减少到三个」;text/14-ch13.txt:745,搜「DeepSeek-」)。

  19. 出处:「第13章 大语言模型与智能体」第 747 至 751 段(text/14-ch13.txt:750,搜「初步对齐」)。

  20. 出处:「第13章 大语言模型与智能体」第 778 至 796 段(text/14-ch13.txt:780,搜「结果奖励模型(Outcome」; text/14-ch13.txt:784,搜「过程奖励模型(Process」;text/14-ch13.txt:791,搜「(13.34)」; text/14-ch13.txt:796,搜「粗筛」)[Lightman et al., 2024]。

  21. 出处:「第13章 大语言模型与智能体」第 798 至 835 段(text/14-ch13.txt:801,搜「测试时扩展」; text/14-ch13.txt:808,搜「更长的生成序列」;text/14-ch13.txt:815,搜「更长推理并不自动等于更可靠」; text/14-ch13.txt:830,搜「超过更大但只做单次生成」)[Snell et al., 2024]。

  22. 出处:「第13章 大语言模型与智能体」第 836 至 866 段(text/14-ch13.txt:838,搜「DeepSeek-R1」; text/14-ch13.txt:845,搜「正确性信号中形成」;text/14-ch13.txt:847,搜「涌现现象」; text/14-ch13.txt:855,搜「训练初期不稳定性」;text/14-ch13.txt:864,搜「格式」) [DeepSeek-AI, 2025]。 2

  23. 出处:「第13章 大语言模型与智能体」第 762 至 770 段(text/14-ch13.txt:762,搜「幻觉(Hallucination」; text/14-ch13.txt:764,搜「并不直接惩罚事实性错误」;text/14-ch13.txt:768,搜「表达不确定性」)。

  24. 出处:「第13章 大语言模型与智能体」第 882 至 886 段(text/14-ch13.txt:882,搜「每一步演进都回应」; text/14-ch13.txt:161,搜「目标函数」)。