新智元报道

  编辑:LRS

  AI 领域日新月异,RLHF 也逐渐成为过时的技术,但新路线尚不明朗:应该采用无需人工的反馈,还是继续改进 RLHF 机制?

  在 ChatGPT 引领的大型语言模型时代,一个绕不过去的话题就是「基于人类反馈的强化学习」(RLHF),不仅提升了语言模型的性能,也将人类社会的价值观注入到模型中,使得语言模型能够帮助用户解决问题,提高模型的安全性。

  不过在 ChatGPT 之后,大量模型和相关技术不断发布,RLHF 也早已更新换代,并衍生出来一些无需人工的微调方法,效果提升也很明显。

  最近,Lightning AI 创始人、AI 研究大牛 Sebastian Raschka 发表了一篇博客,描述了 Llama 2 中的 RLHF 机制和原版相比做出了哪些改变和提升,还介绍了几个 RLHF 算法的替代方案。

  经典 LLM 的训练流程

  目前最先进的、基于 Transformer 的大型语言模型,例如 ChatGPT 或 Llama 2,大体都包括三个训练步骤:预训练,有监督微调和对齐。

  在预训练阶段,模型会吸收来自海量、无标注文本数据集的知识,然后使用有监督微调细化模型以更好地遵守特定指令;最后使用对齐技术使 LLM 可以更有用且更安全地响应用户提示。

  1. 预训练(Pretraining)

  预训练阶段通常需要包含数十亿到数万亿个 token 的庞大文本语料库,但训练目标只是一个简单的「下一个单词预测」(next word prediction)任务,模型需要根据提供的文本来预测后续单词或 token。

  自监督预训练可以让模型从大规模的数据中学习,只要能够在不侵犯版权,或是无视创造者偏好的情况下收集到数据,就可以不依赖人工标注完成训练,因为训练标签实际上就是文本的后续单词,已经暗含在数据集中了。

  2. 有监督微调(Supervised finetuning)

  第二阶段大体上来看也是「next token prediction」任务,不过需要人工标注的指令数据集,其中模型的输入是一个指令(根据任务的不同,也可能包含一段文本),输出为模型的预期回复内容。

  数据形式类似于:

Instruction: "Write a about a pelican." 使用说明:“写一首关于鹈鹕的打油诗。“ Output: "There once was a pelican so fine..." 输出:“从前有一只鹈鹕很好...“

  模型会将指令文本作为输入,并逐个 token 输出,训练目标是与预期输出相同。

  虽然两个阶段都采用相似的训练目标,但有监督微调数据集通常比预训练数据小得多,指令数据集需要人类(或其他高质量的 LLM)提供标注结果,所以无法大规模应用。

  3. 对齐(Alignment)

  第三阶段依然是微调,不过其主要目标在于将语言模型与人类的偏好、价值观进行对齐,也是 RLHF 机制发挥作用的地方。

  RLHF 主要包括三步:

  Step 1. 预训练模型的有监督微调

  先收集一个提示词集合,并要求标注人员写出高质量的回复,然后使用该数据集以监督的方式微调预训练的基础模型。

  Step 2. 创建奖励模型

  对于每个提示,要求微调后的 LLM 生成四到九个回复,再由标注人员根据个人偏好对所有回复进行排序。

  虽然排序过程很耗时,但工作量还是比第一步的数据集构建少一些。

  在处理排序结果时,可以设计一个奖励模型 RM,将微调语言模型 SFT 的输出通过一个回归层(单个输出节点)转换为奖励分数,用于后续优化。

  Step 3.PPO 微调

  使用邻近策略优化(PPO,proximal policy optimization ),根据奖励模型提供的奖励分数对 SFT 模型进一步优化。

  PPO 的具体技术细节可以参考 InstructGPT 或下面的论文列表。

  1. Asynchronous Methods for Deep Reinforcement Learning (2016) ,https://arxiv.org/abs/1602.01783

  2. Proximal Policy Optimization Algorithms (2017),https://arxiv.org/abs/1707.06347

  3. Fine-Tuning Language Models from Human Preferences (2020),https://arxiv.org/abs/1909.08593

  4. Learning to Summarize from Human Feedback (2022) ,https://arxiv.org/abs/2009.01325

  Llama 2 中的 RLHF

  Meta AI 在创建 Llama-2-chat 模型时也使用了 RLHF 技术,不过与 ChatGPT 相比还是有些细微区别。

  简单来说,Llama-2-chat 在第一步 RLHF 微调上使用相同的指令数据,但在第二步使用了两个奖励模型;通过多个阶段的不断进化,奖励模型也会根据 Llama-2-chat 模型出现的错误进行更新;并且增加了拒绝采样(rejection sampling)步骤。

  Margin Loss

  在标准 InstructGPT 中使用的 RLHF PPO 方法,研究人员需要收集同一个提示下的4-9 个模型输出并进行排序,比如四个回复的排序结果为A

  Llama 2 的数据集也采用类似的方式,不过标注人员每次只能看到两个(而非4-9 个)回复并进行对比,但新增了一个边际(margin)标签,对比结果可以为「显著更好」(significantly better)和「好的不明显」(negligibly better)。

  在排序训练时中,Llama 2 相比 InstructGPT 增加了边际损失:

  其中,rθ(x,y)是提示x和生成的回复y的标量分数输出; θ为模型权重; σ是将层输出转换为范围从 0 到 1 的分数的逻辑S形函数; yc 是由标注人员选择的更优回复; yr 是较差的回复。

  m (r)可以调节两个回复之间的差值,如果对比结果为「显著更好」,则会增加梯度值,加快更新速度。

  两种奖励模式

  Llama 2 中的两个奖励模型分别侧重「有用性」(helpfulness)和「安全性」(safety),用于模型优化的最终奖励函数会将两个分数进行线性组合。

  拒绝采样(Rejection sampling)

  Llama 2 的作者使用了一个训练流水线,同时使用 PPO 和拒绝采样算法,迭代地产生多个 RLHF 模型(从 RLHF-V1 到 RLHF-V5),模型在拒绝采样时会得到K个输出,在每次优化迭代时选择具有最高奖励的输出用于梯度更新,而 PPO 每次只基于单样本进行更新。

  从实验结果来看,RLHF 微调模型在无害性和有用性上都得到了改善,并且在最后阶段 RLHF-v5 使用 PPO 算法的性能最好。

  RLHF 的替代方案

  可以看到,RLHF 是一个相当复杂的过程,如此精心的设计是否值得?

  虽然 InstructGPT 和 Llama 2 论文实验结果中证实了 RLHF 带来的性能提升,但也有相关工作在关注开发更有效的替代品:

  1. 宪政 AI:人工智能反馈的无害性

  研究人员提出了一种基于人类提供的规则列表的自我训练机制,也使用了强化学习的方法。

  论文标题:Constitutional AI: Harmlessness from AI Feedback

  论文链接:https://arxiv.org/abs/2212.08073

  发表日期:2022 年 12 月

  上图中的「红队」(Red Team)指的是测试目标系统的防御能力,即外部或内部专家模拟潜在对手的过程,通过模仿现实世界攻击者的战术、技术和程序来挑战、测试并最终改进系统。

  2. 后见之明的智慧

  研究人员提出了一种基于重新标注的有监督方法 HIR 用于微调,在 12 个 BigBench 任务上都优于 RLHF 算法。

  论文标题:The Wisdom of Hindsight Makes Language Models Better Instruction Followers

  论文链接:https://arxiv.org/abs/2302.05206

  发表时间:2023 年 2 月

  HIR 方法包括两个步骤,采样和训练:在采样时,提示和指令被馈送到 LLM 以收集回复,并基于对齐分数,在训练阶段适当的地方重新标注指令;然后使用新指令和原始提示用于微调 LLM。

  重新标注可以有效地将失败案例(LLM 创建的输出与原始指令不匹配的情况)转化为有用的训练数据以用于监督学习。

  3. 直接偏好优化

  直接偏好优化(DPO)是使用 PPO 的 RLHF 的替代方案,实验结果显示,用于拟合 RLHF 中的奖励模型的交叉熵损失可以直接用于微调 LLM,并且 DPO 更有效,在回复生成质量方面通常也优于 RLHF/PPO

  论文标题:Direct Preference Optimization: Your Language Model is Secretly a Reward Model

  论文链接:https://arxiv.org/abs/2305.18290

  发表日期:2023 年 5 月

  4. 强化自训练(ReST)

  ReST 是 RLHF 的替代方案,可以将 LLM 与人类偏好对齐,其使用采样方法来创建一个改进的数据集,在质量越来越高的子集上迭代训练,以完善其奖励函数。

  论文标题:Reinforced Self-Training (ReST) for Language Modeling

  论文链接:https://arxiv.org/abs/2308.08998

  发表日期:2023 年 8 月

  根据作者的说法,ReST 通过离线生成其训练数据集,与标准在线 RLHF 方法(PPO)相比,实现了更高的效率,但缺少与 InstructGPT 或 Llama 2 中使用的标准 RLHF PPO 方法的全面比较。

  5. 基于人工智能反馈的强化学习

  基于人工智能反馈的强化学习(RLAIF)的研究表明,RLHF 中奖励模型训练的评级不一定必须由人类提供,也可以由 LLM 生成(如 PaLM 2)。

  论文标题:RLAIF:Scaling Reinforcement Learning from Human Feedback with AI Feedback

  论文链接:https://arxiv.org/abs/2309.00267

  发表日期:2023 年 9 月

  标注人员在一半的案例中更喜欢 RLAIF 模型,也就意味着两个模型的差距并不大,并且 RLHF 和 RLAIF 都大大优于纯粹通过监督指令微调训练的模型。

  这项研究的结果是非常有用的,基本上意味着我们可以更容易获得 RLHF 的训练数据,不过 RLAIF 模型如何在定性研究中表现还有待观察,这项研究侧重于信息内容的安全性和真实性,只是对人类偏好研究的部分捕获。

  但这些替代方案在实践中是否有价值还有待观察,因为目前还没有哪个模型可以不用 RLHF 的情况下,取得与 Llama 2 和 Code Llama 相近的性能。

  参考资料:

  https://magazine.sebastianraschka.com/p/llm-training-rlhf-and-its-alternatives