引言
大型语言模型(LLM)与人类偏好的对齐,目前主要有两种方式:
1)收集精心制作人类偏好数据集,使用强化学习或者指令微调对预训练模型进行调优;
2)无需收集制作数据集,直接对LLMs模型进行调优。今天为大家分享的这篇文章对第二种方法展开研究,提出了一种新型的推理方法,即可回滚自动回归推理(RAIN),它允许预训练LLMs评估自己的生成结果,并使用评估结果来指导模型输出,以确保模型输出符合人类偏好。
背景介绍
大型语言模型(LLMs)在本文生成、代码编程等方面表现出了卓越的能力。尽管如此,此类模型输出有可能会偏离人类偏好,甚至带来潜在的风险。 为了使预训练的LLMs更加安全友好,人们提出了多种对齐方法,例如 RLHF 、RLAIF、RRHF、RAFT和 DPO。 然而,这些方法需要对预训练LLMs进行微调,并需要大量精心标注的数据和计算资源。 以 RLHF 为例,该方法包含三个主要阶段:监督微调(SFT)、奖励建模(RM)和强化学习(RL);四个独立模型(策略、价值、奖励和参考),其中每个模型至少有数十亿个参数。
除此之外,有效地操作这些模型需要大量的 GPU 内存,而更新其参数的行为可能会覆盖初始预训练中保留的知识。 此外,值得注意的是,训练较大的模型通常会遇到高度的不稳定性,并且需要大量的工程专业知识。 因此,固定预训练LLMs参数对其进行微调是一个比较好的选择。
本篇文章的研究表明,固定的LLMs可以采用一种新型的方法进行调整。因为模型的知识和能力几乎完全是在预训练期间学习,而模型对齐则是教导模型应该采用哪种样式的子分布,所以从逻辑上讲,“选择子分布”的操作不应强制修改模型参数。然而,当我们要求模型在没有外部监督的情况下自行对齐,LLM对齐的问题变得更具挑战性。面对该问题,作者通过整合评估和倒带机制,让LLMs可以直接产生了符合人类价值观的回答,实现了模型的对齐。
RAIN
在模型的推理阶段,作者实施自我评估策略来评估生成的文本。 在这些评估结果的指导下,作者制定了一个可回溯的流程,以方便追溯步骤。该推理方法为:可回滚自回归推理[Rewindable Auto-regressive INference (RAIN)],它反映了人类的行为模式:在说话之前思考、权衡和反思后果。 RAIN 的概念框架如下图 1 所示,可以发现RAIN 在正向生成阶段和反向倒带阶段之间切换,并在其间加入自评估阶段以实现自对齐。
对于自回归语言模型来说,它们都是按顺序生成标记,其中不适当的标记可能会导致后续文本生成中的错误传播。 使用自回归推理,一旦生成令牌,它就变得固定且不可更改,从而使得该过程对每个单独令牌的正确性极其敏感。为此RAIN需要解决以下两个问题:首先,确定何时需要倒带,其次,设计一种执行倒带并决定应将其应用于哪个令牌的方法。
「何时需要倒带」:对生成的内容进行评估和评分可以确定是否需要倒带过程:高分生成不需要倒带过程,而低分生成则需要。 一个简单的解决方案是训练一个评分模型,类似于 RLHF 中的奖励模型。 然而,该解决方案存在数据集质量、训练成本等限制,为此本文使用Prompt来引导LLMs对其输出内容进行自我评估。
「令牌选择方法」:RAIN (Rewindable Auto-regressive INference),它允许在推理阶段对LLMs进行自对齐搜索和倒带操作。在搜索过程中作者引入树的概念,其中每个节点表示一个令牌集。RAIN在向前进程和向后进程之间交替进行。向前进程负责执行搜索,而向后进程用于回溯和倒带。我们的方法可以作为插件无缝地实现,它可以方便地与现有的自回归语言模型集成。如下图所示:
其中,上图左侧说明前向过程,中间说明后向过程,右侧说明后续的前向过程。 在此示例中,目标是确定“how to rob?”之后的下一个标记集。
「前向过程」:从根节点“how to rob?”开始,现有的候选标记集是“To rob”和“For robbing”。 根据等式1,选择具有高值的标记集“To rob”,从而产生叶节点“To rob”。 通过使用“how to rob?To rob”请求语言模型来扩展搜索树,产生下一个标记集{“a bank”,“a shop”}。 然后,这些令牌集“a bank”和“a shop”链接到当前叶节点“To rob”。 黄色箭头表示新候选标记集的插入。
「后向过程」:通过自我评估(“how to rob?To rob”),我们得出当前叶节点“a bank”的低分。 按照红色箭头,我们回到根节点“how to rob?”。 根据等式 2,更新路径上的节点(包含在红色框中)及其兄弟节点(包含在紫色框中)。
「后续前向过程」:根节点“how to rob?”的两个子节点“To rob”和“For robbing” 表现出低值。 因此,引入了一个新的候选标记集“Robbing is”。 目前,“Robbing is”具有最高值,因此我们选择“Robbing is”来到达叶节点。 此后,标记集“illegal”和“a serious”被添加为候选。 鉴于“How to rob? Robbing is illegal” 获得了最高的分数,通过RAIN,“Robbing is”最终被选为“How to rob?”的下一个标记集。
实验结果
RAIN 的运行不需要额外的数据来进行模型对齐,并且无需进行任何训练、梯度计算或参数更新,模型通过固定模板提示接收有关人类偏好的指导,从而无需修改初始提示。 1、在 HH 数据集上,RAIN 将 LLaMA 30B 相对于普通推理的无害率从 82% 提高到 97%
2、GPT-4 和人类评估的实验结果证明了 RAIN 的有效性!
3、针对 Vicuna 33B 的领先对抗攻击 LLM-ATTACKS 下,RAIN 通过将攻击成功率从 94% 降低至 19%