【LLM】CRAG - 综合性RAG基准测试
一、结论写在前面
论文来自Meta Reality Labs、FAR、Meta、HKUST、HKUST (GZ)
论文标题:CRAG -- Comprehensive RAG Benchmark
论文链接:https://arxiv.org/pdf/2406.04744
检索增强生成(Retrieval-Augmented Generation ,RAG)最近作为一种有前景的解决方案出现,以缓解大型语言模型(LLM)在知识缺乏方面的不足。然而,现有的RAG数据集并未充分代表真实世界问答(QA)任务的多样性和动态性。
为了弥合这一差距,论文引入了综合性RAG基准测试(CRAG),这是一个包含4,409个问答对的事实问答基准,并模拟了网络和知识图谱(KG)搜索的API。这包括每个问题最多可从现实世界的搜索引擎——Brave Search API [4]返回的50个完整HTML页面,以及包含260万个实体的模拟知识图谱(KGs)。对于模拟的KGs,论文设置了详细的实体和关系以模拟真实情况。
CRAG包含来自五个领域(金融、体育、音乐、电影和开放领域)的4,409个问答对。除了简单事实问题(询问实体的属性),CRAG还包含七种类型的复杂问题,以涵盖真实的用户查询:带有条件的问题、比较问题、聚合问题、多跳问题、集合查询、后处理繁重的问题和错误前提问题。CRAG反映了从流行到长尾的实体多样性和从秒到年的时间跨度,便于深入洞察。在论文生成问题时,论文参考了智能助手的用例,确保问题现实,通过改写问题增加表达的多样性,并手动验证事实真相以确保可靠性。
论文对这一基准的评估突显了完全可信赖的QA之间的差距。尽管大多数先进的LLMs在CRAG上的准确率低于34%,但简单地加入RAG仅将准确率提升至44%。业界最先进的RAG解决方案在不产生任何幻觉的情况下仅能回答63%的问题。CRAG还揭示了在回答涉及更高动态性、较低流行度或更高复杂度事实的问题时准确率显著降低,这为未来的研究方向提供了建议。CRAG基准为2024年KDD Cup挑战赛奠定了基础,吸引了数千名参赛者并在比赛的前50天内提交了作品。
二、论文的简单介绍
2.1 论文的背景
检索增强生成(Retrieval-Augmented Generation,RAG)最近被视为缓解大型语言模型缺乏知识这一缺陷的有前景解决方案,吸引了来自学术界和工业界的大量关注。给定一个问题,RAG系统会搜索外部资源以检索相关信息,然后提供有根据的答复。尽管具有潜力,RAG仍然面临诸多挑战,例如选择最相关的信息、减少问答延迟以及综合信息来回答复杂问题。
图1:使用LLMs进行QA(a)无RAG与(b)有RAG的对比
目前,为了推动这一领域的持续研究,一个全面的基准尚未建立。传统的QA基准,如Natural Questions 、TriviaQA和MS MARCO,在过去十年中推动了QA的发展,但并未充分代表RAG面临的多样化和动态挑战。专注于LLM或RAG的新基准,如FreshQA 和RGB ,通常针对LLM的某些能力,并且只包含几百个查询。论文工作的目标是建立一个全面的基准,以推动该领域的发展。
表1:CRAG与现有事实问答基准的比较
论文的第三个贡献是对直接的RAG解决方案和行业内最先进的RAG解决方案进行了全面的评估(第5节)。尽管大多数先进的LLMs在CRAG上达到34%的准确率,但以直接方式添加RAG仅将准确率提升至44%。行业内最先进的RAG解决方案在回答问题时仅有63%的准确率,且在处理动态性更高、流行度更低或复杂度更高的事实相关问题时,准确率仍然较低。这些评估具有双重作用:首先,它们证明了CRAG具有适当的难度水平,并允许从基准所包含的不同维度的多样性中得出见解;其次,它们突出了实现完全可信赖的QA系统的差距和研究方向。
CRAG基准为KD Cup 2024挑战奠定了基础,吸引了数千名参与者并在比赛的前50天内提交了大量作品。论文承诺将持续维护CRAG,以服务于研究社区,推动RAG解决方案和通用QA解决方案的发展。
与现有基准的比较。表1将CRAG与现有的事实问答基准进行了比较,展示了CRAG基准的几个优势:全面覆盖、真实测试与模拟API、动态问题处理、多样的事实流行度以及广泛超越维基百科。
这些特点使得CRAG成为一个强大且多功能的基准,用于测试RAG系统和广泛的QA系统,为评估这些系统如何处理现实世界、动态和多样化的信息检索与合成挑战提供了共享测试平台,以实现基于可靠LLM的问答。
2.2 问题描述
一个RAG QA系统接收一个问题Q作为输入,并输出一个答案A;答案由LLMs根据从外部来源检索的信息或直接从模型内化的知识生成。答案应提供有用的信息以回答问题,而不添加任何幻觉。
论文设计了三个任务。它们共享相同的一组(问题,答案)对,但在用于增强QA的可检索外部数据方面有所不同。在此,论文提供可在QA中利用的内容,以确保公平比较。论文将在第3节中描述数据生成的方式。
任务1:检索摘要。在任务1中,论文为每个问题提供最多五个网页。这些网页可能与问题相关,但不保证一定相关。此任务旨在测试RAG系统的答案生成能力。
任务2:知识图谱和网络检索增强。在任务2中,论文还额外提供了模拟API以访问底层模拟知识图谱中的信息。模拟知识图谱存储与问题相关的结构化数据;问题的答案可能存在于也可能不存在于模拟知识图谱中。模拟API接受输入参数,通常是从问题解析得到的,并从模拟的知识图谱中提供结构化数据以支持答案生成。此任务测试RAG系统如何有效地查询结构化数据源以及如何综合不同来源的信息。
表2:CRAG问题类型的定义
任务3:端到端RAG。与任务2类似,任务3也同时提供网络搜索结果和模拟API作为检索候选,但提供50个网页作为候选,而不是5个。更大数量的网页更可能提供回答问题所需的必要信息,但同时更可能包含噪音。因此,任务3还测试RAG系统如何对更大数量的检索结果进行排序。
2.3 数据集描述
CRAG包含两部分数据:问答对和用于检索的内容。论文现在描述每一部分的数据。
2.3.1 问答对
CRAG涵盖五个领域:金融、体育、音乐、电影和开放领域,以及八种类型的英语问题。问题类型列于表2中。论文构建的问答对既来自底层知识图谱(KGs)也来自网页内容。
来自KGs的问答对。论文通过收集一组基于公开可用数据的实体,并根据选定的实体类型和关系创建了600多个问题模板。接下来,论文按照[2l]从KGs中抽取不同流行度(头部、躯干和尾部)的实体来填充模板,并生成完整的问题和答案。
来自网页内容的问答对。论文要求标注者写下用户可能提出的问题(例如,“2023年最受欢迎的动作电影”),并从相应的网页搜索结果中创建问答对。
使用上述方法,论文收集了2,425个Web问题和1,984个KG问题,其中661个、658个和665个KG问题分别包含头部、躯干和尾部实体。表3和表4总结了问题在不同维度上的分布情况。每个维度切片的大小(例如,快速变化的事实)使论文能够在大多数情况下获得小于5%的误差范围(置信度为95%)的指标。动态分布大致反映了领域的性质(例如,金融领域的实时问题比其他领域多得多)。
表3:每个动态类别的问题数量和百分比(括号内为百分比),手动确定。金融和体育领域拥有最多的实时和快速变化的问题
表4:每个问题类型的问题数量和百分比(括号内为百分比),手动确定。简单和带有条件的问题构成所有问题的43%
2.3.2 检索内容
为了模拟RAG的实际应用场景,论文包含了两种类型的检索内容:网页搜索和知识图谱(KG)搜索。
网页搜索结果。对于每个问题,论文使用问题文本作为搜索查询,并从Brave搜索API [4] 中存储最多50个HTML页面。论文采用基于启发式的方法估算网页搜索的召回率(50个网页):首先检查50个页面中是否包含标准答案URL;如果不包含,则搜索页面摘要或内容中是否包含标准答案中的事实。估算的召回率在Web Questions中为84%,在KG Questions中为63%(见附录A.1.5中的表9),这与论文的直觉一致,即KG问题中的主体和尾部实体可能未包含在返回的50个页面中。
模拟知识图谱(Mock KGs)。论文创建了包含公开可用KG数据、随机选择的同类型实体以及具有相似名称的“硬负例”实体(例如,“phantom”对应“phantom of the opera”)的模拟KG。
模拟API。论文创建了具有预定义参数的模拟API,以支持在模拟KG中的结构化搜索。例如,对于询问股票价格的查询,一个模拟API的示例形式为get-price history(ticker)。
2.4 评价指标与评估
2.4.1评价指标
论文采用一种评分方法来评估RAG系统的性能。对于评估集中的每个问题,论文首先根据以下标准将答案标记为完美、可接受、缺失或不正确。
完美。该响应正确回答了用户的问题,并且没有包含幻觉内容。
可接受。该响应为用户的问题提供了一个有用的答案,但可能包含一些不影响答案有用性的轻微错误。
缺失。该响应为“不知道。”“对不起,找不到。”,或者是空白响应,或者是系统请求澄清原始问题。
不正确。该响应提供了错误的或与回答用户问题无关的信息。
然后,论文使用一种评分方法Score,对于完美、可接受、缺失和不正确的答案分别给予1分、0.5分、0分和-1分,其中论文惩罚幻觉答案,并更倾向于缺失答案而不是不正确的答案。对于给定的RAG系统,论文计算评估集中所有示例的平均分数作为最终分数。
2.4.2 评估
与先前的工作[26]类似,论文采用了人类评估(human-eval)和模型自动评估(auto-eval)两种方法。在前者中,论文使用人工评分来判断每个答案是完美、可接受、缺失还是不正确。在后者中,论文将完美和可接受合并,称之为准确,并使用三向评分Scorea,对于准确、不正确和缺失的答案分别给予1分、-1分和0分。
论文设计了一种两步法来自动评估:如果答案完全匹配标准答案,则视为准确;否则,使用大型语言模型(LLMs)来判断响应是准确、错误还是缺失。为避免自我偏好问题,论文采用两个LLM评估器:ChatGPT(gpt-3.5-turbo)和Llama 3(1lama-3-70B-instruct),并对每个RAG系统报告这两个模型的平均准确率、幻觉率、缺失率和得分。论文的离线实验显示,这种两步法相较于人工评估,ChatGPT的平均F1分数为94.7%,Llama 3为98.9%。
测试数据分割。论文将数据随机分为验证集、公开测试集和私有测试集,比例为30%、30%和40%,并发布了验证集和公开测试集供KDD Cup挑战使用。
2.5 基准测试
,论文将展示LLMs和RAG系统在CRAG上的性能,证明CRAG具有合理的难度水平,并能帮助在开发RAG技术时提供洞察和方向。
2.5.1 直接的RAG解决方案
实验设置:论文首先在CRAG公开测试集上运行仅LLM的解决方案,该测试集包含1,335个问题,使用简单的提示鼓励简短答案,并在信心不足时给出“我不知道”的答案。论文采用了Llama 2 Chat(llama-2-7b-chat和llama-2-70b-chat)、Llama 3 Instruct(llama-3-8B-instruct和llama-3-70B-instruct)和GPT-4 Turbo 。论文评估的仅基于网页的RAG解决方案(任务1)使用固定长度的网页上下文窗口(Llama 2 Chat为2K token,Llama 3 Instruct和GPT-4 Turbo为4Ktoken);论文按照数据中的原始顺序连接网页片段作为参考文本,直至填满窗口。
论文的基于知识图谱(KG)的解决方案(任务2、3)还额外使用固定长度的KG上下文窗口(Llama 2 Chat为1Ktoken,Llama 3 Instruct和GPT-4 Turbo为2Ktoken)以包含Mock API的结果;论文使用llama-3-8B-instruct进行上下文学习来提取相关查询实体,并连接所有适用的Mock API返回的结果(基于提取的实体),直至填满窗口。本节论文讨论Llama 3 70B Instruct和GPT-4 Turbo的结果。
表5:直接RAG解决方案的性能。所有数字均为百分比。仅LLM解决方案的准确率最高可达34%,直接RAG解决方案的准确率最高可达44%
图2展示了仅使用LLM和任务3解决方案在不同领域、动态性、流行度和问题类型下的自动评估得分(以百分比表示)
表5显示了来自两个自动评估器(ChatGPT和Llama 3)的平均评估得分,并说明CRAG基准并非易事:
•首先,最佳的LLM-only解决方案(GPT-4 Turbo)仅达到349%的准确率,得分仅为20%,显示出巨大的改进空间。
•其次,直接的RAG解决方案最高可达44%%的准确率,表明额外的信息确实有助于更可靠地回答更多问题。有趣的是,没有任何RAG解决方案的得分超过20%%;这是因为所有RAG解决方案都引入了更多由无关检索结果产生的幻觉,显示出RAG中的一个重大挑战——如何审慎地使用检索结果而不被检索噪音干扰?
•第三,论文发现任务2的得分高于任务1,表明KG知识有助于提高准确率,且幻觉率相似甚至更低,因为KG知识通常简洁而精确。遗憾的是,这种改进并不显著,显示出RAG中的第二个挑战——如何最大限度地利用KG数据的力量?最后,任务3的得分也高于任务2,这是由于更好的搜索排名(回想任务1和2提供的是从前10搜索结果中随机选择的五页)和更好的搜索召回。这表明搜索排名在RAG中的重要性。
图2展示了在领域、动态性、流行度和问题类型维度上的自动评估分数。结果揭示了许多有趣的观察,并表明CRAG基准允许更深入的结论。
•首先,它展示了基准中哪些部分更难。例如,论文发现在金融和体育领域,对于实时和快速变化的事实,对于尾部实体,以及对于需要集合答案、后处理和具有错误前提的复杂问题的RAG分数显著较低。
•其次,它显示了在哪些方面更难利用检索结果。以流行度切片为例,论文观察到GPT-4 Turbo的分数从头部(21%)下降到表6:使用行业最先进的RAG系统对CRAG问题进行基准测试。完美、可接受(Acc.)、幻觉(IHall.)、缺失(Miss.)率和分数n,以百分比表示。最佳系统达到51%的分数,并为高达63%的问题提供完美答案。
图3:SOTA系统在不同维度上的人类评估得分(百分比)
2.5.2 工业界最先进的解决方案
接下来,论文在CRAG公共测试集上评估了工业界最先进(SOTA)的RAG解决方案。论文选择了四个基于SOTA LLMs和搜索引擎构建的RAG系统,使用CRAG问题查询它们,收集了响应,并应用了手动评分。
此外,论文为问题应用了流量权重,以理解实际使用场景中的解决方案。流量权重来自一个真实的QA用例,并按如下方式生成。在每个领域内,论文首先将问题聚类到子领域(例如,当前游戏积分、体育队伍),然后从反映用户交互的聚合数据中导出子领域权重。论文将子领域权重应用于每个CRAG问题,以将结果与用户体验相对应,并在表6中报告了所有领域的宏观平均得分(即,给予所有领域相同的权重)。
表6和图3展示了SOTA系统的整体性能及其在不同维度上的表现。评估结果证实了论文的观点,即CRAG基准揭示了有趣的见解,并为现有的RAG解决方案提供了改进空间。
•首先,SOTA解决方案的得分远高于直接解决方案(最高达51%)。然而,加权幻觉率在17%至25%之间,因此答案仍不可靠。需要注意的是,SOTA解决方案与直接解决方案之间的得分不完全可比,因为它们访问检索内容的方式不同,前者使用自动评估,而后者使用人工评估;但趋势是有效的。
•其次,在直接解决方案中观察到的多数难点对于SOTA解决方案仍然具有挑战性:实时快速变化的查询,以及涉及躯干和实体的问题,表明系统在依赖检索结果回答问题时处理检索噪声方面需要改进;另一个例子是,对于需要多跳推理或后处理的查询,得分较低,显示了问答中推理能力的提升空间
•第三,第三SOTA系统的加权准确率(完美+可接受)略高于第二系统(73%和70%),但幻觉率显著更高(25.19%和16.6%),表明构建RAG系统时,在无法找到确信答案的情况下明智地回答“我不知道”的必要性。
•最后,在集合和错误前提问题上的得分,SOTA解决方案相比直接解决方案有了显著提升,展示了RAG系统在提供准确完整集合答案和检测错误前提方面的进步。
最后,论文观察到非常不同的延迟,范围从2.5秒到11.6秒,这反映了在延迟和质量之间权衡的不同设计选择。需要注意的是,延迟结果来自于与Perplexity.ai的API以及与其他系统的网页界面的交互。
本文转载自 AI帝国,作者: 无影寺