01核心问题
模型写得通顺,为什么还是不好用?
你让一位助手“用三句话写一份会议通知”,他却写了一篇《怎样写好会议通知》。文章可能很流畅,也没有明显的语法错误,但你要的成品没有出现。
这个原创小例子展示了两种目标的差别:文字像不像一段自然文本,与回答有没有完成任务,是两回事。预训练让模型从大量文本中学习预测后续内容,而用户更关心指令、事实和约束有没有被满足。
给模型的,不只是更多文字
InstructGPT 沿用 GPT-3 的架构,通过微调改变回答行为。可以类比带新人:先给工作范例,再一起比较好坏,最后让他在评价反馈下反复练习。模型并没有真的理解老师的心意;这些指导被转换成了训练数据和优化目标。
问题从“哪段续写更像训练文本”,转向“对于这条指令,人更希望得到哪种回答”。
依据:原论文 §1:研究动机。
02三步训练
示范、比较、练习:三步把反馈接进训练
点击三个阶段,观察训练数据、训练对象和输出如何变化。第二步还可以亲手做一次偏好选择。
用三句话通知同事:周三下午两点,在会议室 A 开项目复盘会,请提前准备进展。
先看一份符合要求的答案
标注员为提示写出理想回答,模型用监督学习模仿这些示范。此时直接训练的是生成回答的模型。
项目复盘会定于周三下午两点举行。
地点是会议室 A。
请大家提前整理项目进展,准时参加。
提示 + 人类示范回答
初步会遵循指令的 SFT 模型
三步的分工,不要混在一起
SFT 学习“怎么回答”;RM 学习“哪份更好”;PPO 则利用 RM 的评分继续调整回答模型。人类不需要为强化学习中的每一次生成都现场打分,奖励模型把已有的比较经验推广到新回答。
这也不是一次对话中的即时学习。这里描述的是离线训练流程;网页上的选择只是帮助理解,既没有连接模型训练,也不会改变真实模型。
03奖励与约束
写答案的模型,与评答案的模型
负责回答
输入提示,生成后续文本。SFT 和 PPO 都会更新它;完成训练后,用它来回复用户。
负责评分
输入提示和候选回答,输出一个标量分数。训练目标是预测人类偏好,不是直接判定事实真伪。
为什么不能只追求高分?
继续用带新人的比喻:假如考核只奖励“看起来很完整”,新人就可能写得越来越长,却没有解决问题。奖励只是目标的近似,评分高不保证回答真的好。
论文在强化学习目标中加入 KL 惩罚,约束新策略相对 SFT 参考策略的偏离;还尝试混入预训练数据上的学习更新,缓解部分通用任务表现下降,这个版本称为 PPO-ptx。这些措施是在管理训练取舍,并不等于保证正确或安全。
04结果与边界
更符合人的偏好,不一定需要更大的模型
论文最醒目的结果,是在其 API 提示分布的人类评估中,标注员更偏好 1.3B InstructGPT 的回答,而不是 175B GPT-3 的回答。
经过人类反馈微调
预训练基线
在这项人类偏好评估中,更小的 InstructGPT 获得了更好的评价。
这个结果说明了什么?
训练目标和反馈方式,会影响模型是否好用。评估一个助手时,除了知识量和通用测试成绩,也应该观察它是否完成真实任务、满足格式要求,以及有没有加入未经支持的信息。这是从论文得到的产品启发,不是额外的实验结论。
还没有解决的问题
- 偏好有来源。模型主要贴近参与标注者和研究者的评价标准,不能把它等同于所有人的价值观。
- 更受欢迎不等于更真实。奖励模型可能学到表面特征,InstructGPT 也仍会编造事实、误解指令或顺着错误前提回答。
- 微调存在取舍。PPO-ptx 缓解了部分任务退化,但不能据此声称所有原有能力都被完整保留。
把“好回答”讲清楚、写成示范、做成比较,再检验模型究竟学到了什么。
依据:原论文 §4:实验结果、§5:讨论与局限。