发布时间:2024 年 10 月 30 日
使用大语言模型 (LLM) 构建功能与传统软件工程大不相同。开发者需要学习提示工程,以处理非确定性结果、预处理输入和后处理结果。
您曾向我们反映,测试 LLM 的输出、确定其有效性和质量非常耗时。开发者通常会使用不同的输入批量生成输出,然后使用人工判断来手动验证输出。
将 LLM 用作评判者是一种更可扩展的方法,可用于评估不同模型和问题的结果。借助此方法,模型验证会委托给另一个 LLM,而不是依赖于人工判断。第二个 LLM 必须是基于云的大型 LLM,其推理能力可能会更强。
在本文档中,我们使用摘要来演示如何比较不同的模型,并额外展示了从 Gemma 到 Gemma 2 的质量改进。
选择要比较的模型并准备数据
我们评估了三种模型在摘要方面的能力。我们比较了两个可在客户端运行的 Google 开放模型的结果,即 Gemma 和 Gemma 2,这两个模型的参数大小均为 20 亿。为了进行对比,我们还评估了更大、功能更强大的基于云的模型:Gemini 1.5 Flash。
我们使用了包含 2225 篇 BBC 文章的数据集,这些文章涵盖了商业、娱乐、政治、体育和科技等领域,并使用所选的每个模型为每篇文章生成了摘要。所有模型都使用了相同的提示:
用一个段落总结以下文章。
我们将原始文章和生成的摘要存储在数据库中,以便在每一步都可以轻松访问它们。
选择评委来分析和评分摘要
为了分析摘要质量,我们使用 Gemini 1.5 Flash 来评判 Gemma 2 和 Gemma 2 2B 生成的摘要。我们的具体方法基于对齐,这是 DeepEval 的摘要指标的一部分。
一致性指标用于衡量摘要中包含的语句在摘要所依据的原始内容中得到支持的频率。
我们将评估流程分为两个步骤。首先,我们提示模型将每个摘要拆分为单独的陈述。然后,我们指示该模型确定每个陈述是否有原始文章文本支持。
从摘要中提取语句
我们让 Gemini 1.5 Flash 将较长的文本拆分成单独的语句。例如:
尽管埃弗顿在击败利物浦后位居英超联赛第二,但该队后卫大卫·维尔淡化了欧洲足球的讨论。
Gemini 1.5 Flash 会将此句子拆分为以下语句:
- “David Weir 是埃弗顿队的后卫。”
- “埃弗顿目前在英超联赛中排名第二。”
- “埃弗顿在最近的一场比赛中战胜了利物浦。”
- “David Weir has minimized discussion about Everton playing in European football.”
验证语句
然后,我们让 Gemini 1.5 Flash 分析原始句子,并将其与拆分后的陈述进行比较。该模型将每个陈述的有效性分类为:
- 是:原始文本支持该声明。
- 否。该陈述与原文相悖。
- Idk。我们无法验证该声明是否有依据,或者它是否与原始文本相矛盾。
结果分析
此过程产生了两个可用于比较模型的指标:
- 一致性:模型生成的摘要中包含原始文本支持的陈述的频率。
- 丰富性:模型生成的摘要中包含的语句平均数量。
对齐
我们通过计算至少有一条语句被标记为“No”(否)的摘要数量,然后除以摘要总数,计算出对齐方式。
Gemini 1.5 Flash 模型的对齐得分最高,超过 92%。这意味着,它非常擅长坚持事实,避免杜撰内容。
Gemma 2 2B 的得分为 78.64%,这是一个不错的分数,表明其准确性较高。与此同时,旧版 Gemma 2B 的对齐得分较低,这意味着它更容易包含原始文本不支持的信息。
丰富性
我们通过对模型针对每个摘要生成的语句数量求平均值来计算模型丰富度。
Gemma 2 2B 的丰富度得分最高,达到 9.1,这表明其摘要包含更多详细信息和要点。Gemini 1.5 Flash 模型的丰富度得分也较高,超过 8.4。Gemma 2B 的丰富度得分较低,这表明它可能无法从原始文本中提取太多重要信息。
总结
我们确定,能够在客户端运行的较小模型(例如 Gemma 2 2B)可以生成优质的输出。虽然基于云的模型(例如 Gemini 1.5 Flash)擅长生成与原始文章相符且包含大量信息的摘要,但在确定是否应构建客户端 AI 时,您还应考虑应用性能、隐私和安全需求以及您可能提出的其他问题。
Gemma 2B 的功能有明显的演变,因为与 Gemma 2B 相比,Gemma 2 2B 能够生成更丰富、更一致的摘要。
评估您的用例
本文仅对将 LLM 用作评估技术的可能性进行了浅显介绍。即使使用汇总功能,您也可以查看更多指标,并且结果可能会有所不同。例如,您可以使用提示来确定文章中的要点,然后使用其他提示来验证每个摘要是否涵盖了这些要点,以此评估覆盖率。
其他用例(例如撰写文本、重写文本或检索增强生成 (RAG))可能对同一指标有不同的结果,或者应使用其他指标进行评估。
在实现此方法时,请考虑人工如何评估输出,以确定哪些指标最适合您的用例。您还可以考虑使用现有框架(例如 DeepEval),这些框架可能已经包含一组适合您的用例的指标。
您是否实施了 LLM 作为模型评估的评委?欢迎在 Twitter 上向我们发推文分享您的发现,欢迎在 LinkedIn 上分享 Chrome 开发者版。@ChromiumDev