https://arxiv.org/pdf/2408.08067

介绍

RAGCHECKER,一个细粒度的评价框架,它采用了一套诊断指标的retriver和genertaor模块。Meta评价结果表明,RAGCHECKER与人类判断的相关性显著优于其他评价指标。使用RAGARKER,我们评估了8个RAG系统,并对其性能进行了深入分析,揭示了RAG架构设计选择中的深刻模式和权衡。RAGARKER的指标可以指导研究人员和从业人员开发更有效的RAG系统



RAGWARKER基于claim-level蕴涵检查,其涉及从响应和地面事实答案中提取声明并将其与其他文本进行检查的操作。这种方法支持细粒度的评估,而不是响应级别的评估。RAGCHECKER处理用户查询、检索到的上下文、响应和真实答案,产生一套指标:

  1. 整体性能评估:提供系统性能的整体视图,评估生成的响应的整体质量。

  2. Diagnostic Retriever Metrics: 评价Retriever 的有效性,确定其在从知识库中查找相关信息方面的优势和劣势。

  3. Diagnostic Generator Metrics: 用于评估Generator的性能,诊断Generator如何利用检索到的上下文,处理噪声信息,并生成准确和忠实的响应。



本文的三个贡献:

  1. 提出了RAGCHECKER,一种新的RAG评估框架,提供了细粒度的评价Retriever和Generator组件,引入新的诊断指标,提供可操作的见解的错误来源。 (提出了框架)

  2. 进行Meta评估,并验证ragchecker与人类判断的相关性明显优于其他评估指标。(在meta评估上,说它的评估标准更优)

  3. 在10个领域的策划基准上对8个RAG系统进行了广泛的实验评估,并发现了有价值的见解,例如检索改进和噪声引入之间的权衡,以及忠实的开源模型对上下文的盲目信任的趋势。(利用ragchecker进行了广泛测试,能够得到有用的信息)



现有rag评估的方法与局限性:

现有的RAG系统的评估实践可以分为两种主要方法:评估Generator的基本能力和评估RAG系统的端到端性能。

但是仅Generator的评估方法与手动构造的数据集不能作为一个通用的RAG评估框架,以揭示生成结果和不同的检索行为之间的纠缠。

工作中使用的评估指标要么依赖于人工评估,要么依赖于简单的文本准确性,这使得它们无法用于需要长时间答案评估的复杂RAG场景。



设计准则:

设计原则鉴于RAG的组成性质,我们观察到有两个主要的人物角色使用RAG评估框架。

第一个角色是关心RAG的整体性能并可能选择具有最佳性能的系统的用户。这样的角色更喜欢一个单一的价值指标,以比较和排名RAG系统对基准。

第二个角色是一个开发人员,专注于改进RAG系统,需要识别错误的原因和潜在的改进空间。

响应错误的原因可以分为:1)检索错误,检索器未能返回完整和相关的上下文,以及2)生成器错误,生成器努力从上下文中识别和利用相关信息。



因此,揭示错误原因的指标应该与整体性能的指标不同,因为错误原因是特定于模块的,甚至只反映在模块的特定行为中。为了帮助这两个人物角色来评估RAG性能,我们设计了ragchecker,RAG系统的评估框架,包括一个基准与丰富的注释和一组不同用途的细粒度指标。



评价指标

如图1所示,RAG系统生成的响应可能是正确声明(⭕️)和不正确声明(❌)的混合,同时还缺少一些真实的声明(▶)。从这个意义上说,以更细的粒度评估回答对于全面评估答案的质量至关重要。

为此,我们引入两个组件:1)文本到声明提取器,其将给定文本T分解成一组声明{ci},以及2)声明蕴涵检查器,其确定给定声明c是否蕴涵(∈)在参考文本Ref中。

对于一个RAG用户,我们设计指标来比较RAG系统之间的性能,包括一个单值F1分数作为一个整体的指标。

对于一个RAG开发人员,另一方面,我们提出了两套模块化的指标Retriever和Generator,其目的是分解系统和诊断错误的来源。



overall metrics

首先从模型响应m中提取声明

地面真实答案gt中提取声明

并将gt答案中的声明更正为

可以直接计算两个指标:精确度是所有响应声明中正确声明的比例,召回率是所有地面真理答案声明中正确声明的比例。



精确度和召回率的调和平均值给出了F1分数,作为整体性能指标。(the harmonic average of precision and recall gives the F1 score, as the overall performance metric.



Retriever Metrics

理想情况下,一个完美的检索器会精确地返回生成地面实况答案所需的所有声明。

在完整性方面,我们可以测量检索到的组块(chunks)中包含了多少真实答案中的声明。以检索到的组块作为参考文本,我们计算claim召回率

不同的是,我们在块级而不是在声明级定义检索器精度。如果一个检索到的块其中包含任何基础真理声明的话,被称为相关块(r-chunk)。

其余检索到的块被称为无关块(irr-chunk)

检索器的上下文精度定义为

其中k是所有检索到的块的数目。



Generator Metrics

给定k个检索到的块(可能混合了相关和不相关的信息),完美的generator将识别并包含所有与地面事实相关的声明,并忽略任何不相关的声明。

由于生成器的结果依赖于检索到的块,我们提供了总共六个指标表征其性能的不同方面。

幻觉、上下文利用率、自我知识、忠实性(faithfulness)、相关块的噪音敏感、不相关块的噪音敏感



  • 忠实性:给定模型响应m及其声明claim,我们首先计算检索到的块中包含的claim的比例。这个指标是忠实性,因为它描述了生成器对所提供的上下文的忠实程度,因此越高越好。



三种类型的不正确的响应声明:

  • 相关块的噪音敏感: 相关块中有错误声明,则表明生成器对与有用信息耦合的噪声敏感。这类claim占所有{c(m)i }的比例是相关的噪声敏感度。

  • 不相关块的噪音敏感 不相关块中包含的错误声明,则表明即使在不相关的上下文中,生成器也对噪声敏感。这些不正确声明的比例与噪声敏感性无关

  • 幻觉: 包括不正确的声明这些声明不包含在任何检索到的块中,这意味着所有这些声明都是由生成器本身生成的。它的比例是幻觉。



  • 自我知识:一个不被任何chunk包含的正确claim只能基于生成者的自我知识,因此这些声明的比例反映了有多少正确声明是自己生成的。较低的自我知识得分是更好的,当生成器被期望完全依赖于检索上下文仅在RAG系统

  • 上下文利用率另一方面,我们还检查生成器使用了多少检索到的相关信息检索到的相关信息是通过检索到的块中包含的地面实况答案声明的数量来衡量的,而被生成器使用的证据则通过模型响应中的蕴涵来反映。



Experiments

Baseline RAG Systems

8个RAG系统是2个retrievers和4个generators的组合。

对于检索器,我们选择BM 25,一个代表性的经典稀疏检索框架,和E5-Mistral,SOTA开源密集检索器。

我们的四个generators是GPT-4,Mixtral 8x 7 B,Llama 3 -8B和Llama 3 - 70 B,涵盖各种大小的开源和专有LLM。

我们使用Llama 3 - 70 B作为claim提取器和检查器模型,这些模型由开源框架Refrigerker 5实现。作为其在Refrigerator的幻觉检测基准上的性能验证,该设置优于Refrigerator论文中报告的最佳纯开源组合。

Benchmark Datasets

为了进行全面的评估,我们策划了一个包含10个域的4,162个查询的基准。这个基准是从开放领域问题回答的公共数据集重新设计的,跨越了维基百科,人工智能科学,小说,生物医学,金融,生活方式,娱乐,科学,技术和写作领域。我们将简短的答案转换为数据集中的长格式答案,以与当前基于LLM的RAG系统保持一致。



Meta Evaluation

首先进行Meta评估,以验证RAGALKER的合理性,并与现有的基线RAG评估框架进行比较。

基线RAG评估框架我们在Meta评估中包括来自Trulens [6],RAGAS [5],战神[35]和CRUD-RAG [25]的总共10个指标,因为它们能够评估具有长答案的端到端性能。选择用于比较的磁盘沿着及其说明汇总在选项卡中。附录C第四。为了确保公平比较,我们在适用时使用Llama 3 - 70 B-Instruct作为LLM主干。由于Llama 3家族中的模型不提供嵌入模型,因此需要嵌入功能的基线指标仍然使用其相应的默认LLM主干。除了表中详述的10个指标外,我们还结合了BLEU [31],ROUGE-L [20]和BERTScore [56]来评估生成的响应与地面真实答案之间的相关性。

Meta评估数据集

所有基线指标在一定程度上都设计有不同的方面和功能,因此无法对指标评分进行精确比较。然而,我们认为,一个好的度量应该反映相对人类偏好不同的RAG系统。本着这种精神,我们构建了Meta评估数据集与采样实例从8基线RAG系统中介绍的第二节生成的响应。每个Meta评估实例是来自给定相同查询的两个基线RAG系统的一对响应。通过考虑10个领域和28个基线对的所有组合,我们最终得到了280个成对人类偏好标记的实例。

对于每个实例,注释者根据正确性、完整性和总体评估来比较一对响应。对于每个方面,注释者将他们的偏好作为五个相对选择中的一个来衡量,包括显著更好,略好,平局,略差和显著更差。对于质量控制,每个实例由两个注释器进行注释,并测量它们的总体一致性和相关性。最后,我们构建了一个包含280个实例的Meta评估数据集,每个实例由两个注释者根据他们在正确性、完整性和总体评估方面的偏好进行标记。

Meta Evaluation Process and Results

基于Meta评估数据集,我们执行以下评估过程。由于人类偏好标签可以被看作是响应对的得分差

使用基线RAG评估模型E,我们计算归一化得分差为

其中f是线性归一化函数。

我们的Meta评估是hi和ei之间的相关性,总共280个实例,以及两个注释者的hi和h′ i之间的相关性作为上限。

此外,我们进一步计算人类的协议率为满足abs(hi − h′ i)≤ 1的实例的比例,结果是90.95%。

(实验结果说明,它的评估结果更贴近于人类)



Main Result

10个数据集内不同RAG系统的平均评价结果。RAG系统的总体性能使用精度(Prec.)进行量化,召回(Rec.),和F1分数。检索器组件基于声明召回率(CR)和上下文精确度(CP)来评估,而生成器组件通过上下文利用率(CU)、相关噪声敏感度(NS(I))、无关噪声敏感度(NS(II))、幻觉(Hallu.)自知之明(SK)和忠诚(Faith.)。此外,还提供了每个RAG系统的响应声明的平均数量。



在Tab中展示了8个RAG系统在10个不同领域数据集上的平均评估结果。3.所有数据集的其他结果见附录E。在我们的实验中表现出最好性能的RAG系统是E5-Mistral_GPT-4,这是由于E5-Mistral的强大检索能力加上GPT-4的熟练理解能力。