发布时间: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 2B 和 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。我们无法验证该声明是否有依据,或者它是否与原始文本相矛盾。
结果分析
这一过程产生了两个可用于比较模型的指标:
- 一致性:模型生成的摘要中包含原始文本支持的陈述的频率。
- 丰富性:模型生成的摘要中包含的语句平均数量。
对齐
我们通过统计至少有一个陈述被标记为“否”的摘要的数量,然后将该数量除以摘要的总数来计算一致性。
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