预训练·微调·对齐 —— 13 篇经典论文导读合集
面向零基础新手,通俗讲解大模型训练三阶段的核心论文。
作者:导读由 AI 助手整理,2026-05-27
总览:大模型是怎么「炼」出来的?
想象训练一个大模型就像培养一名顶级厨师:
- 预训练(基础教育):先让他读完所有烹饪书,建立对食材、火候、味道的基本认知。这是最烧钱的阶段,需要海量数据和算力。
- 高效微调(专业培训):厨师已经很厉害了,但你不想花大价钱重新培训,只需要给他加一本「川菜专项手册」——参数高效微调(PEFT)就是干这个的。
- 对齐(职业道德培训):让厨师不仅做得好吃,还得安全、诚实、符合规范,不做有害的菜。这就是 RLHF、DPO、Constitutional AI 要解决的问题。
三阶段与13篇论文的对应关系
┌─────────────────────────────────────────────────────────────────┐
│ 阶段一:预训练与缩放定律(决定模型多大、喂多少数据) │
│ ① Scaling Laws (Kaplan) ② Chinchilla │
└─────────────────────────────────────────────────────────────────┘
↓ 基础模型训练完毕
┌─────────────────────────────────────────────────────────────────┐
│ 阶段二:高效微调(省钱让大模型适配新任务) │
│ ③ LoRA ④ QLoRA ⑤ Prefix-Tuning ⑥ Prompt Tuning │
└─────────────────────────────────────────────────────────────────┘
↓ 让模型听懂指令、符合人类偏好
┌─────────────────────────────────────────────────────────────────┐
│ 阶段三:对齐与能力激发(让模型安全、有用、会推理) │
│ ⑦ Learning to Summarize (RLHF 开篇) │
│ ⑧ InstructGPT (RLHF 集大成) │
│ ⑨ Constitutional AI (无需人工标注的对齐) │
│ ⑩ DPO (去掉强化学习的对齐) │
│ ⑪ PPO (RLHF 背后的强化学习算法) │
│ ⑫ FLAN (用指令微调解锁泛化) │
│ ⑬ Chain-of-Thought (让模型一步步想) │
└─────────────────────────────────────────────────────────────────┘
逻辑脉络:先用 Scaling Laws 和 Chinchilla 搞清楚「模型要多大、数据要多少」,再用高效微调技术(LoRA 系列、Prefix/Prompt Tuning)低成本地适配具体任务,最后用对齐技术(RLHF 三部曲、DPO、FLAN、CoT)让模型真正有用、安全且会推理。
阅读顺序建议
| 如果你是… | 建议顺序 |
|---|---|
| 完全新手 | CoT → InstructGPT → LoRA → Scaling Laws → Chinchilla |
| 想做微调的工程师 | LoRA → QLoRA → Prefix-Tuning → Prompt Tuning → FLAN |
| 想做对齐研究的同学 | Learning to Summarize → InstructGPT → PPO → DPO → Constitutional AI |
| 想理解底层原理 | Scaling Laws → Chinchilla → PPO → InstructGPT |
一、Scaling Laws 缩放定律(Kaplan et al., 2020)
arXiv: 2001.08361
一句话概括
模型性能与模型大小、数据量、算力之间存在可预测的幂律关系——知道这个规律,就能在训练前预测「花多少钱能得到多好的模型」。
背景与动机
在 2020 年之前,大家训练大模型基本靠「感觉」:模型越大越好?数据越多越好?但没人知道具体怎么权衡。
类比:想象你要考试,但不知道「多背一小时单词」和「多做一套卷子」哪个提分更快。Scaling Laws 就是帮你找到这个规律的「学习效率公式」。
OpenAI 的 Kaplan 等人用了大量实验,系统研究了神经语言模型的性能如何随以下三个维度变化:
- N:模型参数量(模型有多大)
- D:训练数据量(喂了多少文字)
- C:计算量(花了多少算力,单位 FLOPs)
论文结构与格式
- 期刊/会议:arXiv 预印本,后来成为 NeurIPS 2020 Workshop 的重要参考
- 篇幅:约 37 页,含大量实验曲线图
- 结构:引言 → 实验设置 → 各维度缩放规律 → 最优资源分配 → 架构细节的影响 → 结论
核心方法/架构详解
幂律关系(Power Law)
论文发现,在算力固定时,语言模型的测试损失(loss)与参数量、数据量的关系是幂律:
L(N) ≈ (Nc / N)^αN (L 随参数量 N 的变化)
L(D) ≈ (Dc / D)^αD (L 随数据量 D 的变化)
L(C) ≈ (Cc / C)^αC (L 随算力 C 的变化)
白话翻译:性能提升的「边际效益递减」是有规律的——每次翻倍参数量,loss 以固定比例下降。
类比:就像「每多学一小时,成绩提升 X 分」,但这个 X 会越来越小(边际递减),且 X 的具体值是可以量化的。
关键发现:最优算力分配
在算力预算固定的情况下,模型参数量 N 的最优值满足:
N ∝ C^0.73
即算力增加 10 倍,最优模型应该增大约 5.4 倍。
这个结论隐含一个重要推论(后来被 Chinchilla 纠正):Kaplan 认为参数量增长比数据量更重要——给定算力,优先扩大模型,数据可以不等比例增长。
架构细节影响很小
论文还发现:在同等参数量下,层数、头数等超参数的影响远小于参数总量。这给了工程师很大的灵活度。
主要创新点
- 首次系统量化了语言模型性能与 N、D、C 的幂律关系
- 提出最优模型大小公式,使得在训练前就能预估结果
- 发现架构细节(深度/宽度权衡)影响远小于总参数量
- 建立了 Loss 作为统一性能指标的框架(不依赖具体下游任务)
实验设置
| 项目 | 内容 |
|---|---|
| 数据集 | WebText2(OpenAI 内部网页文本) |
| 模型规模 | 768 参数 ~ 1.5B 参数,跨越6个数量级 |
| 计算量范围 | $10^{12}$ ~ $10^{23}$ FLOPs |
| 评估指标 | 测试集语言模型损失(bits per character) |
| 训练基础架构 | Transformer(Decoder-only,类 GPT) |
写作风格特点
- 大量精心设计的对数坐标图,直观展示幂律关系
- 严谨的实验设计,每个结论都有多组控制变量实验支撑
- 行文较为学术,公式较多,但图表非常清晰
图表亮点
- Figure 1:同时展示 Loss 随 N、D、C 三者各自变化的幂律曲线,是全文核心图
- Figure 10:算力最优分配图,展示在不同算力预算下最优模型大小
- 所有图都用对数坐标,直线=幂律,非常直观
新手阅读建议
- 先看 Abstract 和 Figure 1,建立直觉
- 跳过数学推导,直接看每节最后的「总结段落」
- 重点理解「幂律」的含义:性能可预测地随规模增长
- 读完后对比 Chinchilla(下一篇),理解 Kaplan 结论被如何修正
- 关键术语:Loss(损失)= 模型预测的错误率,越低越好;FLOPs= 浮点运算次数,衡量算力消耗
二、Chinchilla 计算最优缩放(Hoffmann et al., 2022)
arXiv: 2203.15556 | DeepMind
一句话概括
纠正了 Kaplan 的结论:在固定算力下,模型大小和训练数据量应该等比例增长——之前大家把模型做太大、喂数据太少了。
背景与动机
Kaplan 的 Scaling Laws 发表后,业界掀起了「参数竞赛」:GPT-3(1750 亿)、Gopher(2800 亿)、MT-NLG(5300 亿)……大家都在拼命堆参数。
但 DeepMind 的研究者们有个疑问:Kaplan 的实验是不是训练步数太少了?
类比:如果你只让学生学了三天就考试,得出「课本越厚成绩越好」。但如果让他们学够一学期,结论可能是「课本厚度和练习题数量需要匹配」。
论文结构与格式
- 期刊/会议:NeurIPS 2022
- 篇幅:约 22 页
- 结构:引言 → 方法(三种估计方法)→ 结果 → Chinchilla 模型训练 → 结论
核心方法/架构详解
三种估计方法
论文用了三种独立方法来估计最优参数量 N 和最优 token 数 D:
方法一:固定算力,训练不同大小的模型,取最优点
方法二:IsoFLOP(等算力)曲线——在相同算力下,找最低 loss 的 N
方法三:参数化拟合 loss 函数,解析地求最优点
三种方法都得到了一致的结论。
核心结论:1:20 法则
最优训练 token 数 ≈ 20 × 模型参数量
也就是说:
- 70 亿参数的模型,最优训练数据约 1400 亿 token
- Kaplan 认为 GPT-3(1750 亿参数)只需训练 3000 亿 token,Chinchilla 认为应该训练约 3.5 万亿 token!
类比:Kaplan 相当于说「买一本 500 页的书读一遍」;Chinchilla 说「应该买 100 页的书读 20 遍,你才真的学会了」。
Chinchilla 模型本身
论文不只是理论,还真的训练了 Chinchilla——70 亿参数,训练了 1.4 万亿 token。结果:
- 参数量只有 Gopher(2800 亿)的 4 分之一
- 但在大多数评测上超越了 Gopher
主要创新点
- 纠正了 Kaplan 的偏差:发现原实验训练不充分,低估了数据的重要性
- 提出 N∝C^0.5, D∝C^0.5(而非 Kaplan 的 N∝C^0.73),即模型和数据应等比例增长
- 实证验证:用 Chinchilla 模型以小博大,证明了理论的实践价值
- 推动了 LLaMA 等高效模型的设计:Meta 的 LLaMA 系列正是遵循 Chinchilla 法则,用小模型多训练数据
实验设置
| 项目 | 内容 |
|---|---|
| 数据集 | MassiveText(DeepMind 内部,含网页/书籍/代码等) |
| 模型规模 | 70M ~ 16B 参数,训练不同数量 token |
| 算力范围 | $6\times10^{18}$ ~ $3\times10^{21}$ FLOPs |
| 基线对比 | Gopher(280B)、GPT-3(175B)等 |
| 评估任务 | 语言建模 loss + 多项下游任务(MMLU、BIG-bench 等) |
写作风格特点
- 比 Kaplan 更注重工程落地,用三种方法互相验证,结论可靠
- 图表清晰,IsoFLOP 曲线图特别直观
- 论文有意识地「挑战权威」,语气坦诚
图表亮点
- Figure 1:IsoFLOP 曲线,每条曲线代表相同算力下不同 N 的 loss,最低点连线即最优轨迹
- Figure 3:三种方法的最优 N* vs 算力,三条线几乎重合,说明结论稳健
新手阅读建议
- 先读 Scaling Laws(Kaplan),再读 Chinchilla,理解「纠偏」关系
- 重点理解 IsoFLOP 图:横轴参数量,纵轴 loss,固定算力的曲线有一个最低点
- 记住核心结论:参数量翻倍,训练数据也要翻倍
- 关键术语:Token= 文字的基本单位,大约 1 个英语单词 = 1.3 个 token;IsoFLOP= 等算力
三、Learning to Summarize from Human Feedback(Stiennon et al., 2020)
arXiv: 2009.01325 | OpenAI
一句话概括
用人类反馈来训练摘要模型的开创性实验——比直接优化 ROUGE 分数的模型更受人类喜爱,奠定了 RLHF(人类反馈强化学习)的实践基础。
背景与动机
传统的文本摘要模型用 ROUGE 分数(机器自动计算的词汇重叠率)来评估好坏。但问题是:ROUGE 高的摘要,人类不一定认为好。
类比:你写作文,老师用「有没有用到课文里的词」来打分。那你当然会堆砌原文词汇,但文章不一定通顺。
这篇论文的核心思路:直接用「人类更喜欢哪个摘要」来训练模型,而不是用机器指标。
论文结构与格式
- 期刊/会议:NeurIPS 2020
- 篇幅:约 30 页(含附录)
- 结构:引言 → 数据收集 → 奖励模型 → 强化学习微调 → 结果 → 人类评估 → 结论
核心方法/架构详解
RLHF 三阶段框架(本文首次系统实践)
阶段一:监督学习微调(SFT)
↓ 用高质量示例教模型「怎么写摘要」
阶段二:训练奖励模型(Reward Model, RM)
↓ 给模型两个摘要,问人类「哪个更好」
↓ 收集大量比较数据,训练一个「打分器」
阶段三:PPO 强化学习
↓ 用奖励模型作为「裁判」,用 PPO 算法优化摘要模型
↓ 模型写摘要 → 裁判打分 → 根据分数调整写法
类比:
- SFT 阶段:先看范文,学会写摘要的基本格式
- 奖励模型:训练一个「审稿人」,他读了成千上万人的偏好反馈,能预测人类打几分
- PPO 阶段:作者不断写、审稿人不断打分、作者根据反馈改进
奖励模型的训练
收集了约 64,832 个成对比较(pair-wise comparison):展示同一篇文章的两个摘要 A 和 B,问标注者「哪个更好」。
奖励模型 RM 学的目标:P(A > B) = sigmoid(RM(A) - RM(B))
KL 惩罚项
在 PPO 训练时,加入 KL 散度惩罚,防止模型走偏太远(比如生成奇怪的文字来「糊弄」奖励模型):
总奖励 = RM(摘要) - β × KL(模型输出 || 原始SFT模型)
主要创新点
- 首次在 NLP 大模型上系统验证 RLHF 流程的可行性
- 证明人类偏好与自动指标(ROUGE)的显著背离
- 策略蒸馏(Policy Distillation):将 RL 训练的模型蒸馏,便于部署
- 展示了即使只有少量人类反馈(几万条),RLHF 也能显著改善模型质量
实验设置
| 项目 | 内容 |
|---|---|
| 数据集 | Reddit TL;DR 摘要数据集(约 12 万篇帖子) |
| 基础模型 | GPT-3(最大 6.7B 参数) |
| 基线 | 监督微调模型(SFT)、直接 GPT-3、人类参考摘要 |
| 评估 | 人类胜率(vs SFT baseline)、ROUGE 分数 |
| 标注量 | 约 6.5 万对人类比较偏好 |
写作风格特点
- 工程性强,细节丰富,附录里有详细的标注指南
- 大量用人类评估(Human Evaluation)作为最终标准,体现「以人为本」的理念
- 对失败案例(模型有时会捏造内容)有诚实的讨论
图表亮点
- Figure 3:奖励模型分数与人类偏好的相关性,证明 RM 确实能代理人类判断
- Figure 2:不同模型规模下,RLHF 提升的人类胜率,越大的模型提升越明显
新手阅读建议
- 这篇是 RLHF 的「实验室验证版」,先读这篇再读 InstructGPT(规模化应用版)
- 重点理解奖励模型的作用:它是人类偏好的「代理人」
- 先不用深究 PPO 算法细节,把它当成「根据奖励信号调整参数的方法」即可
- 关键术语:ROUGE= 文本重叠率自动评分;KL 散度= 衡量两个分布差异程度的指标
四、InstructGPT:Training Language Models to Follow Instructions with Human Feedback(Ouyang et al., 2022)
arXiv: 2203.02155 | OpenAI
一句话概括
ChatGPT 的直系前身——用 RLHF 让 GPT-3 从「强大但难用」变成「能听懂人话、能安全对话」,开创了「对齐大模型」的工程范式。
背景与动机
GPT-3 很强大,但有个大问题:你想让它做 X,它往往做 Y。比如你问「帮我总结这篇文章」,它可能继续写一篇文章;你要它解释概念,它可能复述一堆不相关的训练数据。
根本原因:GPT-3 的预训练目标是「预测下一个词」,而不是「帮助人类完成任务」。这两者之间存在对齐偏差(Alignment Misalignment)。
类比:就像培训一个速录员(他很会打字),但他没学过「如何成为一个好助手」。你需要额外教他:「什么时候该说话,怎么帮人解决问题,不该做什么」。
论文结构与格式
- 期刊/会议:NeurIPS 2022
- 篇幅:约 70 页(含大量附录)
- 结构:引言 → 方法(SFT+RM+PPO)→ 实验 → 人类评估 → 安全分析 → 结论
核心方法/架构详解
完整的 RLHF 三阶段
第一阶段:监督微调(SFT)
- 收集约 13,000 条「高质量的提示-回答」对
- 由 OpenAI 雇佣的标注员手写示范回答
- 用这些数据微调 GPT-3,得到初始的「听话」模型
第二阶段:奖励模型训练(RM)
- 收集约 33,000 条对比数据:同一个提示下,给出模型的 4-9 个回答,标注员排序
- 训练 6B 参数的奖励模型,让它能预测「人类会更喜欢哪个回答」
- 奖励模型相当于「自动化的人类评审员」
第三阶段:PPO 强化学习优化
- 用 PPO 算法,以奖励模型的分数为信号,持续优化 SFT 模型
- 加入 KL 散度惩罚,防止模型偏离太远
- 加入预训练损失混合(PPO-ptx),避免在预训练任务上退化
最终优化目标:
reward = RM(prompt, response)
- β · KL[π_RL || π_SFT] (防止跑偏)
+ γ · log P_pretrain(x) (保持原能力)
「对齐税」(Alignment Tax)
论文诚实地指出:RLHF 微调后,模型在某些 NLP 基准任务(如 SQuAD)上略有退步,作者称之为「对齐税」——为了让模型「听话」,牺牲了少量「客观能力」。
主要创新点
- 规模化验证 RLHF:从 1.3B 到 175B,证明 RLHF 对所有规模都有效
- 惊人的参数效率:1.3B 的 InstructGPT 在人类评估上优于 175B 的原始 GPT-3
- 系统的安全评估:包含毒性(toxicity)、真实性(truthfulness)等多维度安全指标
- 首次大规模部署 RLHF:InstructGPT 直接部署在 OpenAI API 上,是真实产品
实验设置
| 项目 | 内容 |
|---|---|
| 基础模型 | GPT-3(1.3B / 6B / 175B 三个规模) |
| 数据 | SFT: ~13k 条;RM: ~33k 条对比;PPO: ~31k 条提示 |
| 标注人员 | 约 40 名标注员(由 OpenAI 专门招募和训练) |
| 基线 | GPT-3(原始)、GPT-3 SFT(仅监督微调版) |
| 评估 | 人类胜率测试(InstructGPT vs GPT-3)+ 自动评估 |
写作风格特点
- 极其详细的附录,包含完整的标注指南(什么叫「好回答」)
- 对自身局限性非常诚实:讨论对齐税、标注员偏见、过拟合奖励模型等问题
- 影响深远:几乎每一篇后续的对齐论文都引用此文
图表亮点
- Figure 2:三阶段流程图,直观清晰,是教科书级别的 RLHF 示意图
- Figure 3:人类评估胜率图,1.3B InstructGPT vs 175B GPT-3,小模型胜出的震撼对比
新手阅读建议
- 必读:这是理解 ChatGPT 原理的最重要论文之一
- Figure 2 的三阶段流程图反复看,确保理解每个阶段的输入输出
- 把 PPO 当黑盒,理解「根据奖励信号更新参数」即可
- 关注论文对「对齐税」的讨论——这说明对齐不是免费的
- 关键术语:提示(Prompt)= 用户输入;SFT= 监督微调;人类胜率= A vs B 人类觉得谁更好的比例
五、Constitutional AI(Bai et al., 2022)
arXiv: 2212.08073 | Anthropic
一句话概括
用「一套原则(宪法)」代替人工标注来做对齐——让 AI 自己批评和修改自己的回答,大幅减少对人工标注有害内容的依赖。
背景与动机
RLHF(InstructGPT 的方法)效果很好,但有个痛点:需要大量人工标注有害内容。让标注员天天看有毒、有害的文字,会造成心理创伤,且成本高昂。
Anthropic 的想法:能不能让 AI 自己判断什么是有害的,只需给它一套「行为准则」?
类比:与其雇佣一万名法官来审核每个判决,不如先写一部法典(宪法),然后培训 AI 法官按法典自动审判。
论文结构与格式
- 期刊/会议:arXiv 2022,Anthropic 技术报告
- 篇幅:约 50 页
- 结构:引言 → 宪法定义 → SL-CAI 流程 → RL-CAI 流程 → 结果 → 讨论
核心方法/架构详解
两个阶段:SL-CAI + RL-CAI
阶段一:监督学习 CAI(SL-CAI)
- 用「红队(Red Team)提示」触发模型生成有害回答
- 模型用「宪法中的原则」自我批评:「这个回答违反了第 X 条原则,因为……」
- 模型自我修订:生成更符合原则的回答
- 重复多轮,得到「原始问题 → 改进后的回答」训练对
- 用这些数据做监督微调
阶段二:强化学习 CAI(RL-CAI)
- 用 AI(而非人工)来生成偏好数据:给两个回答,让 AI 模型判断哪个更符合宪法
- 用这些 AI 生成的偏好数据训练奖励模型(AI Feedback = RLAIF)
- 用 PPO 微调模型
宪法(Constitution)长什么样?
宪法是一组自然语言原则,例如:
- 「选择对儿童更安全的回答」
- 「选择不鼓励非法活动的回答」
- 「选择更诚实、更少欺骗性的回答」
这些原则是 Anthropic 人工编写的,但只需写一次,不需要为每个例子单独标注。
主要创新点
- RLAIF(AI Feedback 代替 Human Feedback):首次证明 AI 可以充当自己的评判者
- 可解释的对齐:原则是明文写出来的,比黑盒的人工标注更透明
- 减少人工标注有害内容:保护标注员心理健康的同时降低成本
- 「无害但有帮助」的平衡:之前的 RLHF 有时让模型过于保守,CAI 尝试在安全和有用之间找到更好的平衡
实验设置
| 项目 | 内容 |
|---|---|
| 基础模型 | Anthropic 内部的 52B 参数语言模型 |
| 宪法原则数量 | 16 条原则,论文附录有完整列表 |
| 评估 | Elo 评分系统(人类评估有用性 vs 无害性)、红队攻击成功率 |
| 对比基线 | RLHF 模型(有人工标注有害内容)、原始 SFT 模型 |
写作风格特点
- Anthropic 的论文一贯注重 AI 安全哲学讨论
- 大量空间讨论方法的局限性和伦理含义
- 宪法原则的设计本身也是论文的贡献,附录非常值得一读
图表亮点
- Figure 4:Elo 评分图,展示不同对齐方法在「有用性」和「无害性」两个维度上的权衡曲线(Pareto 前沿)
新手阅读建议
- 先读 InstructGPT,理解「RLHF 是什么」,再读本文理解「如何减少人工成本」
- 重点关注「自我批评-修订」循环,这个思路后来被广泛应用(如 GPT-4 的 system prompt 对齐)
- 思考一个问题:让 AI 自己判断什么是「好的」,会不会有偏差?论文的讨论章节有详细分析
- 关键术语:红队(Red Team)= 专门设计恶意提示来测试模型弱点的测试方法;RLAIF= AI Feedback 强化学习
六、DPO:Direct Preference Optimization(Rafailov et al., 2023)
arXiv: 2305.18290 | Stanford + CZ Biohub
一句话概括
把 RLHF 的三步变成一步——直接用人类偏好数据做监督学习,完全不需要单独训练奖励模型,也不需要强化学习。
背景与动机
RLHF 虽然效果好,但工程实现复杂:
- 需要同时维护 SFT 模型、奖励模型、PPO 训练中的 4 个模型副本
- PPO 超参数敏感,训练不稳定
- 计算成本高
类比:RLHF 就像要先培训一个「评委」(奖励模型),再让选手根据评委反馈练习(PPO)。DPO 说:为什么不直接让选手对着评判结果学习呢?
斯坦福的研究者发现:RLHF 的奖励函数和语言模型之间存在一个数学等价关系,可以将两者合并,直接从偏好数据优化语言模型。
论文结构与格式
- 期刊/会议:NeurIPS 2023
- 篇幅:约 30 页
- 结构:引言 → 问题定义 → DPO 推导 → 理论分析 → 实验 → 结论
核心方法/架构详解
数学推导(直觉版)
RLHF 的目标是:
最大化 E[r(x,y)] - β·KL[π_θ || π_ref]
即在不偏离参考模型太远的前提下,最大化奖励。
数学上可以证明,这个问题的最优解可以写成:
π*(y|x) ∝ π_ref(y|x) · exp(r(x,y)/β)
反过来解出奖励:
r(x,y) = β · log(π*(y|x) / π_ref(y|x)) + constant
将这个关系代入 Bradley-Terry 偏好模型(「A 比 B 好」的概率公式),得到 DPO 损失函数:
L_DPO = -log σ(β · log(π_θ(y_w|x)/π_ref(y_w|x))
- β · log(π_θ(y_l|x)/π_ref(y_l|x)))
白话:损失函数直接鼓励模型「更多生成 y_w(获胜的回答)、更少生成 y_l(失败的回答)」,不需要显式的奖励模型。
训练流程
输入:偏好数据 (x, y_win, y_lose) + 参考模型 π_ref
↓
直接优化 DPO 损失
↓
输出:对齐后的模型 π_θ
就这么简单!
主要创新点
- 理论严谨:用数学证明了 DPO 等价于 RLHF 的最优解
- 工程简洁:去掉了奖励模型和 PPO,一个损失函数搞定
- 训练稳定:监督学习比强化学习更稳定,超参数更少
- 开源友好:实现简单,成为大量开源微调框架的标配(如 trl、axolotl)
实验设置
| 项目 | 内容 |
|---|---|
| 数据集 | Anthropic HH(Helpful & Harmless)、Reddit TL;DR 摘要 |
| 基础模型 | GPT-2 XL、GPT-J、Pythia 系列 |
| 对比基线 | PPO-based RLHF、SFT、Preference Model Score |
| 评估 | 人类胜率(win rate)、GPT-4 自动评估 |
写作风格特点
- 理论推导严谨,数学证明清晰
- 实验设计对照 RLHF,公平比较
- 代码已开源,工程细节充分
图表亮点
- Figure 1:DPO vs RLHF 流程对比,一图看懂两者区别
- Table 1:在多个基准上,DPO 与 PPO 性能相当甚至更优,同时简单得多
新手阅读建议
- 先理解 InstructGPT 中 RLHF 的三步流程,再来看 DPO 的简化
- 数学推导可以跳过,重点看核心思路:「奖励模型和语言模型可以合并」
- DPO 目前是工业界最常用的对齐方法之一,实际动手微调大概率会用到
- 关键术语:Bradley-Terry 模型= 「A 比 B 好的概率」的数学模型;参考模型(π_ref)= SFT 之后的基础模型,用来防止训练跑偏
七、PPO:Proximal Policy Optimization(Schulman et al., 2017)
arXiv: 1707.06347 | OpenAI
一句话概括
强化学习里最好用的策略梯度算法之一——通过限制每次参数更新的幅度(「近端」约束),让训练更稳定,是 RLHF 框架中的「发动机」。
背景与动机
强化学习训练不稳定是个老大难问题:更新太小,学得慢;更新太大,策略崩溃(模型突然变得非常差)。
之前的解决方案 TRPO(信任域策略优化)通过复杂的二阶优化约束更新幅度,效果好但实现极其复杂。
类比:TRPO 像是「每次修改菜谱时,精确计算最多能改变哪些配料的量」,复杂且计算慢。PPO 说:我直接在目标函数里加一个「软约束」,超出范围自动惩罚,简单高效。
论文结构与格式
- 期刊/会议:arXiv 2017,后成为深度强化学习领域最引用论文之一
- 篇幅:约 12 页
- 结构:引言 → 背景(策略梯度)→ PPO 方法 → 实验 → 结论
核心方法/架构详解
策略梯度基础
强化学习的目标:找一个策略 π(在状态 s 下选择动作 a 的概率),最大化累积奖励 R。
策略梯度方法:沿着「期望奖励对策略参数的梯度」方向更新。
问题:朴素的策略梯度更新步长难以控制。
PPO 的核心:Clip 目标
PPO 定义了概率比率 r_t(θ) = π_θ(a|s) / π_θ_old(a|s)
(新策略 vs 旧策略在同一个状态下选择同一个动作的概率之比)
PPO 的 Clip 目标函数:
L_CLIP = E_t [min(r_t · Â_t, clip(r_t, 1-ε, 1+ε) · Â_t)]
白话:
- Â_t 是「优势函数」,告诉我们这个动作比平均水平好多少
- clip(r_t, 1-ε, 1+ε) 限制概率比率不能超过 [0.8, 1.2](ε 通常取 0.2)
- 取 min 确保:如果动作很好(Â>0),我们最多增加 20% 的概率;如果动作很差(Â<0),我们最多减少 20% 的概率
类比:就像设置了「每次调整仓位不超过 20%」的风控规则,防止一次激进操作搞垮投资组合。
Actor-Critic 架构
PPO 通常用 Actor-Critic 结构:
- Actor(演员):策略网络 π_θ,决定做什么动作
- Critic(评委):价值网络 V_φ,估计当前状态有多好
- 两者共享底层特征,Actor 根据 Critic 的反馈更新策略
主要创新点
- 简单高效:比 TRPO 实现简单得多,只需一阶优化
- Clip 机制:优雅地解决了更新步长问题,不需要复杂的约束优化
- 广泛适用:从 Atari 游戏到机器人控制再到 LLM 对齐,都表现出色
- 成为事实标准:OpenAI 的 InstructGPT、ChatGPT 都用 PPO 作为 RL 算法
实验设置
| 项目 | 内容 |
|---|---|
| 环境 | MuJoCo 连续控制(HalfCheetah、Hopper 等)、Atari 游戏、机器人仿真 |
| 对比基线 | TRPO、A3C、CEM、传统策略梯度 |
| 指标 | 平均奖励(episode reward)、样本效率 |
| ε 参数 | 默认 0.2(论文进行了消融实验) |
写作风格特点
- 简洁清晰,大量对比实验
- 公式少,直觉强,适合工程师阅读
- 没有深度理论证明,更侧重实验验证
图表亮点
- Figure 1:Clip 目标函数的几何示意图,直观展示为何 clip 能防止过大更新
- 各任务的学习曲线对比图,PPO 在大多数任务上优于 TRPO
新手阅读建议
- 如果没有强化学习基础,先了解 MDP(马尔可夫决策过程)、策略、奖励等基本概念
- 对于想理解 InstructGPT/ChatGPT 的读者:理解 PPO 的 Clip 机制即可,不需要深挖 Actor-Critic 的所有细节
- 在 LLM 语境下:「状态」= 当前对话历史;「动作」= 下一个 token;「奖励」= 奖励模型给出的分数
- 关键术语:策略(Policy)= 在给定输入下选择输出的概率分布;优势函数(Advantage)= 某个动作比平均水平好多少;Episode= 一次完整的交互序列
八、LoRA:Low-Rank Adaptation of Large Language Models(Hu et al., 2022)
arXiv: 2106.09685 | Microsoft
一句话概括
只训练两个小矩阵就能微调大模型——把参数量从 1750 亿减到几百万,训练速度提升 3 倍,效果与全量微调相当。
背景与动机
大模型微调面临一个现实困境:GPT-3 有 1750 亿个参数,全量微调需要存储和更新 1750 亿个梯度,内存和算力开销巨大。
关键观察:研究者发现,微调时模型权重的变化量可能是低秩的(即变化发生在一个低维子空间中)。
类比:想象你在改良一幅画。原画有 100 万像素(参数),但实际上你只是调整了色调和对比度——这两个操作可以用很少的参数描述,不需要指定每个像素的改变。
论文结构与格式
- 期刊/会议:ICLR 2022
- 篇幅:约 25 页
- 结构:引言 → 问题定义 → LoRA 方法 → 实验 → 分析 → 结论
核心方法/架构详解
低秩分解的数学原理
正常微调:W = W_0 + ΔW,需要更新整个 ΔW(维度 d×d,很大)
LoRA 的假设:ΔW 是低秩的,即可以分解为两个小矩阵的乘积:
ΔW = B × A
其中:
- A 是 d×r 的矩阵(r 是秩,通常取 4、8、16)
- B 是 r×d 的矩阵
- r << d,因此 A 和 B 的参数量远小于 ΔW
训练时:冻结原始权重 W_0,只训练 A 和 B
推理时:W = W_0 + BA,权重可以合并,推理没有额外开销!
原始: x → W_0 → y
LoRA: x → W_0 → + ← BA ← x → y
↑
旁路(Adapter)
初始化技巧
- A 用随机高斯初始化
- B 初始化为全零
- 这样 ΔW = BA = 0,训练开始时不改变模型行为
应用位置
LoRA 主要应用于 Transformer 中的注意力矩阵:
- 查询矩阵(Q)、键矩阵(K)、值矩阵(V)
- 论文发现只对 Q 和 V 应用 LoRA 效果最佳
主要创新点
- 极低参数量:在 GPT-3 上,LoRA 只需训练约 0.01% 的参数(约 1800 万 vs 1750 亿)
- 无推理延迟:推理时合并权重,速度与原模型相同
- 灵活切换任务:不同任务只需存储不同的 A/B 矩阵,共享大模型底座
- 理论直觉:低秩假设有实验支撑——微调中 ΔW 的秩确实很低
实验设置
| 项目 | 内容 |
|---|---|
| 基础模型 | GPT-2(117M/345M/774M/1.5B)、GPT-3(175B)、RoBERTa、DeBERTa |
| 数据集 | GLUE 基准、E2E NLG、WikiSQL 等 |
| 秩 r | 消融实验:r = 1, 2, 4, 8, 64 |
| 对比基线 | 全量微调、Adapter(插入额外层)、Prefix-Tuning |
| 关键指标 | 性能与全量微调对比、参数量、显存占用 |
写作风格特点
- 实验充分,消融实验详细(r 的选择、哪些矩阵加 LoRA 等)
- 有专门的「内在维度」(Intrinsic Dimensionality)理论分析章节
- Microsoft Research 风格,工程细节丰富
图表亮点
- Figure 1:LoRA 结构示意图,清晰展示冻结原始权重 + 旁路小矩阵的设计
- Table 2:GPT-3 上与其他 PEFT 方法的参数量和性能对比,LoRA 以极少参数达到最优性能
新手阅读建议
- 先理解什么是矩阵的「秩」:直觉上就是矩阵包含「有效信息」的维度数量
- LoRA 是目前最流行的 PEFT 方法,Hugging Face 的 PEFT 库直接支持,实践非常容易上手
- 关键参数:r(秩)越大表达能力越强,但参数量也越多;通常 r=8 是很好的起点
- 关键术语:冻结(Freeze)= 训练时不更新这些参数;PEFT= Parameter-Efficient Fine-Tuning 参数高效微调
九、QLoRA:Efficient Finetuning of Quantized LLMs(Dettmers et al., 2023)
arXiv: 2305.14314 | University of Washington
一句话概括
把 LoRA 推向极致——通过 4 位量化把 65B 模型压缩到单张 48GB 显卡可训练,让普通研究者也能微调超大模型,并训出了 Guanaco(打败早期 ChatGPT 的开源模型)。
背景与动机
LoRA 虽然减少了训练参数量,但基础模型本身的激活值还是需要存储在 GPU 显存中。65B 参数的模型,即使推理也需要约 130GB 显存(4 张 A100 80GB)。
核心问题:能不能在不损失太多精度的前提下,用更少的位数存储模型权重?
类比:LoRA 是「只改厨师的食谱(小矩阵),不换整个厨房(大模型)」。QLoRA 进一步说:「厨房里的设备(模型权重)可以压缩打包存放,用的时候再展开」。
论文结构与格式
- 期刊/会议:NeurIPS 2023
- 篇幅:约 30 页
- 结构:引言 → 背景(量化+LoRA)→ QLoRA 方法 → Guanaco 实验 → 分析 → 结论
核心方法/架构详解
三大核心技术
技术一:4 位 NormalFloat(NF4)量化
普通 4 位整数量化(INT4)精度损失较大。NF4 是专门为正态分布权重设计的 4 位数据类型:
- 神经网络权重通常服从正态分布
- NF4 的量化级别按正态分布的分位数设计,使每个量化区间包含相同概率密度
- 结论:NF4 比 INT4 和 FP4 精度损失更小
技术二:双重量化(Double Quantization)
量化过程本身会产生量化常数(scaling factors),这些常数也占内存。QLoRA 对量化常数再做一次量化(FP32 → FP8),进一步节省内存。
每个参数平均节省约 0.37 bit。
技术三:分页优化器(Paged Optimizer)
训练长序列时,GPU 显存可能突发性溢出(如处理特别长的 batch)。QLoRA 利用 NVIDIA 统一内存机制,在显存不足时自动将优化器状态分页到 CPU 内存,防止 OOM。
完整流程
65B 大模型 (FP16/BF16)
↓ NF4 量化 + 双重量化
压缩后的模型(约 40GB,可放入单张 A100 80GB)
↓ 冻结量化权重
↓ 在量化基础上训练 LoRA 适配器(FP16/BF16)
最终模型 = 量化底座 + 小 LoRA 权重
主要创新点
- NF4 数据类型:信息论最优的 4 位量化格式
- 双重量化:对量化常数再量化,进一步压缩
- 分页优化器:解决长序列训练的显存峰值问题
- 实验验证:用 QLoRA 微调的 Guanaco-65B 在 Vicuna 基准上以 99.3% 的胜率对抗 ChatGPT(GPT-3.5),而只用了一张 GPU 训练 24 小时
实验设置
| 项目 | 内容 |
|---|---|
| 基础模型 | LLaMA(7B/13B/33B/65B) |
| 训练数据 | OASST1(约 9000 条人类对话) |
| 显存消耗 | 65B 模型:约 41GB(单张 A100 80GB 可训) |
| 训练时间 | 65B 模型约 24 小时(单卡) |
| 评估 | Vicuna 基准(GPT-4 评分)、MMLU、World Knowledge |
| 对比 | ChatGPT、Bard、原始 LLaMA |
写作风格特点
- 充满工程细节,三大技术各有专门章节深入分析
- 大量消融实验,严格验证每个技术的贡献
- 第一作者 Tim Dettmers 是量化领域专家,写作专业且深入
图表亮点
- Figure 1:QLoRA 整体架构图,展示量化、LoRA 和分页优化器的配合
- Figure 3:NF4 vs INT4 vs FP4 精度对比,NF4 明显优于其他方案
新手阅读建议
- 先读 LoRA,理解「只训练小矩阵」的基本思路
- 量化(Quantization)直觉:用 4 位表示本来需要 16 位的数字,精度有损失但可接受
- 记住最震撼的实验结果:65B 模型压缩到单卡可训,且性能接近 ChatGPT
- 关键术语:量化(Quantization)= 用低精度数字(INT4/NF4)表示高精度浮点数,减少内存;OOM= Out of Memory 显存溢出
十、Prefix-Tuning:Optimizing Continuous Prompts for Generation(Li & Liang, 2021)
arXiv: 2101.00190 | Stanford
一句话概括
在输入前面加一段可学习的「虚拟前缀」,只训练这段前缀的参数,就能让模型适配新任务——完全不修改原始模型权重。
背景与动机
2021 年,GPT-3 已经证明「用 prompt(提示词)引导模型」非常有效。但手动设计 prompt 需要大量尝试,且很难找到最优解。
Prefix-Tuning 的想法:与其手动写 prompt,不如让机器自动学习一段最优的「连续 prompt」(不需要是真实的文字,只是一段向量)。
类比:正常 prompt 像是给厨师写的食谱(文字指令)。Prefix-Tuning 相当于给厨房的炉子调整一个特殊的「烹饪模式设置」——不是文字指令,而是调节旋钮,这个旋钮的最优位置通过训练来找到。
论文结构与格式
- 期刊/会议:ACL 2021
- 篇幅:约 11 页
- 结构:引言 → 方法 → 实验 → 分析(训练数据规模、任务泛化)→ 结论
核心方法/架构详解
前缀向量的结构
Prefix-Tuning 在每一层 Transformer 的注意力机制中,在键(K)和值(V)序列前面插入一段可学习的向量:
原始注意力: [x_1, x_2, ..., x_n] → Attention → 输出
Prefix 注意力:[p_1,...,p_k, x_1,...,x_n] → Attention → 输出
↑
前缀向量(可学习,约 k=10~50 个)
这些前缀向量并不对应实际的词,而是自由参数,通过反向传播学习。
重参数化技巧
直接优化前缀向量可能不稳定。论文提出用一个小 MLP 网络生成前缀向量:
prefix_params → MLP → 前缀向量
训练完成后,只保存 MLP 输出的前缀向量,丢弃 MLP 本身。
与 GPT-2/BART 的结合
- GPT-2(自回归生成):前缀插入在生成序列开头
- BART(编解码器):前缀同时插入编码器和解码器
主要创新点
- 连续 prompt(Continuous Prompt):第一批系统性研究「可学习的软提示词」
- 只存前缀,共享大模型:对不同任务只需存储极小的前缀参数,大模型完全共享
- 低数据效率验证:在少样本场景下,Prefix-Tuning 优于全量微调(不容易过拟合)
- 跨任务泛化分析:详细研究了前缀在不同任务间的迁移能力
实验设置
| 项目 | 内容 |
|---|---|
| 基础模型 | GPT-2(117M/345M/774M/1.5B)、BART-large(400M) |
| 任务 | 表格到文本生成(E2E NLG)、摘要(XSUM)、代码生成 |
| 前缀长度 | 消融:10~100 个 token,通常 10 已足够 |
| 参数量 | 约占总参数 0.1% |
| 对比基线 | 全量微调、仅微调最后几层、Adapter |
写作风格特点
- 学术风格,理论分析与实验并重
- 对「为什么连续 prompt 优于离散 prompt」有深入分析
- 消融实验全面,前缀长度、位置、初始化都有研究
图表亮点
- Figure 1:Prefix-Tuning 与全量微调的对比图,直观展示冻结大模型 + 训练前缀的结构
- Figure 2:前缀长度 vs 性能曲线,展示边际效益递减
新手阅读建议
- 与 LoRA 对比理解:LoRA 是给权重矩阵加旁路,Prefix-Tuning 是在输入序列前加虚拟 token
- 理解「连续 prompt」的关键:它不是真实词汇,是自由向量,比离散 prompt 搜索空间更大
- 这篇论文开创了「Soft Prompt」研究方向,LoRA 出来之前是主流 PEFT 方法
- 关键术语:前缀(Prefix)= 插入在输入序列开头的可学习向量;软提示(Soft Prompt)= 连续可微的提示词,与离散的文字提示相对
十一、Prompt Tuning(Lester et al., 2021)
arXiv: 2104.08691 | Google
一句话概括
比 Prefix-Tuning 更简单的软提示方案——只在输入层加少量可学习 token,随着模型规模增大,性能逼近全量微调,最大的模型(T5-XXL)上差距几乎消失。
背景与动机
Prefix-Tuning 在每一层都插入前缀向量,仍然比较复杂。Google 的 Lester 等人提出了更简洁的版本:只在输入层(embedding 层)加可学习的提示向量,其他所有层完全冻结。
类比:Prefix-Tuning 是在每道菜的每个烹饪步骤都微调;Prompt Tuning 是只在开始下锅前「加一种特殊调料」,之后全程按原始步骤执行。
论文结构与格式
- 期刊/会议:EMNLP 2021
- 篇幅:约 11 页
- 结构:引言 → 方法 → 实验(SuperGLUE 基准)→ 分析 → 结论
核心方法/架构详解
方法简述
原始输入:[x_1, x_2, ..., x_n]
Prompt Tuning:[p_1, p_2, ..., p_m, x_1, x_2, ..., x_n]
↑
软提示(soft prompt)
只有这 m 个向量是可训练的
m 通常取 10~100
关键:这些 p_i 不是任何真实词的 embedding,而是自由优化的向量。
与 Prefix-Tuning 的区别
| 特性 | Prefix-Tuning | Prompt Tuning |
|---|---|---|
| 前缀位置 | 每一层 K、V | 只在输入层 |
| 参数量 | 更多 | 更少(每层独立 → 只有嵌入层) |
| 复杂度 | 较高 | 非常简单 |
| 大模型上的性能 | 接近全量微调 | 接近全量微调 |
关键发现:规模效应
小模型(T5-Small, 60M):Prompt Tuning 比全量微调差很多
大模型(T5-XXL, 11B):Prompt Tuning 几乎追平全量微调
论文核心发现:模型越大,Prompt Tuning 的效果越好,直到与全量微调相当。
主要创新点
- 极简 PEFT:比任何其他 PEFT 方法都简单,只有输入层有可训练参数
- 规模律验证:系统证明了「模型越大,PEFT 越有效」的规律
- 提示集成(Prompt Ensembling):多个软提示对同一输入投票,提升鲁棒性
- 任务描述初始化:用真实词汇初始化软提示优于随机初始化
实验设置
| 项目 | 内容 |
|---|---|
| 基础模型 | T5(Small/Base/Large/XL/XXL),60M ~ 11B |
| 基准 | SuperGLUE(8 项语言理解任务) |
| 提示长度 | 1、5、20、100 token(20 token 通常最优) |
| 初始化方式 | 随机、词表采样、类标签文字 |
| 对比 | 全量微调(Model Tuning)、GPT-3 few-shot |
写作风格特点
- 简洁明了,方法部分只有一页多
- 重点在分析和消融:提示长度、初始化方式、模型规模的影响
- 完整的规模律实验是本文最大亮点
图表亮点
- Figure 2:不同模型规模下 Prompt Tuning vs Model Tuning 的性能差距,大模型上差距趋近于零
- Table 3:不同初始化方式的对比(任务描述初始化 > 词表初始化 > 随机初始化)
新手阅读建议
- 与 Prefix-Tuning 对比读:理解简化和权衡
- 核心记忆点:「只训练输入层的软提示,越大的模型效果越好」
- 如果你用的是 GPT-3 级别(100B+)的模型,Prompt Tuning 是值得认真考虑的方案
- 关键术语:SuperGLUE= 语言理解综合基准,包含问答、自然语言推断等 8 个任务
十二、FLAN:Finetuned Language Models Are Zero-Shot Learners(Wei et al., 2021)
arXiv: 2109.01652 | Google
一句话概括
用「指令微调」解锁大模型的零样本泛化能力——用 60 多个 NLP 任务的自然语言指令来微调模型,让模型在从未见过的新任务上表现更好。
背景与动机
GPT-3 展示了大模型的 few-shot 学习能力(给几个例子就能做新任务)。但有一个问题:zero-shot 效果(完全不给例子)比 few-shot 差很多。
为什么?因为预训练数据中虽然有各种任务,但没有明确的「任务描述」。模型知道如何完成任务,但不知道「当我说『请总结这段文字』时,我想要什么」。
类比:一个博览群书的人,懂很多知识,但如果你用他没见过的格式问问题,他可能反应不过来。FLAN 就是用标准化的指令格式把他「训练成一个全能助理」。
论文结构与格式
- 期刊/会议:ICLR 2022
- 篇幅:约 26 页
- 结构:引言 → 方法(指令微调)→ 实验(NLP 基准)→ 消融分析 → 结论
核心方法/架构详解
指令微调流程
数据构造:将 62 个现有的 NLP 数据集转化为统一的「指令 + 输入 → 输出」格式。
例如情感分类任务:
指令格式 1:「这段电影评论的情感是正面还是负面? {评论内容}」
指令格式 2:「{评论内容} 上面这句话表达了什么情感?」
指令格式 3:「请判断以下评论是积极还是消极的:{评论内容}」
每个任务用 10 个不同的指令模板描述,增加多样性。
训练方式:混合所有 62 个任务的数据,用指令格式微调基础语言模型(137B 参数的 LaMDA-PT)。
关键实验设计:将 62 个任务分组,每次把一组任务完全留出来作为测试集(held-out clusters),验证对从未见过的任务类型的泛化能力。
为什么有效?
假说:指令微调让模型学会了「任务描述与任务执行」之间的通用对应关系。当遇到新任务时,只要指令描述足够清晰,模型就能理解并执行。
主要创新点
- 指令微调(Instruction Tuning):开创性地系统验证了用指令格式微调提升零样本能力
- 任务群集评估(Cluster Holdout):严格的评估方法,防止数据泄露
- 规模效应:指令微调对 100B+ 的模型特别有效,小模型(8B 以下)提升有限
- 直接影响后续工作:FLAN-T5、FLAN-PaLM、以及 InstructGPT 都受此工作启发
实验设置
| 项目 | 内容 |
|---|---|
| 基础模型 | LaMDA-PT(137B 参数,Google 内部) |
| 指令微调任务数 | 62 个 NLP 数据集,涵盖分类/QA/翻译/摘要等 |
| 每个任务模板数 | 10 种不同指令表达 |
| 评估 | 25 个 held-out 任务(含 NLI/阅读理解/闭书QA/翻译) |
| 对比 | GPT-3(175B)zero-shot、few-shot;原始 LaMDA-PT |
写作风格特点
- 实验设计严谨,特别是「任务群集排除」的方法防止信息泄露
- 大量定量对比,不靠主观评估
- 消融实验全面:任务数量、模型规模、每个任务的模板数量都有分析
图表亮点
- Figure 1:指令微调数据构造流程图,直观展示如何把各种 NLP 任务统一成指令格式
- Figure 4:模型规模 vs 指令微调提升效果,明显的规模依赖(大模型受益更多)
新手阅读建议
- 先读 InstructGPT,再读 FLAN——两者都是指令微调,但 FLAN 不用人工反馈,用的是任务标注数据
- 重点理解「held-out cluster」评估:这是检验泛化能力的正确方式,防止「记住答案」
- FLAN 系列(FLAN-T5、FLAN-PaLM)是目前最强的开源指令微调模型之一
- 关键术语:Zero-shot= 完全不给例子,直接根据指令完成任务;NLI= 自然语言推断,判断两个句子的逻辑关系
十三、Chain-of-Thought Prompting Elicits Reasoning in Large Language Models(Wei et al., 2022)
arXiv: 2201.11903 | Google
一句话概括
只需在提示词里加上「让我们一步一步来想」,大模型的推理能力就能显著提升——思维链推理是涌现于超大语言模型的关键能力。
背景与动机
标准的 few-shot 提示只给「问题 → 答案」的例子。但对于需要多步推理的问题(数学、逻辑推断、常识推理),直接给答案不够——模型不知道「中间推理步骤」是什么。
类比:学生做数学题,只看「题目 → 答案」是没用的,需要看「题目 → 解题步骤 → 答案」才能学会推理方法。
Chain-of-Thought(CoT)思维链就是在 few-shot 示例里,展示完整的推理过程:
标准 Few-Shot:
问:Roger 有 5 个苹果,又买了 2 袋,每袋 3 个。他有几个?
答:11 个。
CoT Few-Shot:
问:Roger 有 5 个苹果,又买了 2 袋,每袋 3 个。他有几个?
答:Roger 开始有 5 个苹果。
他买了 2 袋,每袋 3 个,共 2×3=6 个苹果。
5+6=11 个苹果。答案是 11 个。
论文结构与格式
- 期刊/会议:NeurIPS 2022
- 篇幅:约 40 页(含附录,附录里有大量完整的 CoT 示例)
- 结构:引言 → 思维链提示方法 → 实验(算术/常识/符号推理)→ 分析 → 结论
核心方法/架构详解
思维链提示(CoT Prompting)
只需在 few-shot 示例中,把原来的「答案」改为「推理链 + 答案」。
这是一种 prompt 工程技术,不需要修改模型权重,也不需要重新训练!
三类推理任务上的效果
算术推理(GSM8K、SVAMP、MultiArith):
- 标准提示 GPT-3 175B:~18% 准确率
- CoT 提示 GPT-3 175B:~57% 准确率
- 提升幅度超过 3 倍!
常识推理(CommonsenseQA、StrategyQA):
- CoT 在需要多步常识推理的任务上提升显著
符号推理(翻转字母顺序、嵌套括号匹配):
- 标准提示几乎为 0,CoT 显著提升
涌现现象(Emergent Ability)
关键发现:CoT 只在足够大的模型上有效(约 100B+ 参数)。
在小模型(如 GPT-2,GPT-3 6B)上,CoT 不仅没帮助,反而可能有害(胡乱生成推理步骤)。
这说明什么:CoT 的推理能力是随模型规模的涌现(Emergent)能力,不是小模型通过训练就能获得的。
Zero-shot CoT(后续工作)
值得一提:Kojima et al.(2022)发现,只需在提示末尾加 「Let's think step by step」(让我们一步一步来想),无需手写示例,也能显著提升推理性能——即 zero-shot CoT。
主要创新点
- 发现思维链是涌现能力:系统证明 CoT 只在大模型上生效
- 无需模型修改:纯 prompt 工程,即插即用
- 跨任务通用性:算术、常识、符号推理都适用
- 影响深远:激发了大量后续工作(Tree-of-Thought、Self-Consistency、Program-Aided 等)
实验设置
| 项目 | 内容 |
|---|---|
| 模型 | GPT-3(所有规模:1B/7B/175B)、PaLM(540B)、LaMDA(137B) |
| 数据集 | GSM8K、SVAMP、AQuA(算术);CommonsenseQA、StrategyQA(常识);Coin Flip(符号) |
| 提示方式 | 8 个 few-shot 示例(标准 vs CoT 版本) |
| 关键消融 | 仅答案 vs 仅公式 vs 完整推理链;正确推理 vs 错误推理 |
写作风格特点
- 附录异常丰富,包含几十个任务的完整 CoT 示例,是学习如何写 CoT 的最好参考
- 实验设计非常严格:用相同 few-shot 示例对比标准 vs CoT,控制变量
- 对失败案例(步骤推理错误但答案正确,或相反)有诚实分析
图表亮点
- Figure 1:标准提示 vs CoT 提示的直观对比,一图胜千言
- Figure 4:准确率随模型规模的变化曲线,涌现效应的经典图示——小模型 CoT 没帮助甚至有害,超过某个规模阈值后急剧提升
新手阅读建议
- 最推荐新手第一篇读的大模型论文:直觉清晰,结论震撼,实验简单易懂
- 重点看 Figure 1(CoT 示例对比)和 Figure 4(涌现效应曲线)
- 试着自己设计几个 CoT 示例,用 ChatGPT 或 Claude 测试效果
- 理解「涌现」含义:某个能力在小模型完全不存在,超过某规模阈值后突然出现
- 关键术语:思维链(Chain-of-Thought)= 推理步骤的文字化呈现;涌现能力(Emergent Ability)= 只在超过某规模阈值后突然出现的能力;GSM8K= 小学数学应用题基准,共 8500 题
附录:快速参考表
| # | 论文 | 年份 | 机构 | 核心贡献 | 参数规模 | 必读指数 |
|---|---|---|---|---|---|---|
| 1 | Scaling Laws | 2020 | OpenAI | 性能与规模的幂律关系 | 1B 以内 | ★★★★★ |
| 2 | Chinchilla | 2022 | DeepMind | 最优数据/参数比(1:20) | 70B | ★★★★★ |
| 3 | Learn to Summarize | 2020 | OpenAI | RLHF 实践验证 | 6.7B | ★★★★☆ |
| 4 | InstructGPT | 2022 | OpenAI | RLHF 规模化,ChatGPT 前身 | 1.3B~175B | ★★★★★ |
| 5 | Constitutional AI | 2022 | Anthropic | RLAIF,AI 自我对齐 | 52B | ★★★★☆ |
| 6 | DPO | 2023 | Stanford | 去掉 RL 的对齐 | 多种 | ★★★★★ |
| 7 | PPO | 2017 | OpenAI | RLHF 的 RL 算法 | N/A | ★★★★☆ |
| 8 | LoRA | 2022 | Microsoft | 高效微调标准方案 | 175B | ★★★★★ |
| 9 | QLoRA | 2023 | UW | 单卡训练 65B 模型 | 65B | ★★★★★ |
| 10 | Prefix-Tuning | 2021 | Stanford | 连续前缀软提示 | 1.5B | ★★★☆☆ |
| 11 | Prompt Tuning | 2021 | 最简软提示,规模效应 | 11B | ★★★☆☆ | |
| 12 | FLAN | 2021 | 指令微调解锁零样本泛化 | 137B | ★★★★☆ | |
| 13 | CoT | 2022 | 思维链推理,涌现能力 | 540B | ★★★★★ |
导读撰写完成,共 13 篇,2026-05-27