预训练·微调·对齐 —— 13 篇经典论文导读合集

面向零基础新手,通俗讲解大模型训练三阶段的核心论文。
作者:导读由 AI 助手整理,2026-05-27


总览:大模型是怎么「炼」出来的?

想象训练一个大模型就像培养一名顶级厨师:

  1. 预训练(基础教育):先让他读完所有烹饪书,建立对食材、火候、味道的基本认知。这是最烧钱的阶段,需要海量数据和算力。
  2. 高效微调(专业培训):厨师已经很厉害了,但你不想花大价钱重新培训,只需要给他加一本「川菜专项手册」——参数高效微调(PEFT)就是干这个的。
  3. 对齐(职业道德培训):让厨师不仅做得好吃,还得安全、诚实、符合规范,不做有害的菜。这就是 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)


论文结构与格式


核心方法/架构详解

幂律关系(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 认为参数量增长比数据量更重要——给定算力,优先扩大模型,数据可以不等比例增长。

架构细节影响很小

论文还发现:在同等参数量下,层数、头数等超参数的影响远小于参数总量。这给了工程师很大的灵活度。


主要创新点

  1. 首次系统量化了语言模型性能与 N、D、C 的幂律关系
  2. 提出最优模型大小公式,使得在训练前就能预估结果
  3. 发现架构细节(深度/宽度权衡)影响远小于总参数量
  4. 建立了 Loss 作为统一性能指标的框架(不依赖具体下游任务)

实验设置

项目 内容
数据集 WebText2(OpenAI 内部网页文本)
模型规模 768 参数 ~ 1.5B 参数,跨越6个数量级
计算量范围 $10^{12}$ ~ $10^{23}$ FLOPs
评估指标 测试集语言模型损失(bits per character)
训练基础架构 Transformer(Decoder-only,类 GPT)

写作风格特点


图表亮点


新手阅读建议

  1. 先看 AbstractFigure 1,建立直觉
  2. 跳过数学推导,直接看每节最后的「总结段落」
  3. 重点理解「幂律」的含义:性能可预测地随规模增长
  4. 读完后对比 Chinchilla(下一篇),理解 Kaplan 结论被如何修正
  5. 关键术语: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 的实验是不是训练步数太少了?

类比:如果你只让学生学了三天就考试,得出「课本越厚成绩越好」。但如果让他们学够一学期,结论可能是「课本厚度和练习题数量需要匹配」。


论文结构与格式


核心方法/架构详解

三种估计方法

论文用了三种独立方法来估计最优参数量 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


主要创新点

  1. 纠正了 Kaplan 的偏差:发现原实验训练不充分,低估了数据的重要性
  2. 提出 N∝C^0.5, D∝C^0.5(而非 Kaplan 的 N∝C^0.73),即模型和数据应等比例增长
  3. 实证验证:用 Chinchilla 模型以小博大,证明了理论的实践价值
  4. 推动了 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 等)

写作风格特点


图表亮点


新手阅读建议

  1. 先读 Scaling Laws(Kaplan),再读 Chinchilla,理解「纠偏」关系
  2. 重点理解 IsoFLOP 图:横轴参数量,纵轴 loss,固定算力的曲线有一个最低点
  3. 记住核心结论:参数量翻倍,训练数据也要翻倍
  4. 关键术语:Token= 文字的基本单位,大约 1 个英语单词 = 1.3 个 token;IsoFLOP= 等算力


三、Learning to Summarize from Human Feedback(Stiennon et al., 2020)

arXiv: 2009.01325 | OpenAI

一句话概括

用人类反馈来训练摘要模型的开创性实验——比直接优化 ROUGE 分数的模型更受人类喜爱,奠定了 RLHF(人类反馈强化学习)的实践基础。


背景与动机

传统的文本摘要模型用 ROUGE 分数(机器自动计算的词汇重叠率)来评估好坏。但问题是:ROUGE 高的摘要,人类不一定认为好

类比:你写作文,老师用「有没有用到课文里的词」来打分。那你当然会堆砌原文词汇,但文章不一定通顺。

这篇论文的核心思路:直接用「人类更喜欢哪个摘要」来训练模型,而不是用机器指标。


论文结构与格式


核心方法/架构详解

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模型)


主要创新点

  1. 首次在 NLP 大模型上系统验证 RLHF 流程的可行性
  2. 证明人类偏好与自动指标(ROUGE)的显著背离
  3. 策略蒸馏(Policy Distillation):将 RL 训练的模型蒸馏,便于部署
  4. 展示了即使只有少量人类反馈(几万条),RLHF 也能显著改善模型质量

实验设置

项目 内容
数据集 Reddit TL;DR 摘要数据集(约 12 万篇帖子)
基础模型 GPT-3(最大 6.7B 参数)
基线 监督微调模型(SFT)、直接 GPT-3、人类参考摘要
评估 人类胜率(vs SFT baseline)、ROUGE 分数
标注量 约 6.5 万对人类比较偏好

写作风格特点


图表亮点


新手阅读建议

  1. 这篇是 RLHF 的「实验室验证版」,先读这篇再读 InstructGPT(规模化应用版)
  2. 重点理解奖励模型的作用:它是人类偏好的「代理人」
  3. 先不用深究 PPO 算法细节,把它当成「根据奖励信号调整参数的方法」即可
  4. 关键术语: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)。

类比:就像培训一个速录员(他很会打字),但他没学过「如何成为一个好助手」。你需要额外教他:「什么时候该说话,怎么帮人解决问题,不该做什么」。


论文结构与格式


核心方法/架构详解

完整的 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)上略有退步,作者称之为「对齐税」——为了让模型「听话」,牺牲了少量「客观能力」。


主要创新点

  1. 规模化验证 RLHF:从 1.3B 到 175B,证明 RLHF 对所有规模都有效
  2. 惊人的参数效率:1.3B 的 InstructGPT 在人类评估上优于 175B 的原始 GPT-3
  3. 系统的安全评估:包含毒性(toxicity)、真实性(truthfulness)等多维度安全指标
  4. 首次大规模部署 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)+ 自动评估

写作风格特点


图表亮点


新手阅读建议

  1. 必读:这是理解 ChatGPT 原理的最重要论文之一
  2. Figure 2 的三阶段流程图反复看,确保理解每个阶段的输入输出
  3. 把 PPO 当黑盒,理解「根据奖励信号更新参数」即可
  4. 关注论文对「对齐税」的讨论——这说明对齐不是免费的
  5. 关键术语:提示(Prompt)= 用户输入;SFT= 监督微调;人类胜率= A vs B 人类觉得谁更好的比例


五、Constitutional AI(Bai et al., 2022)

arXiv: 2212.08073 | Anthropic

一句话概括

用「一套原则(宪法)」代替人工标注来做对齐——让 AI 自己批评和修改自己的回答,大幅减少对人工标注有害内容的依赖。


背景与动机

RLHF(InstructGPT 的方法)效果很好,但有个痛点:需要大量人工标注有害内容。让标注员天天看有毒、有害的文字,会造成心理创伤,且成本高昂。

Anthropic 的想法:能不能让 AI 自己判断什么是有害的,只需给它一套「行为准则」?

类比:与其雇佣一万名法官来审核每个判决,不如先写一部法典(宪法),然后培训 AI 法官按法典自动审判。


论文结构与格式


核心方法/架构详解

两个阶段:SL-CAI + RL-CAI

阶段一:监督学习 CAI(SL-CAI)

  1. 用「红队(Red Team)提示」触发模型生成有害回答
  2. 模型用「宪法中的原则」自我批评:「这个回答违反了第 X 条原则,因为……」
  3. 模型自我修订:生成更符合原则的回答
  4. 重复多轮,得到「原始问题 → 改进后的回答」训练对
  5. 用这些数据做监督微调

阶段二:强化学习 CAI(RL-CAI)

  1. 用 AI(而非人工)来生成偏好数据:给两个回答,让 AI 模型判断哪个更符合宪法
  2. 用这些 AI 生成的偏好数据训练奖励模型(AI Feedback = RLAIF)
  3. 用 PPO 微调模型

宪法(Constitution)长什么样?

宪法是一组自然语言原则,例如:
- 「选择对儿童更安全的回答」
- 「选择不鼓励非法活动的回答」
- 「选择更诚实、更少欺骗性的回答」

这些原则是 Anthropic 人工编写的,但只需写一次,不需要为每个例子单独标注。


主要创新点

  1. RLAIF(AI Feedback 代替 Human Feedback):首次证明 AI 可以充当自己的评判者
  2. 可解释的对齐:原则是明文写出来的,比黑盒的人工标注更透明
  3. 减少人工标注有害内容:保护标注员心理健康的同时降低成本
  4. 「无害但有帮助」的平衡:之前的 RLHF 有时让模型过于保守,CAI 尝试在安全和有用之间找到更好的平衡

实验设置

项目 内容
基础模型 Anthropic 内部的 52B 参数语言模型
宪法原则数量 16 条原则,论文附录有完整列表
评估 Elo 评分系统(人类评估有用性 vs 无害性)、红队攻击成功率
对比基线 RLHF 模型(有人工标注有害内容)、原始 SFT 模型

写作风格特点


图表亮点


新手阅读建议

  1. 先读 InstructGPT,理解「RLHF 是什么」,再读本文理解「如何减少人工成本」
  2. 重点关注「自我批评-修订」循环,这个思路后来被广泛应用(如 GPT-4 的 system prompt 对齐)
  3. 思考一个问题:让 AI 自己判断什么是「好的」,会不会有偏差?论文的讨论章节有详细分析
  4. 关键术语:红队(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 的奖励函数和语言模型之间存在一个数学等价关系,可以将两者合并,直接从偏好数据优化语言模型


论文结构与格式


核心方法/架构详解

数学推导(直觉版)

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 损失
  ↓
输出:对齐后的模型 π_θ

就这么简单!


主要创新点

  1. 理论严谨:用数学证明了 DPO 等价于 RLHF 的最优解
  2. 工程简洁:去掉了奖励模型和 PPO,一个损失函数搞定
  3. 训练稳定:监督学习比强化学习更稳定,超参数更少
  4. 开源友好:实现简单,成为大量开源微调框架的标配(如 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 自动评估

写作风格特点


图表亮点


新手阅读建议

  1. 先理解 InstructGPT 中 RLHF 的三步流程,再来看 DPO 的简化
  2. 数学推导可以跳过,重点看核心思路:「奖励模型和语言模型可以合并」
  3. DPO 目前是工业界最常用的对齐方法之一,实际动手微调大概率会用到
  4. 关键术语:Bradley-Terry 模型= 「A 比 B 好的概率」的数学模型;参考模型(π_ref)= SFT 之后的基础模型,用来防止训练跑偏


七、PPO:Proximal Policy Optimization(Schulman et al., 2017)

arXiv: 1707.06347 | OpenAI

一句话概括

强化学习里最好用的策略梯度算法之一——通过限制每次参数更新的幅度(「近端」约束),让训练更稳定,是 RLHF 框架中的「发动机」。


背景与动机

强化学习训练不稳定是个老大难问题:更新太小,学得慢;更新太大,策略崩溃(模型突然变得非常差)。

之前的解决方案 TRPO(信任域策略优化)通过复杂的二阶优化约束更新幅度,效果好但实现极其复杂。

类比:TRPO 像是「每次修改菜谱时,精确计算最多能改变哪些配料的量」,复杂且计算慢。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 的反馈更新策略


主要创新点

  1. 简单高效:比 TRPO 实现简单得多,只需一阶优化
  2. Clip 机制:优雅地解决了更新步长问题,不需要复杂的约束优化
  3. 广泛适用:从 Atari 游戏到机器人控制再到 LLM 对齐,都表现出色
  4. 成为事实标准:OpenAI 的 InstructGPT、ChatGPT 都用 PPO 作为 RL 算法

实验设置

项目 内容
环境 MuJoCo 连续控制(HalfCheetah、Hopper 等)、Atari 游戏、机器人仿真
对比基线 TRPO、A3C、CEM、传统策略梯度
指标 平均奖励(episode reward)、样本效率
ε 参数 默认 0.2(论文进行了消融实验)

写作风格特点


图表亮点


新手阅读建议

  1. 如果没有强化学习基础,先了解 MDP(马尔可夫决策过程)、策略、奖励等基本概念
  2. 对于想理解 InstructGPT/ChatGPT 的读者:理解 PPO 的 Clip 机制即可,不需要深挖 Actor-Critic 的所有细节
  3. 在 LLM 语境下:「状态」= 当前对话历史;「动作」= 下一个 token;「奖励」= 奖励模型给出的分数
  4. 关键术语:策略(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 万像素(参数),但实际上你只是调整了色调和对比度——这两个操作可以用很少的参数描述,不需要指定每个像素的改变。


论文结构与格式


核心方法/架构详解

低秩分解的数学原理

正常微调: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)

初始化技巧

应用位置

LoRA 主要应用于 Transformer 中的注意力矩阵
- 查询矩阵(Q)、键矩阵(K)、值矩阵(V)
- 论文发现只对 Q 和 V 应用 LoRA 效果最佳


主要创新点

  1. 极低参数量:在 GPT-3 上,LoRA 只需训练约 0.01% 的参数(约 1800 万 vs 1750 亿)
  2. 无推理延迟:推理时合并权重,速度与原模型相同
  3. 灵活切换任务:不同任务只需存储不同的 A/B 矩阵,共享大模型底座
  4. 理论直觉:低秩假设有实验支撑——微调中 Δ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
关键指标 性能与全量微调对比、参数量、显存占用

写作风格特点


图表亮点


新手阅读建议

  1. 先理解什么是矩阵的「秩」:直觉上就是矩阵包含「有效信息」的维度数量
  2. LoRA 是目前最流行的 PEFT 方法,Hugging Face 的 PEFT 库直接支持,实践非常容易上手
  3. 关键参数:r(秩)越大表达能力越强,但参数量也越多;通常 r=8 是很好的起点
  4. 关键术语:冻结(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 进一步说:「厨房里的设备(模型权重)可以压缩打包存放,用的时候再展开」。


论文结构与格式


核心方法/架构详解

三大核心技术

技术一: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 权重

主要创新点

  1. NF4 数据类型:信息论最优的 4 位量化格式
  2. 双重量化:对量化常数再量化,进一步压缩
  3. 分页优化器:解决长序列训练的显存峰值问题
  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

写作风格特点


图表亮点


新手阅读建议

  1. 先读 LoRA,理解「只训练小矩阵」的基本思路
  2. 量化(Quantization)直觉:用 4 位表示本来需要 16 位的数字,精度有损失但可接受
  3. 记住最震撼的实验结果:65B 模型压缩到单卡可训,且性能接近 ChatGPT
  4. 关键术语:量化(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 相当于给厨房的炉子调整一个特殊的「烹饪模式设置」——不是文字指令,而是调节旋钮,这个旋钮的最优位置通过训练来找到。


论文结构与格式


核心方法/架构详解

前缀向量的结构

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 的结合


主要创新点

  1. 连续 prompt(Continuous Prompt):第一批系统性研究「可学习的软提示词」
  2. 只存前缀,共享大模型:对不同任务只需存储极小的前缀参数,大模型完全共享
  3. 低数据效率验证:在少样本场景下,Prefix-Tuning 优于全量微调(不容易过拟合)
  4. 跨任务泛化分析:详细研究了前缀在不同任务间的迁移能力

实验设置

项目 内容
基础模型 GPT-2(117M/345M/774M/1.5B)、BART-large(400M)
任务 表格到文本生成(E2E NLG)、摘要(XSUM)、代码生成
前缀长度 消融:10~100 个 token,通常 10 已足够
参数量 约占总参数 0.1%
对比基线 全量微调、仅微调最后几层、Adapter

写作风格特点


图表亮点


新手阅读建议

  1. 与 LoRA 对比理解:LoRA 是给权重矩阵加旁路,Prefix-Tuning 是在输入序列前加虚拟 token
  2. 理解「连续 prompt」的关键:它不是真实词汇,是自由向量,比离散 prompt 搜索空间更大
  3. 这篇论文开创了「Soft Prompt」研究方向,LoRA 出来之前是主流 PEFT 方法
  4. 关键术语:前缀(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 是只在开始下锅前「加一种特殊调料」,之后全程按原始步骤执行。


论文结构与格式


核心方法/架构详解

方法简述

原始输入:[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 的效果越好,直到与全量微调相当。


主要创新点

  1. 极简 PEFT:比任何其他 PEFT 方法都简单,只有输入层有可训练参数
  2. 规模律验证:系统证明了「模型越大,PEFT 越有效」的规律
  3. 提示集成(Prompt Ensembling):多个软提示对同一输入投票,提升鲁棒性
  4. 任务描述初始化:用真实词汇初始化软提示优于随机初始化

实验设置

项目 内容
基础模型 T5(Small/Base/Large/XL/XXL),60M ~ 11B
基准 SuperGLUE(8 项语言理解任务)
提示长度 1、5、20、100 token(20 token 通常最优)
初始化方式 随机、词表采样、类标签文字
对比 全量微调(Model Tuning)、GPT-3 few-shot

写作风格特点


图表亮点


新手阅读建议

  1. 与 Prefix-Tuning 对比读:理解简化和权衡
  2. 核心记忆点:「只训练输入层的软提示,越大的模型效果越好」
  3. 如果你用的是 GPT-3 级别(100B+)的模型,Prompt Tuning 是值得认真考虑的方案
  4. 关键术语: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 就是用标准化的指令格式把他「训练成一个全能助理」。


论文结构与格式


核心方法/架构详解

指令微调流程

数据构造:将 62 个现有的 NLP 数据集转化为统一的「指令 + 输入 → 输出」格式。

例如情感分类任务:

指令格式 1:「这段电影评论的情感是正面还是负面? {评论内容}」
指令格式 2:「{评论内容} 上面这句话表达了什么情感?」
指令格式 3:「请判断以下评论是积极还是消极的:{评论内容}」

每个任务用 10 个不同的指令模板描述,增加多样性。

训练方式:混合所有 62 个任务的数据,用指令格式微调基础语言模型(137B 参数的 LaMDA-PT)。

关键实验设计:将 62 个任务分组,每次把一组任务完全留出来作为测试集(held-out clusters),验证对从未见过的任务类型的泛化能力。

为什么有效?

假说:指令微调让模型学会了「任务描述与任务执行」之间的通用对应关系。当遇到新任务时,只要指令描述足够清晰,模型就能理解并执行。


主要创新点

  1. 指令微调(Instruction Tuning):开创性地系统验证了用指令格式微调提升零样本能力
  2. 任务群集评估(Cluster Holdout):严格的评估方法,防止数据泄露
  3. 规模效应:指令微调对 100B+ 的模型特别有效,小模型(8B 以下)提升有限
  4. 直接影响后续工作: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

写作风格特点


图表亮点


新手阅读建议

  1. 先读 InstructGPT,再读 FLAN——两者都是指令微调,但 FLAN 不用人工反馈,用的是任务标注数据
  2. 重点理解「held-out cluster」评估:这是检验泛化能力的正确方式,防止「记住答案」
  3. FLAN 系列(FLAN-T5、FLAN-PaLM)是目前最强的开源指令微调模型之一
  4. 关键术语: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 个。

论文结构与格式


核心方法/架构详解

思维链提示(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。


主要创新点

  1. 发现思维链是涌现能力:系统证明 CoT 只在大模型上生效
  2. 无需模型修改:纯 prompt 工程,即插即用
  3. 跨任务通用性:算术、常识、符号推理都适用
  4. 影响深远:激发了大量后续工作(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 错误推理

写作风格特点


图表亮点


新手阅读建议

  1. 最推荐新手第一篇读的大模型论文:直觉清晰,结论震撼,实验简单易懂
  2. 重点看 Figure 1(CoT 示例对比)和 Figure 4(涌现效应曲线)
  3. 试着自己设计几个 CoT 示例,用 ChatGPT 或 Claude 测试效果
  4. 理解「涌现」含义:某个能力在小模型完全不存在,超过某规模阈值后突然出现
  5. 关键术语:思维链(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 Google 最简软提示,规模效应 11B ★★★☆☆
12 FLAN 2021 Google 指令微调解锁零样本泛化 137B ★★★★☆
13 CoT 2022 Google 思维链推理,涌现能力 540B ★★★★★

导读撰写完成,共 13 篇,2026-05-27