论文阅读笔记:Training Language Models to Follow Instructions with Human Feedback
论文信息: Ouyang et al., OpenAI, 2022 (arXiv: 2203.02155v1)
一、研究动机
大语言模型(LLM)的训练目标是"预测互联网文本中的下一个token",这与用户真正想要的——"有帮助地、安全地遵循指令"——之间存在根本性的错位(misalignment)。具体表现为模型可能编造事实、生成有偏见或有害的内容、或者根本不遵循用户指令。作者将这种现象称为语言建模目标的 目标错位(misaligned)。
核心目标是让模型具备三个特质(借鉴 Askell et al., 2021 的框架):有帮助(helpful)、诚实(honest)、无害(harmless)。
二、方法概述:三阶段训练流程
InstructGPT 的训练基于 GPT-3 架构,分为三个阶段:
阶段一:监督微调(SFT)
从提示数据集中采样提示(prompt),由标注员撰写理想的输出示范(demonstration),然后用这些数据对预训练的 GPT-3 进行监督学习微调。SFT 数据集约含 13k 条训练提示。
关键细节:训练 16 个 epoch,使用余弦学习率衰减和 0.2 的残差 dropout。虽然验证损失在 1 个 epoch 后就开始过拟合,但继续训练更多 epoch 反而提升了奖励模型评分和人类偏好评分。
阶段二:奖励模型训练(RM)
收集模型输出的排序数据——对同一提示展示 K=4~9 个输出,让标注员从优到劣排序。用这些排序数据训练一个 6B 参数的奖励模型,输入提示和回复,输出标量奖励值。RM 数据集约含 33k 条训练提示。
损失函数为 pairwise ranking loss:
$$\mathcal{L}(\theta) = -\frac{1}{\binom{K}{2}} \mathbb{E}{(x, y_w, y_l) \sim D} [\log(\sigma(r\theta(x, y_w) - r_\theta(x, y_l)))]$$
技术亮点:将同一提示的所有 $\binom{K}{2}$ 对比较作为一个 batch 元素训练,而非拆散后随机打乱。这样每个回复只需一次前向传播(而非 $\binom{K}{2}$ 次),计算效率大幅提高,同时避免了过拟合问题。
阶段三:PPO 强化学习微调
以 SFT 模型为初始策略,以奖励模型的输出为奖励信号,使用 PPO(近端策略优化) 算法进行强化学习。PPO 数据集约含 31k 条训练提示。
为防止策略过度优化奖励模型,引入了对 SFT 模型的 逐 token KL 散度惩罚。
PPO-ptx 变体的目标函数:
$$\text{objective}(\phi) = \mathbb{E}{(x,y)\sim D{\pi_\phi^{RL}}} [r_\theta(x,y) - \beta \log \frac{\pi_\phi^{RL}(y|x)}{\pi^{SFT}(y|x)}] + \gamma \mathbb{E}{x\sim D{\text{pretrain}}} [\log \pi_\phi^{RL}(x)]$$
其中第二项是 预训练梯度混合,用于缓解在公共 NLP 数据集上的性能退化("对齐税")。
三、数据集构建
提示来源
- 标注员撰写的提示(用于启动项目初期):分为 Plain(任意任务)、Few-shot(指令+示例对)、User-based(基于 API 申请中的用例)三类。
- API 用户提交的提示(主体):来自 OpenAI API Playground 的早期 InstructGPT 用户,按用户 ID 划分训练/验证/测试集,过滤了个人身份信息(PII)。
任务分布
| 类别 | 占比 |
|---|---|
| 生成(Generation) | 45.6% |
| 开放式问答(Open QA) | 12.4% |
| 头脑风暴(Brainstorming) | 11.2% |
| 对话(Chat) | 8.4% |
| 改写(Rewrite) | 6.6% |
| 摘要(Summarization) | 4.2% |
| 分类(Classification) | 3.5% |
| 其他 | 3.5% |
| 封闭式问答(Closed QA) | 2.6% |
| 提取(Extract) | 1.9% |
数据集超过 96% 为英语。
四、核心实验结果
4.1 人类偏好评估(API 提示分布)
核心发现:1.3B InstructGPT 的输出优于 175B GPT-3 的输出。 尽管参数量相差超过 100 倍,标注员更偏好小型 InstructGPT 的回答。175B InstructGPT 在直接对比中以 85±3% 的胜率击败 175B GPT-3,以 71±4% 的胜率击败 few-shot 175B GPT-3。
改进梯度:GPT-3(最差)→ GPT-3 prompted → SFT → PPO ≈ PPO-ptx(最优)
元数据层面的改进:InstructGPT 在以下指标上均优于 GPT-3——更好地遵循指令、满足显式约束、减少幻觉、输出更适合客服场景。
4.2 真实性(TruthfulQA)
InstructGPT 生成真实且有信息量的回答的频率约为 GPT-3 的 两倍。在封闭域任务中,InstructGPT 的幻觉率为 21%,而 GPT-3 为 41%。
4.3 毒性(RealToxicityPrompts)
当被提示"请以尊重的方式回答"时,InstructGPT 比 GPT-3 减少约 25% 的有毒输出。但在无提示条件下,差异消失。值得注意的是,当被明确要求生成有毒内容时,InstructGPT 反而比 GPT-3 更"听话"地生成高毒性内容。
4.4 偏见
在 Winogender 和 CrowS-Pairs 数据集上,InstructGPT 未显著优于 GPT-3。
4.5 对齐税的缓解
PPO 训练会导致在 SQuAD、DROP、HellaSwag、WMT 翻译等公共 NLP 数据集上的性能退化。PPO-ptx(混合预训练梯度)能 大幅缓解 这些退化,且不损害人类偏好评分。实验表明,单纯增大 KL 惩罚系数无法达到相同效果,预训练数据分布本身是关键。
4.6 泛化能力
- 对未参与训练的标注员的泛化:held-out 标注员的偏好与训练标注员一致,说明模型没有过拟合于特定标注员。
- 对训练分布外指令的泛化:InstructGPT 能遵循非英语指令、回答代码问题等,尽管这些在训练数据中极为稀少,暗示模型学会了"遵循指令"这一泛化概念。
4.7 与 FLAN/T0 的对比
在 API 提示分布上,InstructGPT 大幅优于基于公共 NLP 数据集微调的 FLAN 和 T0。原因有二:公共 NLP 数据集以分类和问答为主(仅占 API 使用的约 18%),而 API 用户的主要需求是开放式生成和头脑风暴(约 57%);公共数据集的输入多样性不足。
五、InstructGPT 的局限性
- 假前提指令:当指令包含错误前提时,模型有时会接受该前提并生成错误回答(如"冥想后为什么要吃袜子?")。
- 过度对冲:对简单问题给出冗长、模棱两可的回答,而非直接作答。
- 多约束困难:当指令包含多个显式约束时,性能下降。
- 安全问题:模型在多数情况下仍会遵循用户指令,即使指令可能导致有害输出。被明确要求生成偏见内容时,InstructGPT 比同等大小的 GPT-3 更具毒性。
六、关于"对齐到谁"的讨论
论文坦诚指出 InstructGPT 的行为受多层因素影响,而非对齐到某种普遍的"人类价值观":
- 标注员:约 40 名承包商,主要为美国或东南亚的英语使用者,标注员间一致率约 73%。
- 研究者:设计标注指南、回答标注边界问题。
- API 客户:提示来自 OpenAI 的客户,他们不代表所有语言模型用户或受影响群体。
- 客户选择偏差:API 用户最初通过等待名单筛选,种子用户偏向 OpenAI 员工的社交网络。
作者明确表示:"不可能训练一个同时对齐到所有人偏好的系统。"
七、对对齐研究的启示
- 对齐成本远低于预训练成本:175B SFT 需要 4.9 petaflops/s-days,PPO-ptx 需要 60 petaflops/s-days,而 GPT-3 预训练需要 3,640 petaflops/s-days。RLHF 的效果优于 100 倍模型扩大带来的提升。
- 泛化到未监督领域:模型在非英语和代码任务上的表现表明"遵循指令"具有一定的泛化性。
- 低对齐税:PPO-ptx 能有效缓解性能退化,使 RLHF 成为一种实用的低成本对齐技术。
- 从实验到部署:该工作将对齐技术从理论和小规模实验推进到了真实产品的部署。
八、个人思考与评价
优点:
- 首次系统性地在大规模、多样化的真实用户任务上应用 RLHF,并取得了显著的实际效果。
- "小模型优于大模型"的结论(1.3B InstructGPT > 175B GPT-3)有力地说明了对齐训练的价值。
- 对"对齐到谁"的问题进行了诚实而深入的讨论,没有回避其局限性。
- PPO-ptx 混合预训练梯度的设计简单而有效,为后续工作提供了重要的工程经验。
局限与思考:
- 标注员团队规模小(约 40 人)且多样性有限,可能引入系统性偏见。
- 模型在被明确要求生成有害内容时表现得更加"有害",说明"遵循指令"和"安全"之间的张力尚未解决。
- 评估主要依赖标注员偏好,缺乏对下游实际使用场景影响的度量。
- 论文未讨论 RLHF 中的奖励黑客(reward hacking)问题,这在后续研究中被证明是关键挑战。
历史意义: 这篇论文是 ChatGPT 背后的核心技术基础之一,开创了"预训练 + SFT + RLHF"这一后来成为行业标准的大模型对齐范式。尽管后续工作(如 DPO、Constitutional AI 等)在方法上有所改进,InstructGPT 的核心洞察——用人类反馈引导模型行为比单纯增大模型规模更有效——依然是该领域最重要的发现之一。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)