人们对能够让大型语言模型(LLM)在很少或没有人类干预的情况下提高能力的技术越来越感兴趣。在LLM自我改进的领域中,指令微调(IFT)是一个方面,该模型被教导遵循人类的指令。
IFT是像ChatGPT和Claude这样的模型变得非常成功的主要原因之一。然而,IFT是一个复杂的过程,需要大量的时间和人力。Meta和纽约大学在一篇论文中介绍了一种名为“自我奖励语言模型”的新技术,它提供了一个方案,使得预训练的语言模型能够创建和评估例子来为自己进行指令微调的训练。
这种方法的优势在于多次应用时可以持续改进模型。自我奖励语言模型不仅可以提高它们遵循指令的能力,而且在奖励建模方面也变得更好。
自我奖励语言模型
微调LLM以遵循指令的常见方法是通过人类反馈的强化学习(RLHF)。
在RLHF中,语言模型根据来自奖励模型的反馈来优化其响应。奖励模型是基于人类注释者的反馈进行训练的,这有助于将模型的响应与人类的偏好对齐。RLHF包括三个阶段:预训练LLM,创建一个基于人类排名输出训练的奖励模型,以及一个强化学习循环,其中LLM基于奖励模型的分数进行微调,以生成与人类判断一致的高质量文本。
另一种方法是直接偏好优化(DPO),在该模型中,模型产生几个答案,并直接从人类那里接收关于哪一个更可取的反馈。在DPO中,无需创建单独的奖励模型。
虽然这些技术已被证明是有效的,但它们都受到人类偏好数据的大小和质量的限制。RLHF还有一个额外的限制,即一旦训练完成,奖励模型就被冻结,并且在主要LLM的微调过程中其质量不会发生变化。
自我奖励语言模型(SRLM)的想法是创建一个克服这些限制的训练算法。“这种方法的关键是开发一个拥有训练期间所需的所有能力的代理,而不是将它们分离成不同的模型,如奖励模型和语言模型。”研究人员在他们的论文中写道。
SRLM具有两个主要能力。首先,它可以提供对用户指令有帮助且无害的响应。其次,它可以创建和评估指令和候选响应的示例。
这使它能够通过人工智能反馈(AIF)迭代地训练自己,并通过创建和训练自己的数据逐渐改进自己。
在每次迭代中,模型在遵循指令方面变得更好。相应地,它在为下一轮训练创建示例方面也有所改进。
SRLM的工作原理
自我奖励的语言模型从一个在大量文本上训练的基础LLM开始。然后,该模型在一个小规模的由人类注释的种子数据上进行微调。种子数据包括指令微调(IFT)示例,其中包含指令和响应的配对。
为了提高结果,种子数据还可以包括评估微调(EFT)示例。在EFT中,模型会收到一个指令和一组响应。它必须根据它们与输入提示的相关性对响应进行排序。评估结果包括推理描述和最终分数。这些示例使LLM能够执行奖励模型的角色。
一旦在初始数据集上进行训练,模型就可以为其下一个训练迭代生成数据。在这一阶段,模型从原始IFT数据集中采样示例,并生成一个新的指令提示。然后,它为新创建的提示生成几个候选响应。
最后,模型使用LLM-as-a-Judge来评估响应。LLM-as-a-Judge需要一个特殊提示,其中包括原始请求、候选响应和评估响应的指示。
一旦模型创建了指令示例并对响应进行了排名,SRLM就使用它们来创建一个人工智能反馈训练(AIFT)数据集。有两种方法可以组装训练数据集。你可以使用指令以及响应和排名分数来创建偏好数据集。这个数据集可以与直接偏好优化(DPO)一起使用,教模型区分好和坏的响应。或者,你可以创建一个只包含最高排名响应的监督微调(SFT)数据集。研究人员发现,包含排名数据提高了训练模型的性能。
一旦新创建的示例被添加到原始数据集中,模型可以再次进行训练。这个过程会重复多次,每个循环都创建一个既擅长遵循指令又擅长评估响应的模型。
“重要的是,因为模型既能提高其生成能力,又通过相同的生成机制充当自己的奖励模型,这意味着奖励模型本身可以通过这些迭代得到改进,这与奖励模型固定的标准实践不同。”研究人员写道。“我们相信这可以提高这些学习模型自我改进潜力的上限,消除了一个限制瓶颈。”
对SRLM的实验
研究人员使用Llama-2-70B作为基础模型测试了自我奖励语言模型。作为指令微调的种子数据,他们使用了Open Assistant数据集,其中包含数千个指令微调示例。Open Assistant还包含了多个排名响应的指令示例,可用于评估微调(EFT)。
他们的实验表明,自我奖励语言建模的每一次迭代都提高了LLM的指令遵循能力。此外,LLM在奖励建模方面变得更好,这反过来使其能够为下一次迭代创建更好的训练示例。他们在AlpacaEval基准上的测试显示,经过三次SRLM迭代的Llama-2在性能上超过了Claude 2、Gemini Pro和GPT-4-0613。
这种方法也有局限性。与其他允许LLM自我改进的技术一样,SRLM可能导致模型陷入“奖励操纵”陷阱,即它开始为了期望的输出优化其响应,但原因是错误的。奖励操纵可能导致模型不稳定,在现实世界的应用和与训练示例不同的情境中表现不佳。目前还不清楚这个过程在模型大小和迭代次数上可以扩展到何种程度。
但是SRLM有一个明显的优势,那就是为你的训练数据提供更多的价值。如果你已经有了一个注释的训练示例数据集,你可以使用SRLM来提升你的LLM的能力,而无需向数据集中添加更多示例。
“我们认为这是一条令人兴奋的研究道路,因为这意味着模型在后续迭代中更好地分配奖励以改善指令遵循能力——这是一种良性循环。”研究人员写道。“虽然这种改进在现实场景中可能会饱和,但它仍然为超越今天通常用于构建奖励模型和指令遵循模型的人类偏好提供了持续改进的可能性。”