跳到主要内容

01-outline — The RLHF Book 拆解切分

原书 18 章 + 附录 A,约 48 万字符。我们的拆解 16 章。 切分原则:一条完整推理链一章;ch06(策略梯度,原书最大)拆两章; ch09(拒绝采样)前移与 ch08(DPO)合成一章(同属「绕开在线 RL」的推理链); ch14(风格)与 ch15(正则)合成一章(风格问题是过优化的第一症状,KL 是缰绳); ch16(过优化)独立成章收束。导航章(版权/目录)跳过。

章级大纲(进来时以为 → 出去时知道)

01 为什么需要 RLHF(原书 ch1 + ch2)

  • 进来:以为 RLHF 是「微调的一种」,主要用来让模型说话客气。
  • 出去:知道 base model 只会续写(拿 Llama 405B 对同一句续写的真实对比看);RLHF 在 response 级别用「更好/更差」调行为,与逐 token 模仿的 SFT 是两种优化;post-training 三件套各管什么;以及这条技术线从 Atari(2017)走到 ChatGPT(2022)的三个时代。

02 把 RL 装进语言模型(原书 ch3 + 附录 A.1)

  • 进来:以为强化学习就是游戏 AI 那套,和聊天模型关系不大。
  • 出去:知道 RL 的最小词汇表(policy/奖励/轨迹/CartPole);RLHF 对标准 RL 的三处改造 (奖励函数→学习的奖励模型、无状态转移、整句一个分);KL 正则为什么必须存在; InstructGPT/Tulu 3/DeepSeek R1 三份真实菜谱的数据量级(10K→1M 的变迁)。

03 指令微调:把续写机改造成答话机(原书 ch4)

  • 进来:以为微调就是「多喂点好数据」。
  • 出去:知道 chat template 是模型真正读到的 token 序列(拿完整模板走查一条真实问答); prompt masking/多轮 masking 两种选择;~1M 高质量样本的量级判断;OLMo 2 预训练与 post-training 的 batch 差距(1024/2048 → 256)。

04 奖励模型:把偏好压成一个数(原书 ch5)

  • 进来:以为奖励模型是「给答案打分的现成工具」。
  • 出去:知道它从 Bradley-Terry(1952)的成对比较数学来;损失一行代码;只训 1 epoch; ORM/PRM/价值函数四种「打分器」的区别表;LLM-as-a-judge 好用但仍打不过专门 RM。

05 策略梯度:从 REINFORCE 到 PPO(原书 ch6 前半)

  • 进来:以为 PPO 是黑盒算法名。
  • 出去:知道策略梯度的推导只剩 ∇log π(环境项消掉);高方差从哪来、baseline 为什么 能减方差;PPO 的 ratio-clip 六种 case(正负 advantage × 出不出界);trust region 内 PPO 就是普通策略梯度。

06 GRPO 世代:新算法与实现细节(原书 ch6 后半)

  • 进来:以为 GRPO 是「PPO 的换皮」。
  • 出去:知道 GRPO 砍掉 value network 用组内相对奖励;std 归一化会偏袒低方差题 (Dr. GRPO 的修正与代价);GSPO/CISPO 修的是 token 级 clip 丢关键 token 梯度的病; loss 三种聚合方式的梯度差异(0.25/0.1429/0.0909);为什么实践中 PPO 的 clip 常常根本不触发。

07 RLVR:可验证奖励与推理模型(原书 ch7)

  • 进来:以为推理模型的「思考」是 prompt 出来的。
  • 出去:知道 RLVR=把奖励模型换成判对错函数(\boxed{77}/单元测试);难度过滤 (解对率 20-80% 的题才有梯度);去掉 KL 惩罚的原因;LeCun 蛋糕比喻怎么被兑现; 2025 年推理模型井喷的图谱。

08 绕开在线 RL:拒绝采样与 DPO(原书 ch9 + ch8)

  • 进来:以为不用 RL 就「不算 RLHF」,DPO 是另一回事。
  • 出去:知道 RM 的轻量用法谱系——筛答案再 SFT(拒绝采样/BoN)vs 直接在偏好对上 梯度步(DPO);DPO 从 RLHF 目标推出隐式奖励,「语言模型其实是奖励模型」; β 静态定死 KL 距离;likelihood displacement(DPO 连 chosen 也压);受控对比下 PPO 仍略胜。

09 偏好到底是什么(原书 ch10)

  • 进来:以为「人类偏好」是个定义清楚的东西。
  • 出去:知道它横跨哲学/经济/心理三百年且从没争论清楚(有人主张偏好不存在); RL 的 reward 概念来自动物条件反射,预设「进化硬连线」,与「亿万人的偏好压成一个 函数」根本冲突;VNM 定理的许可证与它的失效条件。

10 偏好数据:引擎与偏差(原书 ch11)

  • 进来:以为标注就是把两个答案摆在一起选好的。
  • 出去:知道 on-policy 数据的软定义与必要性;ratings vs rankings、Likert 8 点制、 最终都坍缩成二值;结构化偏好(约束遵循)的构造法;买数据的真实流程 (6 周交付/$500K 合同/供应商违约);前缀偏差/谄媚/冗长怎么进模型。

11 合成数据:AI 教 AI(原书 ch12)

  • 进来:以为合成数据是偷懒的替代品,有「模型坍缩」风险。
  • 出去:知道 GPT-4 级模型之后合成已胜过人(IFT 全胜,偏好打平,前沿实验室仍囤 人类数据);人类=高噪音低偏差,AI=低噪音高偏差;CAI 两步法;rubric 怎么把 RLVR 扩到不可验证域;Alpaca 52K → OpenThoughts 3 ~10B tokens 的量级迁移。

12 工具使用:给概率机器接上确定性(原书 ch13)

  • 进来:以为工具调用就是「模型会写 JSON」。
  • 出去:知道 tool use/function calling/code execution 三层;编排循环怎么转 (fib(50) 全程走查);工具输出 token 必须 mask;MCP 三层架构;SFT→DPO→RL 三段教工具的训练栈。

13 风格与正则化(原书 ch14 + ch15)

  • 进来:以为「RLHF 只是改风格」是对它的贬低,正则化是可选的微调技巧。
  • 出去:知道风格本身就是价值也是分数(Llama 3 的人格);但风格优化过头就是 长度偏差(Qwen 的「DPO 涨偏好跌基准」);KL 距离怎么算、reverse 与 forward 两个方向的差别;预训练梯度混入与 DPO+NLL 的做法。

14 过优化:指标变成目标之后(原书 ch16)

  • 进来:以为训练越久越好,坏了是 bug。
  • 出去:知道过优化与过拟合的区别(proxy 真的被优化了);Goodhart 定律;「kill linux process」过度拒答的真实案例;train RM 与 test PM 在 ~150K 样本后分叉; 谄媚(GPT-4o 2025-04 事故);这是 RLHF 原理上永不能完全解决的问题。

15 评测:谁在给模型打分(原书 ch17)

  • 进来:以为榜单分数可以直接比。
  • 出去:知道评测三代(chat→多技能→推理);格式不当能从 60% 掉到近 0; 实验室各自调 prompt、OLMo 3 测得同 setup 标准差 0.25-1.5 分;污染的真实案例 (UltraFeedback↔TruthfulQA);随机奖励也能涨分说明什么。

16 产品、性格与 RLHF 的位置(原书 ch18)

  • 进来:以为 RLHF 是纯研究技术,产品是另一回事。
  • 出去:知道 character training(Claude 3 起的真实工序,五种人格的拒答对比); Model Spec 为什么是少数能对照「意图 vs 行为」的文档;post-training 作为产品 迭代最便宜入口的循环。

自查(两行「出去时知道」是否同件事)

  • 05 与 06:05 管「策略梯度+PPO 是什么、为什么 clip」,06 管「GRPO 及之后+实现」; PPO 细节在 05,GRPO 对比 PPO 的差异在 06——不重。
  • 13 与 14:13 管「风格是什么+KL 缰绳怎么握」,14 管「缰绳失手后的病与不可解性」; 13 的长度偏差是症状举例,14 的 Goodhart 是机制——不重。
  • 01 与 02:01 管「RLHF 改变什么+历史」,02 管「RL 形式化与三份菜谱」——不重。
  • 08 内部:RS 是「RM 打分+SFT」,DPO 是「偏好对上直接梯度步」,共用「绕开在线采样」 的主线——同一链条,不拆。
  • 09 与 10:09 管「偏好概念的哲学地基」,10 管「数据的采集与偏差」——不重。

主走查规划(每章一条)

主走查数值来源
01"The president of the united states in 2006 was" 在 base vs 对齐模型上的两种命运书中真实
02CartPole 一步动力学 + 一个 prompt 走完 InstructGPT 三段菜谱书中真实常数
03"How many helicopters…" 的 chat template token 序列书中真实
04一对答案过 BT 损失:r_c=2.0, r_r=0.5 → σ(1.5)=0.82 → loss≈0.20编数(写明)
05两条回复 [3.0, 1.0] 的 advantage 与 PPO ratio 出界 case书中真实+编数
06一组 4 条奖励 [1,0,1,0] 的 GRPO advantage;三种聚合的梯度 0.25/0.1429/0.0909组内编数+书中真实梯度
07「20 以内素数之和」→ \boxed{77} → 抽取→判分=1书中真实
085×4 奖励矩阵选答案;DPO 两条 logprob 差的损失书中真实矩阵+编数
09两首 goldfish 诗,读者当一次标注员书中真实
10一条偏好数据从界面到二值化(8 点 Likert → chosen/rejected)书中真实
11博物馆 rubric 的 Hard Rule/Principle 打分书中真实
12fib(50) 的编排循环:
12586269025→回答
书中真实
13同一问题 SFT 版 vs DPO 版回答对比 + KL 近似一行书中真实
14"kill linux process" 拒答 + train/test PM 拐点书中真实
15一道选择题的 few-shot→CoT 评测走查 + 0.25-1.5 噪声带书中真实
16"Where can I buy steroids?" 五种人格的拒答书中真实