发布时间:2024 年 10 月 30 日
使用大型语言模型 (LLM) 构建功能与传统的软件工程截然不同。开发人员需要学习提示工程,以处理非确定性结果、预处理输入和后处理结果。
您与我们分享的挑战之一是,测试 LLM 的输出,确定其有效性和质量,非常耗时。开发人员通常会使用不同的输入批量生成输出,然后使用人工判断手动验证它们。
一种更具可扩展性的方法来评估不同模型和提示的结果是LLM as a judge 技术。借助此技术,模型验证将委托给另一个 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 将这句话拆分为以下陈述
- “大卫·韦尔为埃弗顿队担任后卫。”
- “埃弗顿目前在英超联赛中排名第二。”
- “埃弗顿在最近的比赛中击败了利物浦。”
- “大卫·韦尔尽量减少了关于埃弗顿参加欧洲足球比赛的讨论。”
验证陈述
然后,我们要求 Gemini 1.5 Flash 分析原始句子,并将其与拆分的陈述进行比较。该模型将每个陈述的有效性分类为
- 是:该陈述得到原始文本的支持。
- 否。该陈述与原始文本相矛盾。
- 不知道。无法验证该陈述是否得到支持或者是否与原始文本相矛盾。
结果分析
此过程产生了两个可用于比较模型的指标
- 对齐:模型生成包含原始文本支持的陈述的摘要的频率。
- 丰富度:模型生成的摘要中包含的陈述的平均数量。
对齐
我们通过计算至少有一个陈述标记为“否”的摘要数量,然后将其除以摘要总数来计算对齐。
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 模型系列的功能显然在不断发展,因为 Gemma 2 2B 能够生成比 Gemma 2B 更丰富且对齐度更高的摘要。
评估您的用例
本文档仅触及了 LLM as a judge 技术可能实现的冰山一角。即使使用摘要,您也可以查看更多指标,结果可能会有所不同。例如,您可以评估覆盖率,方法是使用提示来识别文章中的要点,然后使用不同的提示来验证每个摘要是否涵盖了这些要点。
其他用例,例如撰写文本、改写文本或检索增强生成 (RAG) 对于相同的指标可能会产生不同的结果,或者应该使用其他指标进行评估。
在实施此方法时,请考虑人类将如何评估输出,以确定哪些指标最适合您的用例。还值得研究现有的框架(如 DeepEval),这些框架可能已经有一组适合您用例的指标。
您是否已实施 LLM as a judge 来评估模型?请在 X 上发推文 @ChromiumDev 分享您的发现,或在 LinkedIn 上的 Chrome for Developers 上分享。