谷歌 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、Java、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 种偏见:
顺序: 自动评估器对回复顺序是否有偏好?
同情心: 当使用生成响应的 LLM 的实际名称(例如「GPT-4」)而不是「Model A」等别名时,自动评估者的判断会改变吗?
长度: 自动评估器是否会偏好较长或较短的输出?
以自我为中心: 自动评估器是否偏爱自己生成的输出?
见风使舵: 自动评估器是否会被「90% 的人更喜欢回答 A」这样的句子所左右?
注意力:自动评估器是否被不相关的上下文信息干扰
评估结果如表 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广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,所有文章均包含本声明。