InstructGPT 论文阅读笔记

📅 2026/7/6 4:23:29
InstructGPT 论文阅读笔记
这篇论文提出 InstructGPT用人类示范数据做监督微调再用人类偏好训练奖励模型最后用 PPO 做强化学习微调使 GPT-3 更符合用户指令和人类偏好。核心结论是对齐训练比单纯扩大模型规模更直接有效1.3B 参数的 InstructGPT 在人工偏好评估中甚至优于 175B 参数的 GPT-3。1. 研究背景与问题GPT-3 这类语言模型的预训练目标是预测下一个 token而用户真正需要的是模型理解并执行指令且输出有帮助、诚实、无害。两者并不一致所以大模型即使能力强也可能出现不听指令、编造事实、输出有害内容等问题。论文把这个问题称为语言模型目标与用户意图不对齐。作者希望通过后训练把模型行为从“续写互联网文本”调整为“根据用户指令完成任务”。这里的对齐不是抽象地对齐所有人类价值而是对齐到一组标注员、研究者和 API 使用场景中体现出的偏好。2. 方法RLHF 三阶段流程论文方法可以概括为 SFT - RM - PPO。2.1 监督微调 SFT首先收集提示词并让标注员写出理想回答。然后用这些 prompt-response 示例微调 GPT-3得到监督微调模型 SFT。数据来源主要是 OpenAI API 用户提交的 prompt也包含少量标注员自己写的 prompt。论文中 SFT 训练集约 13k 条 prompt主要是英文任务类型包括生成、问答、对话、摘要、抽取等。SFT 的作用是给模型一个初始的“指令跟随”行为分布。它比直接从预训练模型做 RL 稳定也能让后续奖励模型看到更接近部署场景的输出。2.2 奖励模型 RM第二步是收集偏好数据对同一个 prompt从多个模型输出中采样若干回答让标注员排序。论文中每个 prompt 通常有 K4 到 K9 个候选回答排序结果会被转化成成对比较数据。奖励模型输入 prompt 和回答输出一个标量 reward。训练目标是让被人类偏好的回答得分高于不被偏好的回答。论文中的损失函数本质是 pairwise ranking lossloss(theta) - E[log sigma(r_theta(x, y_w) - r_theta(x, y_l))]其中y_w是偏好回答y_l是较差回答。论文为了节省计算和稳定训练主要使用 6B 参数的奖励模型而不是 175B 奖励模型。2.3 用 PPO 做强化学习微调第三步把奖励模型当作环境奖励用 PPO 优化 SFT 模型。对每个用户 prompt策略模型生成回答奖励模型给出 reward然后 PPO 更新策略。一个关键细节是 KL 惩罚训练时会惩罚新策略偏离 SFT 策略太远避免模型过度优化奖励模型产生 reward hacking 或分布漂移。论文还提出 PPO-ptx在 PPO 更新中混入预训练分布上的语言模型损失用于缓解 RLHF 对传统 NLP benchmark 的性能损伤。除非特别说明论文中的 InstructGPT 指 PPO-ptx 模型。3. 数据与标注论文雇用了约 40 名标注员通过筛选测试选择对敏感问题、潜在有害输出和不同群体偏好较敏感的人。训练和评估均依赖这些标注员。三类数据分别是SFT 数据约 13k 个训练 prompt用于训练监督微调模型。RM 数据约 33k 个训练 prompt用于训练奖励模型。PPO 数据约 31k 个训练 prompt不含人工标签作为 RLHF 阶段的输入。验证集和测试集会避免和训练集来自同一用户并过滤个人身份信息。论文还报告了标注一致性训练标注员之间的一致率约 72.6%held-out 标注员之间约 77.3%。4. 实验设计论文主要比较以下模型GPT-3原始预训练模型。GPT-3 prompted通过 few-shot prompt 让 GPT-3 进入指令跟随模式。SFT用人工示范监督微调后的模型。PPO在奖励模型上用 PPO 训练后的模型。PPO-ptxPPO 训练时混入预训练目标的模型即主要的 InstructGPT。FLAN/T0 微调版本用于比较基于公开 NLP 任务的 instruction tuning。评估分为两类API 分布评估使用真实 API prompt 的 held-out 测试集由人类比较不同模型输出主指标是 win rate 和 1-7 分 Likert 评分。公共 NLP 数据集评估包括 TruthfulQA、RealToxicityPrompts、Winogender、CrowS-Pairs以及问答、阅读理解、翻译等传统任务。5. 主要结果5.1 人类更偏好 InstructGPT在 API prompt 分布上标注员显著更喜欢 InstructGPT 的输出。论文报告175B InstructGPT 相比 175B GPT-3 的直接比较胜率为 85% ± 3%相比 few-shot prompted GPT-3 的胜率为 71% ± 4%。最有代表性的结果是1.3B InstructGPT 的输出优于 175B GPT-3。这个结论说明后训练对齐能让已有能力更容易被用户指令激发效果并不只是来自参数规模。5.2 更会遵守显式约束幻觉更少相较 GPT-3InstructGPT 更常尝试完成正确指令更能遵守显式约束也更像一个合适的用户助手。在 closed-domain 任务中InstructGPT 的幻觉率约 21%GPT-3 约 41%。5.3 真实性和毒性有所改善但偏见改善有限在 TruthfulQA 上InstructGPT 比 GPT-3 更常生成真实且有信息量的答案。在 RealToxicityPrompts 上如果提示模型输出安全、尊重的内容InstructGPT 的毒性输出更少但如果没有这类提示优势会减弱或消失。论文没有发现 InstructGPT 在 Winogender 和 CrowS-Pairs 等偏见评测上显著优于 GPT-3。这说明 RLHF 对“标注员能直接感知并反馈”的行为改善明显但对更隐蔽、结构性的偏见问题不一定足够。5.4 PPO-ptx 降低 alignment tax单纯 PPO 会让模型在一些公开 NLP benchmark 上退化。PPO-ptx 通过混入预训练目标减少了这种退化同时基本不损害人类偏好评分。这个点很重要如果对齐训练显著损害通用能力实际系统就不愿采用。PPO-ptx 说明可以在“更符合用户偏好”和“保持原有能力”之间做工程折中。5.5 公开 NLP instruction 数据不等于真实用户分布FLAN 和 T0 在公开任务上有价值但在 OpenAI API prompt 分布上不如 InstructGPT。论文认为原因之一是 API 分布中约 57% 是开放式生成任务而学术数据集更偏向分类、问答等容易自动评估的任务。这说明 instruction tuning 的数据分布很关键。模型要在真实应用里好用训练数据最好覆盖真实使用场景而不只是公开 benchmark。6. 论文要点把 RLHF 系统化应用到通用指令跟随语言模型上而不是单一任务如摘要。证明少量高质量人类反馈可以显著改变大模型行为且效果可能超过单纯扩大模型。给出了 SFT - RM - PPO 的实用训练范式后来成为 ChatGPT 类模型后训练的重要基础。提出 PPO-ptx 来缓解对齐训练造成的 benchmark 退化。强调真实用户 prompt 分布和公开 NLP benchmark 的差异推动评估从学术任务走向部署场景。7. 结论这篇论文的核心价值不是提出一个复杂的新模型结构而是重新定义了语言模型后训练的目标不要只优化下一个 token也不要只在公开任务上刷分而要让模型输出更符合真实用户的意图和偏好。SFT、RM、PPO 三阶段各有作用SFT 让模型进入合理行为区域RM 把主观偏好转成可优化信号PPO 在这个信号上进一步搜索更受人类偏好的输出。这个流程把“人类觉得好”转化成了机器学习训练目标。但这也带来一个根本问题人类偏好不是稳定、统一、无偏的真理。标注员可能偏好更礼貌、更自信或更会迎合的回答即使这些回答不一定更真实。因此 RLHF 更像是一种强大的行为塑形技术而不是完整的安全或真理保证。从后续大模型发展的角度看InstructGPT 是从“预训练语言模型”走向“助手型模型”的关键节点。它说明模型可用性往往不只取决于预训练能力还取决于后训练数据、反馈机制、评估分布和部署约束。InstructGPT 证明了用人类反馈做后训练可以显著提升语言模型的可用性和指令跟随能力。它的影响在于给出了一个可落地的“助手模型”训练范式真实用户数据、人工示范、人类偏好、奖励模型和 RL 优化共同塑造模型行为。不过论文也清楚表明 RLHF 不是终点。它能提升 helpfulness、一定程度提升 truthfulness 和 harmlessness但仍无法彻底解决幻觉、偏见、滥用和“到底对齐到谁”的问题。