前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >RAG评估指标:指标之旅

RAG评估指标:指标之旅

原创
作者头像
点火三周
发布于 2024-12-11 05:49:04
发布于 2024-12-11 05:49:04
3400
举报
文章被收录于专栏:Elastic Stack专栏Elastic Stack专栏

利用 RAG 评估 LLMs 的性能

在2020年,Meta 发表了一篇名为“Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”的论文。这篇论文介绍了一种通过利用外部数据库来扩展语言模型(LLMs)知识的方法,从而超越其初始训练数据。自那时以来,这种方法引起了研究人员的极大关注,并因其显著的优势成为了一个备受讨论的话题。这些优势包括能够轻松更新知识数据库,使较小的模型在特定任务上匹敌较大的模型,使生成结果能够泛化到训练数据之外的领域,减少幻觉的发生等等。

所有这些实验和发现都围绕着测量模型在给定任务上的性能展开。不幸的是,评估生成文本的质量是一个很大的挑战,因为生成文本本质上是开放且包容的。在“搜索”场景中,存在一个“理想”的文档排序,这使得可以通过简单的比较来衡量与理想排序的接近程度。然而,当涉及到评估生成文本在回答问题或总结内容方面的质量时,任务变得相当复杂。

在这篇博客中,我们将主要关注 RAG(Retrieval-Augmented Generation)问答任务,特别是封闭域问答。我们将深入探讨该领域常用的一些指标,并解释 Elastic 为有效监控模型性能所做的决策。

N-gram 指标

在这一系列指标中,主要思路是检查生成文本与“真实答案”的相似程度。基于这个想法有许多变体,我们这里只讨论其中的一些。

BLEU 分数

  • BLEU 分数:Bilingual Evaluation Understudy,简称 BLEU,是一种用于评估机器生成文本质量的指标,通过分析共享的 n-gram(连续 n 个词的序列)的存在来量化相似性。BLEU 分数的范围从 0 到 1,得分越高,表示生成文本与参考文本的对齐程度越高。
1-gram precision (also called BLEU-1) used to calculate BLEU which is built out of these scores for different n-gram and an additional factor for brevity.
1-gram precision (also called BLEU-1) used to calculate BLEU which is built out of these scores for different n-gram and an additional factor for brevity.

图1 - 用于计算 BLEU 的 1-gram 精度(也称为 BLEU-1),由这些不同 n-gram 的分数和一个额外的长度惩罚因子组成。

ROUGE 分数

  • ROUGE 分数(https://en.wikipedia.org/wiki/ROUGE_(metric%29):Recall-Oriented Understudy for Gisting Evaluation,通常用于评估机器生成摘要的有效性。它通过计算共享的单词或短语来评估生成文本与参考文本的相似程度。与 BLEU 不同,ROUGE 计算召回率,而 BLEU 计算精度。这意味着 ROUGE 主要关注生成文本中包含了多少参考文本中的信息,这使得 ROUGE 成为与摘要相关任务的流行选择。

METEOR 分数

  • METEOR 分数:Metric for Evaluation of Translation with Explicit Ordering,是在机器生成领域广泛使用的指标。METEOR 不同于前述指标,通过结合精度和召回率的调和平均值来进行评估。此外,它在评估单词匹配时考虑了同义词、词干和词序(通过碎片惩罚)。这些属性使得 METEOR 与人类判断的相关性比 BLEU 更强。

虽然这些指标是快速和简便评估 LLMs 的有用工具,但它们也有一些限制,使其不尽如人意。首先,它们在评估段落的流畅性、连贯性和整体意义方面显得不足。它们对词序也相对不敏感。尽管 METEOR 尝试通过同义词和词干来解决这个问题,这些评估工具缺乏语义知识,无法识别语义变化。这在有效评估长文本时尤为明显,将文本视为简单的段落集合过于简化。此外,依赖“模板答案”使其在大规模评估中成本高昂,并引入了对模板中使用的确切措辞的偏见。最后,对于特定任务,研究表明 BLEU 和 ROUGE 分数与人类判断之间的相关性实际上相当低。由于这些原因,研究人员尝试寻找改进的指标。

内在指标

困惑度(PPL)

困惑度(通常缩写为 PPL)是评估语言模型(LLMs)的最常见指标之一。计算困惑度需要访问模型生成的每个词的概率分布。它衡量模型预测词序列的置信度。困惑度越高,模型预测观察到的序列的置信度越低。正式定义如下:

[ PPL{model} = \exp\left(-\sum{i=1}^{t} \log(P{\theta}(x_i \mid x{j \neq i}))\right) ]

其中,(\log(P{\theta}(x_i \mid x{j \neq i}))) 是模型根据句子中其他词(不等于 i)预测第 i 个词的概率的对数。为了说明,下面是一个仅包含三个词的词汇表的模型计算困惑度的示例。

PPL score example
PPL score example

图2 - 困惑度分数示例

困惑度的一个显著优势在于其计算速度,因为它仅依赖于输出概率,不涉及外部模型。此外,它往往与模型的质量有较强的相关性(尽管这种相关性可能因使用的测试数据集而异)。

尽管如此,困惑度也有一些限制,可能会带来挑战。首先,它依赖于模型的信息密度,使得难以比较词汇大小或上下文长度不同的两个模型。还无法在数据集之间比较分数,因为某些评估数据可能本身具有更高的困惑度。此外,它对词汇差异过于敏感,可能会因表达相同答案的不同方式而对模型进行惩罚,即使两者都是有效的答案。最后,困惑度不适合评估模型处理语言歧义、创造力或幻觉的能力。特别是在歧义方面,由于序列的其余部分无法确定的词会推高困惑度,但这些并不是生成或理解差的指标。它可能会对理解歧义比能力较差的模型更好的模型进行惩罚。由于这些缺点,NLP 社区探索了更高级的外在指标来解决这些问题。

基于模型的指标

内在指标和 N-gram 指标的一个显著缺陷在于它们没有利用语义理解来评估生成内容的准确性。因此,它们可能与我们期望的人类判断不太一致。基于模型的指标被认为是解决这一问题的更有前途的解决方案。

BERTScore

  • BERTScore:为了从语义角度理解句子的真正含义,BERTScore 使用著名的基于 Transformer 的模型 BERT。它查看我们想要评估的句子和参考句子,然后通过利用两个句子中 token 的上下文嵌入来比较它们的相似性。最终的分数是最接近 token 对的余弦相似度的加权组合。

BLEURT

  • BLEURT:其基本概念与 BERTScore 非常相似,因为它依赖于基于 Transformer 的模型来评估参考文本和候选文本之间的相似性。然而,BLEURT 的训练包含两个关键增强。首先,它使用基于 Wikipedia 内容的随机更改数据集进行预训练,以模拟生成输出的多样性。此外,还进行了一个微调步骤,将人类评分纳入其中,以提高其性能。

BARTScore

  • BARTScore:其想法是将评估生成文本的问题转化为文本生成问题。使用基于 BART 的专门训练的序列到序列模型,它能够通过输入文本 x 生成另一个文本 y 的加权对数概率来获得分数。BARTScore 支持从不同角度(准确性、精度、召回率等)评估生成文本,使其功能强大。
Kendall’s Tau correlation of different metrics on WMT19 dataset from BARTScore paper
Kendall’s Tau correlation of different metrics on WMT19 dataset from BARTScore paper

图3 - BARTScore 论文中不同指标在 WMT19 数据集上的 Kendall’s Tau 相关性

BERTScore 和 BLEURT 本质上可以看作是使用上下文表示的 n-gram 召回,而 BARTScore 更接近于困惑度测量,在目标文本和生成文本之间使用批评模型而不是模型本身。虽然这些基于模型的指标提供了强大的评估能力,但由于涉及外部模型,它们比 BLEU 或 PPL 慢。考虑到 BLEU 在许多生成上下文中与人类判断的相关性较低,这种权衡是合理的。简单的相似性基础指标仍然是选择 LLMs 的热门方法(如 Hugging Face leaderboard所见)。这种方法可能是一个合理的代理,但考虑到当前最先进 LLMs 的能力,它是不足够的。

UniEval:Elastic 的 RAG 评估选择

UniEval 将所有评估维度统一到一个布尔问答框架中,允许单个模型从多个角度评估生成文本。例如,如果其中一个评估维度是相关性,那么可以直接问模型“这是对这个问题的相关答案吗?”。根据评估维度确定的一组任务,训练一个模型,使其能够根据这些维度评估生成文本。使用 T5 作为基础模型,UniEval 采用了两步训练过程。第一步,称为“中间多任务学习”,利用查询和上下文处理多个任务,这些任务统一为现有相关数据集中的布尔问答任务。随后,第二步是序列训练,模型逐维学习如何评估生成文本的不同方面。预训练的 UniEval 模型面向摘要,但我们认为 RAG 问答可以视为避免参数记忆以获得准确回答的积极总结任务。它在以下维度上进行了训练:

  • 连贯性,衡量所有句子形成一个连贯整体的程度。
  • 一致性,评估答案与上下文之间的事实对齐。
  • 流畅性,评估单个句子的质量。
  • 相关性,衡量答案与真实答案之间的事实对齐。
Pearson and Spearman correlations on the Topical-Chat benchmark averaged on all UniEval dimensions
Pearson and Spearman correlations on the Topical-Chat benchmark averaged on all UniEval dimensions

图4 - Topical-Chat 基准上所有 UniEval 维度的 Pearson 和 Spearman 相关性平均值

虽然 UniEval 非常强大,但截至我们撰写本文时,它尚未成为“最先进”的评估模型。似乎基于 GPT 的评估器,如 G-Eval,可能在与人类判断的相关性方面比 UniEval 更强(仅在基于 GPT-4 的评估器上下文中)。然而,必须考虑到显著的成本差异。UniEval 是一个 8 亿参数的模型,而 GPT-4 估计拥有巨大的 1.76 万亿参数。我们坚信 G-Eval-4 的轻微优势不足以证明其显著增加的成本是合理的。

UniEval 的实际使用

我们刚刚开始探索 UniEval,并计划将其纳入未来涉及文本生成的多个令人兴奋的项目。然而,拥有这个评估模型后,我们决定通过解决三个具体问题来测试其能力。

我们能否轻松地用 UniEval 比较 LLMs 的质量?

这是当你拥有一个评估指标时最先想到的问题。它是预测 LLMs 质量的有效工具吗?我们对 Mistral-7b-Instruct 和 Falcon-7b-Instruct 进行了基准测试,以评估它们在流畅性、一致性、连贯性和相关性方面的可区分性。为此基准测试,我们使用了 18 个数据集中的 200 个查询,确保了多样化的上下文(包括 BioASQ、BoolQ、CoQA、CosmosQA、HAGRID、HotpotQA、MSMARCO、MultiSpanQA、NarrativeQA、NewsQA、NQ、PopQA、QuAC、SearchQA、SleepQA、SQuAD、ToolQA、TriviaQA、TruthfulQA)。给 Mistral/Falcon 的提示包括查询和包含回答查询所需信息的上下文。

UniEval evaluation of Mistral and Falcon with distribution of scores of 3600 queries. Higher score is better.
UniEval evaluation of Mistral and Falcon with distribution of scores of 3600 queries. Higher score is better.

图5 - UniEval 对 Mistral 和 Falcon 的评估,3600 个查询的分数分布。分数越高越好。

在这个特定实例中,很明显 Mistral 在所有评估维度上都优于 Falcon,使得决策相当简单。然而,在其他情况下,特别是当在相关性和一致性之间做出决定时,可能会更具挑战性,这两者对于 RAG 问答都非常重要。

“一致性分数”与模型生成的幻觉数量相关吗?

实验很简单。我们收集了约 100 个来自 SQuAD 2.0 数据集的查询。接下来,我们使用 UniEval 评估一个模型(在这种情况下是 Mistral-7B-Instruct-v0.1,但它可以是任何模型)。然后,我们手动检查和标注显示幻觉的生成文本。随后,我们创建一个校准曲线,以检查“一致性分数”是否是幻觉概率的可靠预测。在更简单的术语中,我们正在研究“一致性分数”和幻觉数量是否相关。

Calibration curve for consistency on hallucinations detection
Calibration curve for consistency on hallucinations detection

图6 - 一致性对幻觉检测的校准曲线

如所观察到的那样,一致性确实是幻觉概率的可靠指标,尽管它并不完美。我们遇到了一些幻觉微妙且难以识别的情况。此外,我们测试的模型有时提供了正确的答案,这些答案并非来自提示的上下文,而是来自其参数记忆。在一致性指标方面,这类似于幻觉,尽管答案是准确的。这就是为什么平均而言,我们检测到的幻觉数量比实际的真幻觉数量更多。在某些实验中,我们故意包含误导性提示,我们成功地误导了生成过程和我们的评估。这证明 UniEval 并非万能之物。

解码策略如何影响评估维度?

在这个实验中,我们想比较 Falcon-7b-Instruct 中不同的信息解码方法。我们在 18 个数据集中尝试了几种方法,每个数据集使用 5 个查询(总共 90 个查询):

  • 贪婪解码,我们选择最可能的 token。
  • 波束搜索解码,保持多个可能路径并选择总体概率最高的路径(使用 5 个波束)。
  • TopK 解码,我们选择顶级候选者,重新分配概率,并随机抽样一个 token(top k 值为 4)。
  • 核心解码,类似于 TopK,但核心解码根据概率质量阈值选择候选者的数量(threshold=0.95,max_topk=50)。
  • 对比解码,应用惩罚以鼓励选择过程中的多样性(penalty_alpha=0.6,topk=4)。
Decoding strategies benchmark with UniEval
Decoding strategies benchmark with UniEval

图7 - 使用 UniEval 进行的解码策略基准测试

根据先前的研究,最有效的方法是对比解码。需要注意的是,尽管贪婪解码被认为是一种受限策略,但在这种情况下表现得相当不错。这可能归因于对短答案的关注(最多64个新token)或 UniEval 在评估“多样性”方面不够准确。

结论

在这篇博客中,我们旨在介绍评估 LLMs,特别是在使用 RAG 进行问答方面的挑战。这个领域仍处于早期阶段,有大量的论文在这一主题上发表。尽管 UniEval 不是万能的解决方案,但我们认为它是一种有前途的方法,可以更精确地评估我们 RAG 管道的性能。这标志着 Elastic 在持续研究工作中的初步成果。我们始终致力于提升搜索体验,并相信像 UniEval 这样的解决方案或类似的方法将为我们的用户开发出更有价值的工具。

本文所述的任何功能或特性发布的时间和方式完全由 Elastic 决定。任何当前不可用的功能或特性可能不会按时交付,甚至可能根本无法交付。

Elastic、Elasticsearch 及相关标志是 Elasticsearch N.V. 在美国和其他国家的商标、徽标或注册商标。所有其他公司和产品名称是其各自所有者的商标、徽标或注册商标。

Elasticsearch 带来了许多新功能,帮助您为您的用例构建最佳的搜索解决方案。请探索我们的 示例笔记本 了解更多信息,开始 免费云试用,或者现在就在您的 本地机器 上试用 Elastic。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 利用 RAG 评估 LLMs 的性能
  • N-gram 指标
    • BLEU 分数
    • ROUGE 分数
    • METEOR 分数
  • 内在指标
    • 困惑度(PPL)
  • 基于模型的指标
    • BERTScore
    • BLEURT
    • BARTScore
  • UniEval:Elastic 的 RAG 评估选择
    • UniEval 的实际使用
  • 结论
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档