论文解读:利用人类反馈训练语言模型遵循指令
当前大型语言模型(LLM)面临一个核心挑战:单纯扩大模型规模并不能保证它们更好地遵循用户意图。尽管参数量激增,模型仍可能生成不真实、有毒或无用的输出。这源于训练目标与用户期望之间的错位——传统语言模型旨在预测网页上的下一个 token,而用户希望的是'有用且安全地遵循指令'。为此,这篇论文提出了使用人类反馈强化学习(RLHF)来微调 GPT-3,使其在**有用性(Helpful)、诚实性(Honest)和无害性(Harmless)**三个维度上与人类意图对齐。
整个流程分为三个阶段。首先是监督微调(SFT),收集人类标注者针对特定 Prompt 编写的理想输出数据,以此对预训练的 GPT-3 进行有监督学习。接着是奖励模型(RM)构建,针对同一个 Prompt 让模型生成多个响应,由标注者根据优劣进行排名,利用这些成对比较数据训练出一个能预测人类偏好的奖励模型。最后是强化学习(RL)阶段,使用 PPO 算法依据奖励模型的标量反馈进一步优化策略,引导模型生成更高奖励的输出。
在实际训练中,直接应用 RLHF 可能会导致模型在公共 NLP 数据集上的性能下降,这种现象被称为'对齐税'。为了解决这个问题,作者在 PPO 更新中混合了预训练数据的梯度更新(即 PPO-ptx)。此外,为了防止模型过度优化奖励模型而偏离原始分布,在每个 token 生成了时引入了 KL 散度惩罚。
具体来说,KL 散度用于衡量两个概率分布的差异。在 InstructGPT 的训练中,最终奖励 $R(x,y)$ 不仅包含奖励模型的分数 $r_\theta(x, y)$,还减去了一个 KL 惩罚项 $\beta \log (\pi^{RL}(y|x) / \pi^{SFT}(y|x))$。这里的分子分母分别代表当前强化学习模型和监督微调模型生成该序列的概率。由于计算的是同一序列在不同模型下的概率比值,不存在长度不一致的问题。
同时,为了缓解性能退化,总优化目标结合了 PPO 目标和预训练数据的对数似然最大化。这意味着在训练 PPO 的同时,模型会随机抽取原始预训练文本进行填空练习,并将这部分损失纳入优化指标,从而保留基础语言能力。经过这一系列处理,模型不仅能符合训练时的标注者偏好,还能泛化到未参与训练的标注者偏好,甚至将指令遵循能力迁移到非英语语言和代码任务中。



