本文解读的是Long Ouyang等人于2022年发表的里程碑论文《Training language models to follow instructions with human feedback》,该论文提出了InstructGPT模型和RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)技术,首次实现了让语言模型真正理解并遵循人类指令。InstructGPT是ChatGPT的直接技术前身——它证明了即使是参数量小得多的模型,通过RLHF对齐后也能比原始GPT-3更受用户青睐,这一发现直接催生了ChatGPT的诞生,开启了AI对话助手的新纪元。
语言模型对齐问题
问题一:GPT-3的"不听话"
尽管GPT-3展示了惊人的能力,但它存在一个根本问题:不能可靠地遵循用户指令。
典型问题包括:
答非所问:
用户:列出5个学习编程的建议
GPT-3:编程是一门重要的技能。很多人学习编程...(继续生成无关内容)
有害内容:
用户:如何做一个好人?
GPT-3:(可能生成负面或有害建议)
胡言乱语:
用户:2+2等于几?
GPT-3:2+2等于5。在某些情况下...(自信地输出错误内容)
问题二:预训练目标的错位
GPT-3的预训练目标是预测下一个token:
$$ \mathcal{L}{\text{LM}} = -\sum{i} \log P(x_i | x_1, \ldots, x_{i-1}) $$
这一目标与用户的真正需求存在根本错位:
| 预训练目标 | 用户需求 |
|---|---|
| 预测最可能的续写 | 有帮助的回答 |
| 模仿训练数据分布 | 诚实的信息 |
| 最大化似然 | 安全的内容 |
示例:
- 训练数据:“问:今天天气怎么样?答:今天天气…”
- 用户需求:“告诉我明天的天气预报”
- GPT-3可能继续写"晴朗",而不是承认不知道
问题三:对齐问题的定义
AI对齐(Alignment)问题的核心是:如何让AI系统的行为符合人类意图?
形式化定义:
$$ \text{对齐目标} = \max_{\theta} \mathbb{E}{x \sim \mathcal{D}{\text{user}}}[R_{\text{human}}(\text{model}_\theta(x))] $$
其中 $R_{\text{human}}$ 是人类对输出的评价,$\mathcal{D}_{\text{user}}$ 是用户查询分布。
问题是:$R_{\text{human}}$ 无法直接获得,也无法简单量化。
RLHF的三阶段方法
阶段一:监督微调(SFT)
首先,在人工标注的高质量数据上进行监督微调:
数据收集:
- 收集用户提交的prompt(约13,000条)
- 雇用40名标注员编写高质量回答
- 质量控制:多人标注,一致性检查
微调目标:
$$ \mathcal{L}{\text{SFT}} = -\sum{(x, y) \in \mathcal{D}_{\text{demo}}} \log P(y | x; \theta) $$
其中 $(x, y)$ 是prompt-回答对。
效果:SFT后的模型已经显著优于原始GPT-3,但仍有提升空间。
阶段二:奖励模型训练(RM)
接下来,训练一个奖励模型来模拟人类偏好:
比较数据收集:
- 给定prompt,让SFT模型生成多个回答(K个,通常K=4-9)
- 标注员对回答进行排序
- 将排序转换为成对比较数据
奖励模型架构:
奖励模型 $r_\phi(x, y)$ 输出一个标量分数,表示回答 $y$ 对prompt $x$ 的质量。
训练目标(Bradley-Terry模型):
$$ \mathcal{L}{\text{RM}} = -\mathbb{E}{(x, y_w, y_l) \sim \mathcal{D}{\text{comparison}}} \left[ \log \sigma(r\phi(x, y_w) - r_\phi(x, y_l)) \right] $$
其中 $y_w$ 是偏好回答(winner),$y_l$ 是非偏好回答(loser),$\sigma$ 是sigmoid函数。
直觉:最大化偏好回答与非偏好回答的分数差距。
阶段三:强化学习优化(PPO)
最后,使用强化学习优化语言模型,使其生成高奖励的回答:
目标函数:
$$ \mathcal{L}{\text{RL}} = \mathbb{E}{x \sim \mathcal{D}, y \sim \pi_\theta(y|x)} \left[ r_\phi(x, y) - \beta \cdot D_{\text{KL}}(\pi_\theta(y|x) | \pi_{\text{ref}}(y|x)) \right] $$
其中:
- $\pi_\theta$ 是当前策略(语言模型)
- $\pi_{\text{ref}}$ 是参考策略(SFT模型)
- $\beta$ 是KL惩罚系数
- $D_{\text{KL}}$ 是KL散度
KL惩罚的作用:防止模型过度优化奖励函数,偏离原始语言模型太远(“reward hacking”)。
PPO算法:
PPO(Proximal Policy Optimization)是一种稳定的策略梯度算法:
$$ \mathcal{L}_{\text{PPO}} = \mathbb{E}_t \left[ \min\left( r_t(\theta) \hat{A}_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_t \right) \right] $$
其中 $r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{\text{old}}}(a_t|s_t)}$ 是概率比,$\hat{A}_t$ 是优势估计。
训练细节与技术
数据标注指南
标注员遵循详细的指南来评估回答质量:
有帮助性(Helpfulness):
- 是否回答了用户的问题?
- 是否提供了有用的信息?
- 是否简洁明了?
诚实性(Honesty):
- 是否承认不确定性?
- 是否避免编造信息?
- 是否引用可靠来源?
无害性(Harmlessness):
- 是否避免有害内容?
- 是否拒绝不当请求?
- 是否考虑潜在负面影响?
模型规模对比
论文训练了多个规模的InstructGPT:
| 模型 | 参数量 | 对比GPT-3 |
|---|---|---|
| InstructGPT 1.3B | 1.3B | GPT-3 175B |
| InstructGPT 6B | 6B | GPT-3 175B |
| InstructGPT 175B | 175B | GPT-3 175B |
关键发现:1.3B的InstructGPT在人类评估中优于175B的GPT-3!
迭代训练
InstructGPT使用迭代训练方法:
- 训练初始SFT模型
- 收集比较数据,训练RM
- 用RL优化,得到新模型
- 用新模型收集更多数据
- 重复步骤2-4
每次迭代都能提升模型质量。
实验结果与分析
人类评估
在人类评估中,InstructGPT显著优于GPT-3:
| 对比 | InstructGPT胜率 |
|---|---|
| InstructGPT 1.3B vs GPT-3 175B | 85% |
| InstructGPT 6B vs GPT-3 175B | 87% |
| InstructGPT 175B vs GPT-3 175B | 92% |
令人震惊的发现:仅1.3B参数的InstructGPT就能击败100倍大的GPT-3!
TruthfulQA基准
在测试诚实性的TruthfulQA基准上:
| 模型 | 真实性% | 信息量% |
|---|---|---|
| GPT-3 175B | 58.0 | 90.0 |
| InstructGPT 1.3B | 64.3 | 88.1 |
| InstructGPT 175B | 76.4 | 82.3 |
InstructGPT更诚实,更少编造内容。
安全性评估
在RealToxicityPrompts基准上:
| 模型 | 有毒输出比例 |
|---|---|
| GPT-3 175B | 6.48% |
| InstructGPT 175B | 0.61% |
InstructGPT生成的有害内容减少了90%以上。
能力保持
RLHF会损失一些原始能力(“对齐税”),但损失可控:
| 任务 | GPT-3 | InstructGPT | 变化 |
|---|---|---|---|
| HellaSwag | 78.9% | 77.8% | -1.1% |
| WinoGrande | 70.2% | 69.7% | -0.5% |
| ARC | 51.4% | 51.1% | -0.3% |
能力保持相当稳定。
对齐技术的理论分析
奖励模型的局限
奖励模型面临几个挑战:
分布偏移:
- 训练时:RM在SFT模型输出上训练
- 测试时:RM评估RL优化后的模型输出
- 分布差异导致RM可能不准确
Reward Hacking: 模型可能找到"欺骗"奖励模型的方式:
$$ y^* = \arg\max_y r_\phi(x, y) \neq \arg\max_y R_{\text{human}}(x, y) $$
KL惩罚能缓解但不能完全解决这一问题。
RLHF的理论基础
RLHF可以理解为一种偏好学习(Preference Learning):
假设:存在潜在的人类偏好函数 $R^*(x, y)$
目标:从成对比较中学习 $R^*$ 的近似
$$ P(y_w \succ y_l | x) = \frac{\exp(R^(x, y_w))}{\exp(R^(x, y_w)) + \exp(R^*(x, y_l))} $$
Bradley-Terry模型正是基于这一假设。
KL惩罚的理论解释
KL惩罚可以理解为正则化:
$$ \max_\theta \mathbb{E}[r_\phi(x, y)] - \beta D_{\text{KL}}(\pi_\theta | \pi_{\text{ref}}) $$
等价于:
$$ \max_\theta \mathbb{E}{\pi\theta}[r_\phi(x, y)] + \beta \mathcal{H}(\pi_\theta) - \beta \mathbb{E}{\pi\theta}[\log \pi_{\text{ref}}(y|x)] $$
包含熵正则化项,防止模型过于确定(坍缩到单一输出)。
从InstructGPT到ChatGPT
技术演进
ChatGPT基于InstructGPT的技术框架,增加了:
| 特性 | InstructGPT | ChatGPT |
|---|---|---|
| 基础架构 | GPT-3 | GPT-3.5 |
| RLHF | ✓ | ✓(改进) |
| 对话能力 | 单轮为主 | 多轮对话 |
| 安全过滤 | 基础 | 增强 |
| 用户体验 | API | 对话界面 |
对话优化
ChatGPT在对话方面的关键改进:
- 对话历史建模:将多轮对话作为上下文
- 系统提示:定义助手角色和行为
- 拒绝策略:对不当请求的优雅拒绝
- 追问能力:在信息不足时主动询问
安全增强
ChatGPT加强了安全措施:
- 内容过滤:输入输出双向过滤
- 红队测试:专门团队尝试破解安全措施
- 迭代改进:基于用户反馈持续更新
- 使用政策:明确禁止的使用场景
RLHF的影响与未来
技术影响
RLHF已成为大语言模型的标准训练流程:
| 模型 | 是否使用RLHF |
|---|---|
| ChatGPT | ✓ |
| Claude | ✓(Constitutional AI变体) |
| Gemini | ✓ |
| Llama 2-Chat | ✓ |
研究方向
RLHF的改进方向:
- 直接偏好优化(DPO):无需显式奖励模型
- 宪法AI:用AI生成反馈,减少人工标注
- 迭代RLHF:持续学习用户偏好
- 多目标对齐:同时优化多个对齐目标
哲学思考
RLHF引发深层思考:
- 谁的偏好?标注员偏好是否代表人类偏好?
- 价值对齐?如何处理不同文化、价值观的差异?
- 长期影响?对齐到当前偏好是否是正确方向?
阅读研究论文的时间线计划
本文在技术时间线中的位置
Word2Vec(2013) → Seq2Seq(2014) → Attention(2015) → Transformer(2017)
→ GPT-1(2018) → GPT-2(2019) → Scaling Laws(2020) → GPT-3(2020) → 【当前位置】InstructGPT(2022) → ChatGPT
前置知识
在阅读本文之前,建议了解:
- 【ChatGPT时刻09】GPT-3:理解基础模型能力
- 强化学习基础(策略梯度、PPO)
- Bradley-Terry模型
后续学习方向
完成ChatGPT时刻系列后,建议深入:
- Constitutional AI:Anthropic的对齐方法
- Direct Preference Optimization(DPO):简化的RLHF
- AI Safety:更广泛的对齐研究
- 多模态对齐:图像、视频的RLHF
完整技术路线图:ChatGPT的诞生
ChatGPT技术栈完整回顾
│
┌─────────────────────────────┴─────────────────────────────┐
│ │
Word2Vec ─► Seq2Seq ─► Attention ─► Transformer ─► GPT-1 ─► GPT-2 ─► GPT-3 ─► InstructGPT ─► ChatGPT
(2013) (2014) (2015) (2017) (2018) (2019) (2020) (2022) (2022)
│ │ │ │ │ │ │ │ │
词向量 编码器- 软对齐 自注意力 预训练+ 零样本 上下文 RLHF 多轮对话
语义空间 解码器 并行计算 微调 规模效应 学习 人类对齐 产品化
参考文献
- Ouyang, L., et al. (2022). Training language models to follow instructions with human feedback. NeurIPS.
- Christiano, P., et al. (2017). Deep reinforcement learning from human preferences. NeurIPS.
- Stiennon, N., et al. (2020). Learning to summarize from human feedback. NeurIPS.
- Schulman, J., et al. (2017). Proximal Policy Optimization Algorithms. arXiv.
- Bai, Y., et al. (2022). Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback. arXiv.
- Rafailov, R., et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. NeurIPS.
系列总结:从Word2Vec到ChatGPT
至此,我们完成了ChatGPT时刻系列的全部10篇文章,回顾了从2013年Word2Vec到2022年ChatGPT的完整技术演进:
| 年份 | 技术突破 | 核心贡献 |
|---|---|---|
| 2013 | Word2Vec | 词向量,语义空间 |
| 2014 | Seq2Seq | 编码器-解码器,端到端 |
| 2015 | Attention | 软对齐,动态上下文 |
| 2017 | Transformer | 自注意力,并行计算 |
| 2018 | GPT-1 | 预训练+微调范式 |
| 2019 | GPT-2 | 零样本学习,规模效应 |
| 2020 | Scaling Laws | 规模与性能的幂律 |
| 2020 | GPT-3 | 上下文学习,涌现能力 |
| 2022 | InstructGPT | RLHF,人类对齐 |
| 2022 | ChatGPT | 对话优化,产品化 |
这十年的技术积累,最终汇聚成ChatGPT这一改变世界的产品。
感谢阅读!如有问题或建议,欢迎提交Issue讨论。