InstructGPT论文阅读笔记
这篇论文证明了RLHF是比单纯扩大数据规模或在公开 NLP 数据集上微调更有效的对齐手段。它让模型变得更“聪明”、更“诚实”,但也揭示了对齐过程中的复杂性(如毒性与顺从性的平衡)。这也是为什么后来 ChatGPT 能够横空出世的技术基础。
一、背景
今天介绍的一篇论文是大语言模型领域大名鼎鼎的InstructGPT:《Training language models to follow instructions with human feedback》。这一篇论文证明了通过人类反馈的强化学习 (RLHF) 可以显著提升模型对人类意图的对齐能力,甚至让小模型战胜大模型。这篇论文发现单纯扩大语言模型参数规模(如 GPT-3)并不能从根本上解决模型“不听话”、产生虚假信息或有毒内容的问题。 为了解决这个问题,作者提出了一种通过人类反馈来微调模型的方法,使其行为与用户意图保持一致。
二、方法
作者采用了一种三步走的微调策略,这也是目前 ChatGPT 类模型训练的基石。具体实现细节如下表所示:
| 步骤 | 名称 | 数据来源 | 训练目标 | 关键技术 |
| 1 | 监督微调 (SFT) | 标注员编写的高质量问答对 | 让模型学会“如何回答问题” | 在 GPT-3 基础上进行有监督学习,相当于先教模型学会“指令跟随”。 |
| 2 | 奖励模型 (RM) | 标注员对模型输出的排序 | 让模型学会“什么是好回答” | 训练一个奖励函数,该函数能预测人类更喜欢哪个答案。使用 Bradley-Terry 模型计算损失。 |
| 3 | 强化学习 (PPO) | 无标签的用户提示 (Prompts) | 让模型学会“生成高分回答” | 使用 PPO (Proximal Policy Optimization) 算法优化策略,最大化 RM 给出的奖励,同时限制与原始模型偏离太远 (KL Penalty)。 |
- 基础模型:基于不同规模的 GPT-3 (1.3B, 6B, 175B 参数)。
- 数据构成:
- SFT 数据集:约 13k 训练样本,包含用户通过 API 提交的提示词和标注员编写的演示数据。
- RM 数据集:约 33k 训练样本,包含成对的模型输出比较(人类标注员选出更优的那个)。
- PPO 数据集:约 31k 训练样本,仅包含用户提示词,用于强化学习阶段的环境交互。
- 评估方式:
- 主要指标:人类标注员的偏好打分(A/B 测试)。
- 次要指标:TruthfulQA(真实性)、RealToxicityPrompts(毒性)、CrowS-Pairs(社会偏见)等基准测试。
具体训练细节:
1、SFT 模型:在演示数据上进行监督学习,训练 16 个 epoch。
2、RM 模型:基于 SFT 模型去掉输出层后训练。使用排序损失函数,且为了计算效率,对同一个 Prompt 的多个 Completion 只进行一次前向传播计算所有比较。
3、PPO 模型:
使用 RM 的输出作为奖励信号。
引入了 KL Penalty(相对于 SFT 模型),防止模型为了追求高分而过度偏离语言规律。
PPO-ptx 变体:为了防止在公开 NLP 数据集上性能下降(对齐税 Alignment Tax),作者在 PPO 梯度中混合了预训练数据的梯度,这显著提升了泛化能力。
三、实验结果
1. 主要结论:人类偏好评分
- 小模型战胜大模型:1.3B 参数的 InstructGPT 在人类评分中击败了 175B 参数的 GPT-3。
- 显著提升:175B InstructGPT 被选为首选输出的概率比 GPT-3 高出 85%,比经过少样本提示(Few-shot)的 GPT-3 高出 71%。
- 泛化性:InstructGPT 在未见过的标注员(Hold-out Labelers)测试中依然表现优异,说明模型没有过拟合到特定标注员的口味。
2. 安全性与真实性
- 真实性 (Truthfulness):
- 在 TruthfulQA 基准上,InstructGPT 生成真实答案的概率是 GPT-3 的 2 倍。
- 在封闭域任务(如摘要)中,InstructGPT 的幻觉率从 GPT-3 的 41% 降低到了 21%。
- 毒性 (Toxicity):
- 在 RealToxicityPrompts 数据集上,当被指示“尊重地回复”时,InstructGPT 的毒性比 GPT-3 降低了约 25%。
- 局限:如果用户明确要求生成有毒内容,InstructGPT 会比 GPT-3 生成更毒的内容(因为它更听话)。
- 偏见 (Bias):
- 在 Winogender 和 CrowS-Pairs 数据集上,InstructGPT 与 GPT-3 表现相似,没有显著改善。
3. 对比其他方法 (FLAN/T0)
- 作者还将 InstructGPT 与当时流行的 FLAN (Google) 和 T0 (BigScience) 进行了对比。
- 结论:FLAN 和 T0 主要是在公开 NLP 数据集上进行多任务微调,虽然比 GPT-3 好,但在 OpenAI 的 API 提示词分布上,表现不如 InstructGPT。
- 原因:公开数据集主要集中在分类和 QA,而 API 用户主要需求是生成和头脑风暴。
四、总结
这篇论文证明了RLHF是比单纯扩大数据规模或在公开 NLP 数据集上微调更有效的对齐手段。它让模型变得更“聪明”、更“诚实”,但也揭示了对齐过程中的复杂性(如毒性与顺从性的平衡)。这也是为什么后来 ChatGPT 能够横空出世的技术基础。
更多推荐



所有评论(0)