笔记 / AI 原理LLM强化学习对齐

一个能对话、会推理的模型,出厂前要过三道生产线:预训练(从海量文本学语言与世界知识)、监督微调(学听指令)、对齐(学人类偏好)。2024 年之后又多了第四道——用强化学习把「推理」本身练成能力。这篇按顺序讲完,并补上贯穿全程的缩放定律。前置:自注意力与 Transformer、从 token 到文本。本分类全部笔记见 AI 原理。

一、预训练:Next-Token Prediction at Scale

预训练的目标函数只有一个——交叉熵(见 训练:损失、优化与稳定性),在万亿 token 上压低「预测下一个 token」的损失。真正决定上限的是数据配方。LLaMA-2 的公开配方是个好样本:

数据源占比
网页 CommonCrawl67%
代码 GitHub4.5%
论文 arXiv2.5%
百科 Wikipedia4.5%
问答 StackExchange 等21.5%

这个配比是调出来的超参数:代码不是为了让模型会写程序才加的——代码结构严谨、变量命名有因果链,对通用推理能力有可测的正贡献;纯网页占比则被刻意压低。数据管线是去重、质量过滤、有害内容清洗的叠加,且随时间越来越重要——模型变大之后,「数据质量」对最终能力的边际贡献超过了「数据数量」。

工程上的头号敌人是训练不稳定: trillion-级别 token 数的训练中,梯度偶尔尖峰、损失突然飙升,重则发散报废一次训练。对策很朴素但有效:梯度裁剪(把过大的梯度整体缩回阈值内,见 训练:损失、优化与稳定性)、bf16 混合精度、loss spike 时回滚若干 checkpoint 降低学习率重启。

预训练的产物叫基座模型。它会补全「中国的首都是」却不会回答「帮我写封请假条」——不是知识不够,是它学的是「互联网文本怎么接下去」,而指令-回答这种格式在预训练语料里占比很低。这正好引出下一道工序。

二、缩放定律:钱该花在哪

Kaplan 等(2020)发现:损失随参数量、数据量、算力按幂律平滑下降——对数坐标下是一条直线,且在数个数量级上外推仍然准确。这条「缩放定律」把「训多大模型」从玄学变成了预算问题。

DeepMind 的 Chinchilla(2022)修正了配比:给定固定算力,每个参数大约配 20 个 token 时损失最优。此前的普遍做法是模型大、数据少(GPT-3 就是欠训的),Chinchilla 之后行业转向「小模型喂更多数据」。当然,推理成本主导的今天又流行故意过训 smaller 模型(每个参数远超 20 token)——训练一次、推理亿次,推理账单说了算。

「涌现能力」——小模型没有、大模型突然出现的跳变能力——曾被当成规模魔法的证据;后续研究发现部分跳变是度量方式造成的(非线性或不连续指标制造假跳变),换成连续指标后曲线是平滑的。对这条争议的态度:规模带来的提升真实且可预测,但「到某个规模自动解锁新能力」的叙事要打折。

三、SFT:教会模型被使用

监督微调(SFT)数据是「指令 → 理想回答」对,量级只需数万到数十万条(预训练的百万分之一),损失函数不变。效果是格式与行为的切换:模型学到「问题后面该接答案而不是更多问题」,而且会泛化到没见过的指令类型——底层能力来自预训练,SFT 更像激活而不是灌输。Alpaca 用 5 万条自生成指令微调 LLaMA-7B 得到能对话的模型,是这条路最著名的注脚。

四、对齐:RLHF、DPO 与 GRPO

SFT 之后的模型仍会说错话、编事实、答应不该答应的事——它的「好」只对齐了「网上常见的接续」,没对齐「人类更希望哪个回答」。三条路线:

RLHF(InstructGPT/ChatGPT 确立):人类对同一问题的多个回答排序 → 训一个奖励模型(RM)打分 → 用 PPO 优化策略让 RM 分数最高,同时加 KL 惩罚防止模型跑离预训练分布太远(否则学会的是骗 RM 而不是变好)。RLHF 有效但链路长:RM 要单独训,PPO 要同时挂着策略、参考、奖励、价值四个模型,显存与调参都是负担。

DPO(直接偏好优化):数学上把 RLHF 的目标改写成不需要 RM、不需要显式 RL 的形式——一个带参考模型的分类损失直接在偏好对上训练。训练简单稳定,成了开源社区的默认对齐方案;上限之争(复杂任务能否完全绕开在线 RL)仍在继续。

GRPO(组相对策略优化,DeepSeekMath 提出):PPO 的价值网络用「同题多次采样的组内平均」替代——对同一道题采样一组回答,组内平均分当基线,高于平均增强、低于平均抑制。砍掉整个 critic 模型(省四分之一显存),且天然适配「有标准答案的任务」。DeepSeek-R1 正是用它做推理强化学习的主力。

五、推理模型与可验证奖励:第四道工序

2024 年起最重要的一条线:与其无脑加大模型,不如让模型在推理时多花计算——先写长思维链再作答。OpenAI o1 开局,DeepSeek-R1 把方法公开并证明了纯强化学习就够:

  • 可验证奖励(RLVR):数学题有标准答案、代码能过单元测试——奖励可以直接由规则判定,不需要奖励模型,不可被讨好。这与 RLHF 学「人类觉得好」是本质不同的信号源:一个有客观对错,一个只有偏好。
  • R1-Zero 实验:跳过 SFT,直接在基座上用 GRPO + 可验证奖励做 RL,模型自发涌现出长思维链行为——会自我反思(「等等,我前面算错了」)、会验证、会换思路,论文称之为 aha moment。推理长度随训练持续增长,说明「想得更久」本身是被奖励塑造出来的能力。
  • 测试时计算(test-time compute)成为第二条缩放轴:同一模型,推理时允许更长的思考,准确率单调上升(AIME 等基准上增益显著)。「更大模型」与「更多推理」成了可以互换的两条投资曲线,这是相对于 2023 年范式最大的变化。
  • 蒸馏:大推理模型生成的长思维链拿来 SFT 小模型,小模型也能获得可观的推理增益——但纯 RL 的增益蒸馏带不过去,说明两者获得的不是同一种东西。

至此四道工序齐了。这套「下一 token 预测 + 注意力」的配方不挑模态——图像切块当 token 就是 从 CNN 到 Vision Transformer,文本图像音频一起进统一序列就是 多模态模型,往噪声里逐步去噪的生成则是 扩散模型。