Training language models to follow instructions with human feedback
论文笔记:InstructGPT
元信息
| 项目 | 内容 |
|---|---|
| 机构 | OpenAI |
| 日期 | March 2022 |
| 对比基线 | GPT-3 (davinci), SFT baseline, prompted GPT-3 |
| 链接 | arXiv |
一句话总结
提出 三阶段 RLHF 流水线(SFT → Reward Model 训练 → PPO 优化),使 1.3B 参数的 InstructGPT 在人类评估中优于 175B 的 GPT-3,开创了通过人类反馈对齐大语言模型的实践范式。
核心贡献
三阶段对齐流水线: 提出 SFT → RM → PPO 的完整训练流程,成为后续 RLHF 方法的事实标准
小模型胜大模型: 1.3B InstructGPT 在人类偏好评估中击败 175B GPT-3,证明对齐训练比单纯 scaling 更高效
Alignment Tax 量化: 系统性地衡量了对齐训练对 NLP benchmark 性能的负面影响(alignment tax),并提出 PPO-ptx 混合目标来缓解
标注者指南与方法论: 公开了详细的 labeler guidelines,为人类偏好标注建立了可操作的标准
问题背景
要解决的问题
大语言模型(如 GPT-3)通过下一个 token 预测训练,其优化目标与”有帮助、真实、无害地遵循用户指令”之间存在根本性偏差(misalignment)。模型可能生成有毒内容、编造事实或忽略用户意图。
现有方法的局限
提示工程(Prompt Engineering): 需要用户手动设计 prompt,效果不稳定且无法系统性解决对齐问题
RLHF 先驱工作: Christiano et al. (2017) 和 Stiennon et al. (2020) 在 Atari 游戏和文本摘要上验证了 RLHF,但未扩展到通用指令遵循
纯 SFT: 仅靠人工标注的 demonstration 数据做监督微调,数据量有限且无法捕捉人类偏好的全局排序信息
本文的动机
将 RLHF 从特定任务(摘要生成)扩展到通用指令遵循,通过三阶段流水线使语言模型的行为与人类意图对齐,同时最小化对齐带来的能力退化
方法详解
阶段 1: 监督微调(SFT)
数据来源: 标注者根据 OpenAI API 收集的用户 prompt 编写高质量 demonstration 回答
数据规模: 约 13,000 条 (prompt, demonstration) 对
训练方式: 在 GPT-3 预训练模型上进行标准监督微调
关键细节: SFT 模型在验证集上约 1 个 epoch 后即开始过拟合,但过拟合后的 checkpoint 在 RM 和 PPO 训练中表现更好
阶段 2: 奖励模型训练(Reward Model)
架构: 以 6B 参数的 SFT 模型为基础,去掉最后的 unembedding 层,替换为一个输出标量奖励值的线性层
数据: 标注者对同一 prompt 的 个模型输出进行排序(),产生 个偏好对
数据规模: 约 33,000 个 prompt,每个 prompt 有 4-9 个回答的排序
为何用 6B 而非 175B: 175B RM 训练不稳定且作为 PPO 值函数计算成本过高
阶段 3: PPO 强化学习优化
策略模型: SFT 模型作为初始策略
奖励信号: 阶段 2 训练的 RM 提供每个回答的标量奖励
KL 惩罚: 添加 per-token KL 散度约束,防止策略偏离 SFT 模型太远(避免 reward hacking)
PPO-ptx 变体: 在 PPO 目标中混入预训练数据的语言建模损失,缓解 alignment tax
标注者指南(Labeler Guidelines)
标注者为 40 名合同工,经过筛选确保对敏感内容的一致判断
标注原则三要素:
- Helpful(有帮助): 回答应尽可能帮助用户完成任务
- Truthful(真实): 不编造事实,对不确定的内容表达不确定性
- Harmless(无害): 避免有毒、歧视性或危险内容
优先级排序: Harmless > Truthful > Helpful
关键公式
公式1: 奖励模型损失
含义: 通过 pairwise ranking loss 训练奖励模型,使其对人类偏好的回答给出更高分数
符号说明:
- : 奖励模型对 prompt 和回答 的标量评分
- : 人类偏好的胜者和败者回答
- : sigmoid 函数
- : 每个 prompt 的候选回答数(4 或 9)
公式2: PPO 优化目标
含义: 最大化奖励模型给出的分数,同时通过 KL 散度约束防止策略过度偏离 SFT 模型
符号说明:
- : 当前 PPO 策略
- : SFT 阶段的模型(作为 KL 锚点)
- : KL 惩罚系数
- : 冻结的奖励模型输出
公式3: PPO-ptx 混合目标
含义: 在 PPO 目标中混入预训练数据的语言建模损失,防止模型在公共 NLP benchmark 上性能退化
符号说明:
- : 预训练数据分布
- : 预训练梯度的混合系数
- : 标准语言建模对数似然
实验结果
人类评估
| 模型 | 参数量 | Likert 评分 | 对 175B GPT-3 胜率 |
|---|---|---|---|
| GPT-3 (davinci) | 175B | — | 50% (baseline) |
| SFT | 175B | — | ~60% |
| PPO | 175B | — | ~70% |
| InstructGPT (PPO-ptx) | 1.3B | **— ** | >70% |
| InstructGPT (PPO-ptx) | 175B | 最高 | ~85% |
1.3B InstructGPT 的人类偏好胜率显著高于 175B GPT-3,说明对齐训练的效果远超单纯规模增长
Alignment Tax
| Benchmark | GPT-3 175B | PPO 175B | PPO-ptx 175B |
|---|---|---|---|
| HellaSwag | 79.3% | 74.6% | 78.8% |
| LAMBADA | 75.1% | 69.2% | 74.1% |
| TruthfulQA | 22.0% | 25.3% | 24.8% |
| WinoBias | 72.6% | 66.4% | 71.0% |
PPO-ptx 有效缓解了 alignment tax: 在多数 benchmark 上仅比 GPT-3 低 0.5-1%,远好于纯 PPO 的 5-6% 退化
TruthfulQA 上 InstructGPT 反超 GPT-3,说明对齐训练提高了事实性
安全性评估
InstructGPT 在 RealToxicityPrompts 上的毒性输出减少 25%
在 CrowS-Pairs 偏见基准上,InstructGPT 与 GPT-3 相比无显著改善——RLHF 对隐性偏见的消除效果有限
泛化能力
InstructGPT 在未见过的指令类型(如代码生成、非英语回答)上也表现出改善,说明 RLHF 带来的对齐能力具有一定的泛化性
但对 held-out 标注者(未参与训练的标注者)的偏好预测准确率低于参与训练的标注者,暴露了标注者偏见的风险
局限性
标注者偏见: 40 名标注者的偏好不能代表全人类的价值观,模型实质上对齐的是特定标注团队的偏好而非普世价值
安全性仍不足: 在对抗性 prompt 下模型仍可能产生有害输出,RLHF 不能完全解决安全问题
Reward Hacking: PPO 可能学会利用奖励模型的漏洞(如生成冗长但内容空洞的回答以获得高分),而非真正提升质量
隐性偏见未解决: CrowS-Pairs 结果表明 RLHF 对性别/种族等隐性偏见几乎没有改善
复现成本高: 需要大量人工标注(数万条偏好数据)和 175B 模型的 RL 训练,对学术界不友好
相关概念
- RLHF
- PPO
- Reward Model
- SFT
- Alignment
- GPT-3
- Scaling Law
- KL Divergence
- Constitutional AI
- DPO
速查卡片
Training language models to follow instructions with human feedback (InstructGPT)
- 核心: 三阶段 RLHF 流水线(SFT → RM → PPO),使语言模型行为对齐人类意图
- 方法: 13k demonstration → 33k comparison rankings → PPO 强化学习 + KL 约束 + 预训练混合损失
- 结果: 1.3B InstructGPT 人类评估胜 175B GPT-3;PPO-ptx 有效缓解 alignment tax;毒性减少 25%
- 意义: 奠定了 ChatGPT 的技术基础,RLHF 三阶段流水线成为行业标准
笔记创建时间: 2026-04-03