87.8%准确率赶超GPT-4o登顶!谷歌DeepMind发布自动评估模型FLAMe

发布日期: 2024年8月12日 来源:新智元
谷歌DeepMind推出LLM自动评估模型FLAMe系列,FLAMe-RM-24B模型在RewardBench上表现卓越,以87.8%准确率领先GPT-4o。

大语言模型都卷起来了,模型越做越大,token越来越多,输出越来越长。

那么问题来了,如何有效地评估大语言模型的长篇大论呢?要是输出长度长了但胡言乱语输出质量差,又臭又长,岂不是白搭?

首先能想到的方法就是人工评估。人工评估虽然对于评价模型性能至关重要,但受到主观性、评估者之间的差异性以及广泛评估的高成本的限制。

考虑到这些因素,谷歌DeepMind研究团队提出了自动评估解决方案FLAMe。

论文地址:https://arxiv.org/abs/2407.10817

模型本身在经历多轮大规模指令任务调整后,可以遵循一套新的指令,使它们适合用作模型输出的自动评估器。

一方面,为了使LLM自动评分更加合理、准确并与人类偏好保持一致,对人类判断的数据收集极其重要。

然而,获得这些判断数据既昂贵又耗时。从以前的研究中收集现有的人类评估貌似可行,但面临着缺乏标准、文档数据不充分、数据隐私和专有权等问题。

另一方面,直接使用模型输出进行自动评分器训练可提供一致性,但也存在风险,包括强化偏见和幻觉。

此外,它可能违反专有LLM服务的使用条款,条款禁止使用其模型的输出来开发竞争模型。

为了解决这些限制和显著降低成本,谷歌引入了一个用于自动评分的大型基础模型系列—-FLAMe。

FLAMe模型的主要优势和贡献是:

– 数据收集:仅使用获得许可的数据集,并对人类评估结果进行标准化。共包含102个评估任务、530万条人类评估意见。为了促进未来的研究,论文公开了所有数据集来源。

– LLM自动评分器:既包括使用多任务组合来训练通用 LLM自动评分器 (FLAMe) ,也包括针对下游应用程序优化过的LLM 自动评分器 ( FLAMe-RM 和 FLAMe-Opt-RM)。

在12个自动评分器评估基准中的8个基准上,FLAMe及其变体的自动评分性能优于用专有数据训练的GPT-4o、Gemini-1.5-Pro等模型。

– 计算高效的多任务训练:引入了一种计算更为高效的方法,使用创新的微调策略来优化目标分布的多个任务,显著减少计算量来实现更佳的性能。

自动评估方法

为了将人工评估的流程自动化,作者对LLM任务和评估标准进行了细致的定义。

数据收集

和领域内很多科技巨头的做法形成鲜明对比的是,DeepMind这篇论文不仅披露了使用的数据集列表,而且从数据收集步骤开始,就坚持了几个公认正确但很难做到的原则。

首先,为了论文的透明度和可复现,作者仅使用HuggingFace、TensorFlow这些平台上的公共开源数据集,以及得到原作者许可的GitHub库。

为了避免GPT-4等模型生成数据带来的不准确性和潜在法律问题,作者只使用了带有人工标注的数据集,并涵盖了各种任务类型(图3)和LLM能力(图4)。

最终用于训练的数据集含有102项评估任务、共530万条经过标准化处理的人类评估意见。

任务类型主要包含以下四种:

– 成对评估(pairwise evaluation):比较两个响应结果并确定偏好

– 逐点评估(pointwise evaluation):对单个响应结果的指定属性进行打分

– 分类:将单个响应划分为某个预定义类别,例如:模型输出是否遵循说明?(是/否)

-开放式评估:自由形式、不受限制的评估结果

按照评估的LLM能力划分数据集,则大致有6类能力:

– 一般响应质量:包括有用性、连贯性、流畅性、创造力、复杂性和冗长性等多个属性,以及指令跟随能力

– 事实性/内容出处:针对LLM应用中日益重要的幻觉问题,几个数据集都用于评估响应输出的事实准确性及其基础,看模型提出的声明是否有源文档作为依据

– 数学推理:区分LLM生成数学解题方案的正确或错误

– 编码:涵盖Python、JavaScript、Java、C++、Go和Rus等流行编程语言,训练FLAMe从备选答案中选出正确程序或修复程序

– 安全性:为了使FLAMe能够识别出更有帮助且无害的模型响应

– 指令微调:结合数据集中的指令微调数据和人类编写的响应,帮助保留模型的指令微调能力

统一任务格式

精心选择好合适的数据集后,作者受到T5统一任务格式的启发,将所有数据都标准化为统一的「文本到文本」格式。这种灵活的格式可以轻松适应上述各种评估任务。

任务定义、评估指令和所需的输出字段被列在输入的INSTRUCTION部分,具体的输入内容和目标输出分别放在CONTEXT和EVALUATION部分(图2)。

其中任务定义和评估指令都经过精心设计,确保一致性和标准化,并忠实于原始数据集。

模型训练

为了训练出通用LLM自动评估器,能够在推理过程中提示它们执行各种任务。实验训练了三种模型变体:

FLAMe,通用评分器;

FLAMe-RM,用FLAMe初始化,并均匀混合了四个成对评估数据集进行微调,性能评估标准包括聊天对话、推理和安全性;

FLAMe-Opt-RM,使用奖励模型优化的混合权重进行训练,并使用尾部补丁微调策略(tail-patch fine-tuning)。

FLAMe

从基准训练方法开始,使用监督多任务训练的方式,对PaLM-2-24B模型进行指令微调,进行固定数量的30K训练步骤。

采用示例比例混合权重(examples-proportiaonal mixture weights),每个任务采样上限为为2^16,以避免对大型数据集进行过采样。

FLAMe模型显著提高了对各种held-out任务的泛化能力,在许多任务上优于GPT-4、Claude-3和Llama-3等模型。

以上数据能够证明FLAMe具有的的基础功能,即进行大规模多任务指令微调,可以让模型发展出通用的质量评估能力。

然而,FLAMe对于奖励模型评估等专门的下游应用来说并不是最佳的,因此论文进一步提出针对特定下游分布的模型变体。

FLAMe-RM

受FLAMe研究结果的启发,作者更加深入地研究了FLAMe的拓展,将其作为进一步微调特定下游应用的起点。

作者采用了大量奖励模型评估作为案例研究。通过在四个成对评估数据集的混合上微调FLAMe来创建FLAMe-RM。

数据集包括:HelpSteer、PRM800K、CommitPack和HH-RLHF Harmless。

由于FLAMe已经在这些数据集上进行了训练,因此仅对其进行50个步骤的微调。

由此产生的FLAMe-RM模型将原始FLAMe的RewardBench总体得分从86.0%准确率提高到87.8%。

值得注意的是,FLAMe-RM-24B是专门在许可数据上训练的性能最佳的生成模型,超过了GPT-4(85.9%) 和GPT-4o (84.7%)。

FLAMe-Opt-RM

虽然FLAM在许多任务中表现良好,但它需要大量的训练才能在某些专门的下游应用程序(例如RewardBench)上获得强大的性能。

为了解决这个问题,研究引入了一种尾部补丁消融策略(tail-patch ablation),该策略分析每个数据集对目标分布的影响。

这能够帮助找到多任务混合中各个数据集的最佳比例,从而有效地优化混合权重超参数。

通过这种优化过的混合数据微调PaLM-2-24B仅需要5000步,相比RewardBench上的基线模型(86.0%)实现了有竞争力的性能 (87.0%),而且所用的训练数据也减少了约25倍。

研究直接根据RewardBench性能变化(由于缺乏开发集)优化了多任务混合。

值得注意的是,研究的目标不是实现最佳的RewardBench结果,而是展示如何针对目标分布进行多任务混合的优化方法。

通过测试发现,和FLAMe-RM 一样,微调进一步提高了RewardBench性能。

此外,FLAMe-Opt-RM在其他held-out任务中的优秀表现表明,moxing 并没有过度拟合RewardBench,这证实了FLAMe-Opt-RM在不同任务中的广泛适用性。

训练细节

研究使用了PaLM-2-24B模型对FLAMe和 FLAMe-Opt-RM进行初始化,并在Flan集合上进行指令调整,分别训练30000步和5000步,然后将FLAMe进一步微调50步以创建 FLAMe-RM。

模型使用T5X和Adam优化器进行训练,学习率为 0.0001,dropout为 0.05。

FLAMe在256个PU芯片上进行训练,批大小为32,而FLAMe-RM和FLAMe-Opt-RM使用128个TPU芯片,批大小为8。

评估实验

讨论过FLAMe系列模型的构建方法后,作者使用了包含12个自动评分器基准的评估套件,将FLAMe与几个流行的LLM-as-a-Judge自动评分器进行对比。

12个基准中,只有HelpSteer作为held-in验证,其余的RewardBench、LLM-AggreFact等11个作为held-out测试。

评估数据同样涵盖了53个任务,但为了降低模型API成本,每个测试集(除RewardBench)仅随机抽取256个样本。

对比的基线包括Llama-3-70B-Instruct、Mixtral8×7B、Claude-3-Opus等流行的LLM-as-a-Judge模型,以及RewardBench官方排行榜上列出的Gemini-1.5-Pro、Nemotron-4-340B-Reward等。

FLAMe的3种模型变体都参与了评估,而且还包括了进行指令微调前的PaLM-2-24B,以更好说明FLAMe训练的效果。

表1列举了FLAMe系列在12个基准上与流行基线模型的对比。

其中8个都取得了最优性能,尤其是Contr Search和HelpSteer上相比次优模型有大幅度提升,让我们看到了「许可数据」超越「专有数据」的希望。

在RewardBench排行榜上,截止7月15日,FLAMe-RM-24B在所有生成模型中排名第2(仅次于Gemini-1.5-Pro),在所有模型中排名第6,在4个类别中都取得了强劲表现。

虽然RewardBench是评估奖励模型时被广泛使用的基准,但作者也在实验时发现了其中的评估偏差问题,比如有对输出答案的长度偏好,以及偏爱「sorry」、「I’m sorry」等短语。

RewardBench4个类别任务对响应长度的不同偏好

在AggreFact基准的结果中(表3),FLAMe-24B获得了整体最佳性能,比GPT-4o高出将近1分。

在总共4个类别的用例中,FLAMe系列变体在其中3个取得了最优性能,仅在Long-formQA上表现不佳,与表1中LFQA Eval的结果相一致。

此外,上述3个表格中都能发现,相比原有的PALM-2-24B,经过训练后的FLAMe-24B性能有大幅度的提升,证明了FLAMe训练方法的有效性。

分析

模型大小、数据集大小和数据质量等因素在最近的多任务学习和指令调优工作中已经得到了广泛的研究。

论文更加着重探索LLM自动评分器固有的潜在偏见,这也是影响评估准确性的一个重要方面。

另外,FLAMe对于AI开发还有许多潜在用途,例如对高质量响应数据进行采样。

自动评分器偏差分析

对LLM自动评估器(LLM-as-a-Judge autorater)的常见批评主要涉及他们对某些判断的偏见。

通过在自动评估器偏见基准CoBBLEr上评估 FLAMe及其变体,论文发现FLAMe模型比其他流行的LLM自动评估器的偏见要小得多。

CoBBLEr主要测量LLM自动评估器中的6种偏见:

  1. 顺序:自动评估器对回复顺序是否有偏好?
  2. 同情心:当使用生成响应的LLM的实际名称(例如「GPT-4」)而不是「Model A」等别名时,自动评估者的判断会改变吗?
  3. 长度:自动评估器是否会偏好较长或较短的输出?
  4. 以自我为中心:自动评估器是否偏爱自己生成的输出?
  5. 见风使舵:自动评估器是否会被「90% 的人更喜欢回答 A」这样的句子所左右?
  6. 注意力:自动评估器是否被不相关的上下文信息干扰

评估结果如表4所示,可以看到,相比其他基线模型,FLAMe系列在大部分维度都表现出明显较低的偏见,而且总体偏见值最低。

使用FLAMe对解码输出重新排序

最后,研究还探索了LLM自动评估器在从多个响应中选择最佳输出方面的应用,这种方法称为「Best-of-N」采样。

实验中使用了OpenAI的3个代码生成模型,并通过循环机制(round-robin)让FLAMe分别对它们生成的10个代码样本进行重新排名,然后使用排名靠前的代码示例,在HumanEval Python基准中测试其性能。

结果表明,FLAMe在所有三个模型中都显著提高了pass@1准确率。

值得注意的是,FLAMe将CodeGen16B的pass@1准确率从21.2提高到31.1,与Oracle排名器 (46.9) 的差距缩小了近40%。

结论与讨论

FLAMe是一系列基础自动评估器模型,可以执行各种质量评估任务。训练所用的数据不仅大规模而且多样化, 仅来自许可数据集,包含标准化的人类评估意见且经过精心设计。

研究展示了FLAMe强大的零样本泛化能力,在许多悬而未决的任务中,其性能优于使用GPT-4和Claude-3等专有数据训练的模型。

FLAMe还可以有效地作为进一步下游微调的强大起点。FLAMe-RM变体针对奖励模型评估进行了微调,尽管仅在许可数据上进行训练,但仍是RewardBench上表现最好的生成模型之一,其性能优于GPT-4-0125和GPT-4o。

此外,论文提出了一种计算效率更高的方法,使用新颖的尾部补丁微调策略来优化目标分布的多任务混合FLAMe模型,以显著减少的计算量提供有竞争力的性能。

FLAMe变体在12个自动评估基准中的8个优于流行的专有LLM-as-aJudge模型,涵盖53项质量评估任务,包括RewardBench和LLM-AggreFact。

最后,分析表明,与CoBBLEr自动评分器偏差基准上流行的LLM-as-a-Judge模型相比,FLAMe表现出明显较低的偏见,同时能够有效地识别代码生成的高质量响应。

局限性和未来工作

由于评估标准不断变化以及评估新的LLM功能的需要,评估LLM具有挑战性,通过开源贡献扩大我们的数据收集范围可以解决这个问题。

此外,模型主要在上下文长度为2048个token的英语数据上进行训练,可能在多语言或长上下文上表现不佳。

在未来的版本中,作者计划包括对更多具有更长上下文的多语言数据集的训练。

最后,这项工作一直以有监督的多任务方式训练FLAMe模型。探索RLHF和DPO等其他训练方法是未来工作的一个有希望的方向。

道德考虑和道德风险

针对预训练和指令微调的LLMs工作概述的所有注意事项和风险也都适用于LLM自动评估器,研究也都遵循标准实践来负责任地开发FLAMe模型。

此外,由于评估能力和评估质量的增强,LLM自动评估器也带来了新的风险。

首先,模型可能会继承并放大人类评估的偏见,导致不公平或歧视性的结果。

例如,该模型可能会复制训练数据中与种族、性别或其他敏感属性相关的偏见,这可能会损害某些群体利益。

其次,过度依赖LLM自动评估器可能会导致需要人类理解和同理心的决策不经思考而只根据LLM判定。

为了减轻这些风险,模型开发和使用的透明度,以及偏见处理、数据匿名化和纳入不同观点等强有力的措施,对于促进公平、问责和可信度至关重要。

参考资料:

https://x.com/tuvllms/status/1813249272474968315