Benchmarking large language models in retrieval-augmented generation
Proceedings of the AAAI Conference 2024 on Artificial Intelligence
动机:现有研究缺乏对检索增强生成对不同大型语言模型的影响的严格评估,这使得确定 RAG 对不同 LLM 的潜在能力瓶颈具有挑战性。
文章对LLM在RAG所需的能力定义为四种:抗噪性、负面拒绝、信息整合和反事实鲁棒性
建立了基于检索的生成基准 (RGB),一个用于英语和中文 RAG 评估的新语料库。 RGB 将基准内的实例划分为 4 个独立的测试平台,这些平台基于解决案例所需的上述基本能力。
介绍
LLM通用性强,按时容易受到下面挑战的困扰:事实性幻觉、知识过时以及缺乏领域特定专业知识。RAG方案有助于缓解这些问题。但是互联网上的内容存在大量噪声信息甚至是假新闻,而且LLM自身也存在生成结果不可靠的挑战。
LLM 可能会被上下文中包含的错误信息误导,在生成过程中也会出现幻觉,导致生成超出外部信息的内容。
这些挑战导致 LLM 无法持续生成可靠和准确的响应。但是缺乏对这些因素如何影响 RAG 以及每个模型如何克服这些缺陷并通过信息检索提高性能的全面理解。 因此,迫切需要对 LLM 在有效利用检索信息的能力以及抵御信息检索中存在的各种缺陷的能力进行全面评估。
为此,本文对当前 LLM 的 RAG 进行全面评估:创建了一个新的检索增强生成基准,即 RGB,涵盖英语和汉语。 为了确保 LLM 的内部知识不会引入偏差到评估结果中,RGB 选择聚合最新的新闻信息并根据新闻信息构建查询。 然后,基于这些查询,使用 Search API 获取相关文档,并从内容中选择最相关的片段作为外部检索文档。 最后,基于查询和文档集对的不同组合,扩展语料库并将其划分为 4 个测试集,以评估 LLM 的以下基本能力,这些能力基于 RAG 中的常见挑战
- 噪声鲁棒性,这意味着 LLM 可以从噪声文档中提取有用信息。 在本文将噪声文档定义为与问题相关但不包含任何答案信息的文档。 例如,与问题"谁获得了 2022 年诺贝尔文学奖"相关的噪声文档包括关于 2021 年诺贝尔文学奖的报道。 为此,噪声鲁棒性测试集包含外部文档包含一定数量的噪声文档的实例,这些噪声文档基于所需的噪声率。
- 否定拒绝,这意味着当检索到的文档中不存在所需知识时,LLM 应该拒绝回答问题。 否定拒绝测试集包含外部文档仅包含噪声文档的实例。 预计 LLM 会表明"信息不足"或其他拒绝信号。
- 信息整合,评估 LLM 是否可以回答需要整合多个文档信息才能回答的复杂问题。 例如对于问题"ChatGPT 的 iOS 应用和 ChatGPT API 是何时发布的?",LLM 预计会提供 ChatGPT iOS 应用和 ChatGPT API 的发布日期信息。 信息整合测试集包含仅使用多个文档才能回答的实例。
- 反事实鲁棒性,评估 LLM 在通过指令被告知检索信息中潜在风险的情况下,是否能够识别检索到的文档中已知事实错误的风险。 反事实鲁棒性测试集包括可以使用 LLM 直接回答的实例,但外部文档包含事实错误。

基准构建
评估目标
关注 4 种特定能力:
噪声鲁棒性 是 LLM 在噪声文档中的鲁棒性。 由于检索器并不完美,它们检索的外部知识通常包含大量的噪声,即与问题相关但没有包含关于答案的信息的文档。 为了有效地回答用户问题,LLM 必须能够从文档中提取必要的信息,即使存在噪声文档。
负面拒绝 是衡量 LLM 在检索到的所有上下文都没有提供有效信息时是否可以拒绝回答问题的指标。 在现实情况下,搜索引擎通常无法检索到包含答案的文档。 在这些情况下,模型必须具备拒绝识别并避免生成误导性内容的能力。
信息整合 是从多个文档中整合答案的能力。 在许多情况下,问题的答案可能包含在多个文档中。 例如,对于问题 "谁是 2022 年美国公开赛男单和女单的冠军?",两位冠军可能在不同的文档中被提及。 为了更好地回答复杂问题,LLM 需要具备整合信息的能力。
反事实鲁棒性 指的是处理外部知识错误的能力。 在现实世界中,互联网上充斥着虚假信息。 请注意,我们只评估 LLM 通过指令被告知检索到的信息中潜在风险的情况下。
在现实世界场景中,不可能获得包含所有必要外部知识的完美文档。 因此,为了衡量 LLM 的 RAG,评估模型的这四项能力至关重要。
数据构建
RGB 利用问答格式进行评估,通过判断 LLM 对问题的检索增强型响应来评估它们。
为了模拟现实世界场景使用实际新闻文章构建问答数据。考虑到LLM自身具有知识,在衡量前三种能力的时候存在潜在的偏差,因此选用的是最新的新闻文章完成构建。使用搜索引擎从互联网上检索外部文档'
问答实例生成:收集最新的新闻文章,并使用提示让 ChatGPT 为每篇文章生成事件、问题和答案。图2所示,对于一篇关于"2022 年诺贝尔奖"的报道,ChatGPT 将生成相应的事件、问题并提供关键信息来回答问题。 通过生成事件,模型能够初步筛选出不包含任何事件的新闻文章。 生成后,我们手动检查答案并过滤掉难以通过搜索引擎检索的数据

使用搜索引擎检索 。 对于每个查询使用 Google 的 API 获取 10 个相关的网页并从中提取相应的文本片段。 同时读取这些网页并将它们的文本内容使用现有的稠密检索模型[中文: https://huggingface.co/moka-ai/m3e-base; 英文: https://huggingface.co/sentence-transformers/all-mpnet-base-v2.]转换为最大长度为 300 个符元的文本块。我们选择与查询最匹配的前 30 个文本块。 这些检索到的文本块,以及搜索 API 提供的片段,将作为外部文档。 这些文档将根据它们是否包含答案,被分为正面文档和负面文档。
每个能力的测试基准构建 。 扩展语料库并将其分为 4 个测试基准,以评估上述 LLM 的基本能力。 为了评估噪声鲁棒性,根据所需的噪声比率采样不同数量的负面文档。 对于负面拒绝,所有外部文档都从负面文档中采样。 对于信息整合能力,根据上述生成的问题进一步构建数据。 这涉及扩展或改写这些问题,使它们的答案包含多个方面。 例如,问题"谁赢得了 2023 年超级碗的 MVP?"可以改写为"谁赢得了 2022 年和 2023 年超级碗的 MVP?"。 因此,回答此类问题需要利用来自多个文档的信息。 与前三种能力不同,反事实鲁棒性的数据完全基于模型的内部知识构建。 基于上述提到的生成问题,我们采用 ChatGPT 自动生成其已知知识。 具体来说,我们使用提示让模型生成已知的问答对。 例如,根据问题"谁获得了 2022 年诺贝尔生理学或医学奖?",模型会生成已知问题"谁获得了 2021 年诺贝尔文学奖?"并回答"Abdulrazak Gurnah"。 然后,我们手动验证了生成的答案,并如上所述检索相关文档。 为了使文档包含事实错误,我们手动修改答案并替换文档中的相应部分。
最后,我们在 RGB 中收集了总共 600 个基础问题,以及 200 个用于评估信息整合能力的额外问题和 200 个用于评估反事实鲁棒性能力的额外问题。 实例中有一半是英文,另一半是中文。
评估指标
此基准的重点是评估 LLM 是否能够利用提供的外部文档来获取知识并生成合理的答案。 我们评估 LLM 的响应以衡量其上述四种能力。
准确率 用于衡量噪声鲁棒性和信息整合。 我们采用精确匹配方法,如果生成的文本包含与答案的完全匹配,则将其视为正确答案。
拒绝率 用于衡量负面拒绝。 当仅提供噪声文档时,LLM 应该输出特定内容 - "由于文档中信息不足,我无法回答这个问题。"(我们使用指令来告知模型)。 如果模型生成此内容,则表示成功拒绝。
错误检测率 衡量模型是否能够检测文档中的事实错误以实现反事实鲁棒性。 当提供的文档包含事实错误时,模型应该输出特定内容 - "提供的文档中存在事实错误。"(我们使用指令来告知模型)。 如果模型生成此内容,则表示模型已检测到文档中的错误信息。
错误修正率 衡量模型是否能够在识别错误后提供正确答案以实现反事实鲁棒性。 模型被要求在识别事实错误后生成正确答案。 如果模型生成正确答案,则表示模型能够纠正文档中的错误。
考虑到模型可能无法完全遵循指令,为了评估拒绝率和错误检测率,我们也使用 ChatGPT 对答案进行额外的评估。 具体而言,我们使用指令和示例来评估模型的响应,以确定它们是否能反映文档中不存在的信息或识别任何事实性错误。
实验
设置
由于上下文限制,我们为每个问题提供 5 个外部文档。 在我们关于噪声鲁棒性的实验中,我们评估了噪声比率从 0 到 0.8 的场景。 为了全面评估整体能力,我们为每种语言采用了统一的指令,如图3

ChatGPT、 ChatGLM-6B、 ChatGLM2-6B、 Vicuna-7b-v1.3、 Qwen-7B-Chat、 BELLE-7B-2M
噪声鲁棒性结果
(1) RAG 可以有效地提高 LLM 的响应。 即使在存在噪声的情况下,LLM 也表现出强大的性能,这表明 RAG 是 LLM 生成准确可靠响应的一种很有前景的方法。
(2) 噪声率的增加对 LLM 中的 RAG 构成了挑战。 具体而言,当噪声率超过 80% 时,准确率在 0.05 的显著性水平下显著下降。 例如,ChatGPT 的性能从 96.33% 下降到 76.00%,而 ChatGLM2-6B 的性能从 91.33% 下降到 57.33%。
错误分析
为了更好地理解噪声对模型生成的负面影响,我们检查了错误答案,发现这些错误通常源于三个原因

(1) 长距离信息。 当与问题相关的信息与与答案相关的信息相距甚远时,LLM 往往难以从外部文档中识别出正确答案。 这种情况在互联网上经常遇到更长的文本时非常常见。 在这种情况下,问题的信息通常在文档开头呈现,然后使用代词进行引用。 在表2中,问题信息("卡塔尔公开赛 2022")只在开头提到一次,并且距离答案文本"Anett Kontaveit"出现的地方很远。 这种情况可能会导致 LLM 依赖于来自其他文档的信息,并产生幻觉。
(2) 证据不确定性。 在备受期待的事件(如新苹果产品的发布或奥斯卡颁奖典礼的宣布)之前,互联网上通常会流传大量推测性信息。 尽管相关文档明确指出这是不确定或推测性内容,但它们仍然会影响 LLM 的检索增强生成。 在表2中,当噪声比率增加时,错误文档的内容都是关于一些人对耳机名称的预测("Apple Reality Pro")。 即使相关文档中存在正确答案("Vision Pro"),LLM仍然可能被不确定的证据误导。
(3) 概念混淆。 外部文档中的概念可能与问题中的概念相似,但不同。 这会导致大型语言模型混淆,并使大型语言模型生成不正确的答案。 在表2中,模型答案侧重于文档中的"汽车收入"概念,而不是问题中的"收入"。
基于上述分析,我们发现大型语言模型在检索增强生成方面存在一些局限性。 为了有效地处理互联网上大量存在的噪声,模型需要进一步的详细改进,例如长文档建模和精确的概念理解。
负面拒绝测试平台的结果

评估了仅提供噪声文档时的拒绝率。
除了通过精确匹配评估拒绝率(表3中的 Rej)之外,我们还使用 ChatGPT 来确定大型语言模型的响应中是否包含任何拒绝信息(表3中的 Rej*)。 我们可以看到: 负面拒绝对大型语言模型中的检索增强生成提出了挑战。 大型语言模型在英语和中文中的最高拒绝率分别只有 45% 和 43.33%。 这表明LLM很容易被噪声文档误导,从而导致错误的答案。
此外,通过比较 Rej 和 Rej*,我们发现 LLM 无法严格遵循指令,并且它们经常生成不可预测的响应,这使得将它们用作状态触发器(例如用于识别拒绝)变得困难。

案例研究。 第一个错误是由于 证据不确定性 造成的。 尽管文档只提到了与"亚当·麦凯"的联系,并没有明确说明他是电影的导演,但模型仍然得出结论,认为他担任此角色。 第二个错误是由于 概念混淆 造成的。 答案中提供的信息与问题中提到的"2022 年奥运会"无关,而是与"2018 年冬奥会"有关。 与直接回答相比,检索增强生成对负面拒绝的挑战更大,因为它会提供可能误导 LLM 并导致错误响应的相关文档。 在未来的发展中,LLM 必须增强其准确匹配问题与适当文档的能力至关重要。
信息集成测试平台的结果

根据外部文档中不同的噪声比率评估了准确性
结果如表5所示。 当将该模型与表1进行比较时,我们观察到它具有较弱的信息整合能力,这反过来影响了它的噪声鲁棒性。 我们能看到:
(1) 信息整合对 LLM 中的 RAG 构成挑战。 即使没有噪声,LLM 的最高准确率也分别只能达到英语的 60% 和中文的 67%。 添加噪声后,最高准确率下降到 43% 和 55%。 这些结果表明,LLM 难以有效地整合信息,并且不适合直接回答复杂问题。
(2) 对于带有噪声文档的 RAG 来说,复杂问题更具挑战性。 当噪声比率为 0.4 时,性能下降变得显著,但对于简单问题,显著下降仅在噪声比率为 0.8 时出现,显著性水平为 0.05。 这表明复杂问题更容易受到噪声的干扰。 我们推测这是因为解决复杂问题需要整合来自多个文档的信息,而这些信息可以被视为彼此的噪声,使得模型更难从文档中提取相关信息。
错误分析

对ChatGLM2-6B(噪声率为0)进行了错误分析。 除了在噪声鲁棒性实验中发现的类似错误(占总数的38%)之外,还有三种独特的错误类型。
(1) 合并错误(占总数的28%)。 模型有时会合并两个子问题的答案,从而导致错误。 它错误地将来自一个问题的答案用于解决两个问题。 在这一点上,模型将忽略与一个子问题相关的任何文档。 例如,在表6中,它错误地指出,D组是法国和德国的世界杯小组,而实际上德国被分配到了E组。
(2) 忽略错误(占总数的28%)。 有时模型可能会忽略一个子问题,而只回答另一个子问题。 当模型缺乏对问题的完整理解,无法识别它包含多个子问题时,就会发生这种错误。 因此,模型只考虑与一个子问题相关的文档来生成答案,而忽略了另一个子问题提出的问题。 例如,在表6中,模型只提供了2022年超级碗MVP的答案,而没有考虑2023年。
(3) 未对齐错误(占总数的6%)。 有时,模型会错误地将一个子问题的文档识别为另一个子问题的文档,导致答案不匹配。 例如,在表6中,第三个答案有两个错误:忽略错误和错位错误。 首先,模型只提到了 2023 年(第 95 届)奥斯卡最佳影片,完全忽略了 2022 年的奖项。 此外,它错误地指出"CODA"是 2023 年的最佳影片,而实际上它是在 2022 年获得最佳影片奖的。
上述错误主要是由对复杂问题的理解有限造成的,这阻碍了有效利用不同子问题信息的的能力。 关键在于提高模型的推理能力。 一种可能的解决方案是使用思维链方法来分解复杂问题。 但是,这些方法会降低推理速度,无法提供及时响应。
反事实鲁棒性测试平台的结果

为了确保 LLM 拥有相关知识,我们通过直接向它们提问来评估其性能。 然而,我们发现大多数 LLM 难以正确回答这些问题。 为了确保更合理的评估,我们只考虑准确率超过 70% 的 LLM,因为这个阈值相对较高,涵盖了更多 LLM。 结果如表7所示。 我们展示了以下指标:没有文档时的准确率,有反事实文档时的准确率,错误检测率和错误校正率。 我们发现,LLM 很难识别和纠正文档中的事实性错误。 这表明模型很容易被包含错误事实的文档误导。
需要注意的是,检索增强型生成并非旨在自动解决给定语境中的事实性错误,因为这与模型缺乏知识并依赖检索到的文档获取更多信息的潜在假设相矛盾。 然而,由于互联网上充斥着虚假新闻,这个问题在实际应用中至关重要。 现有的 LLM 没有保障机制来处理由错误信息导致的不准确响应。 事实上,它们严重依赖于检索到的信息。 即使 LLM 包含关于问题的内部知识,它们也经常信任检索到的错误信息。 这对 LLM 中 RAG 的未来发展提出了重大挑战。
结论
在本文中,我们评估了 LLM 中检索增强型生成的四种能力:噪声鲁棒性、负面拒绝、信息整合和反事实鲁棒性。 为了进行评估,我们构建了检索增强型生成基准 (RGB)。 RGB 的实例来自最新的新闻文章和从搜索引擎获得的外部文档。 实验结果表明,当前的大型语言模型 (LLM) 在这四种能力方面存在局限性。 这表明,将 RAG 有效地应用于大型语言模型 (LLM) 仍然需要大量的研究工作。 为了确保大型语言模型 (LLM) 能够给出准确可靠的响应,谨慎行事并仔细设计 RAG 至关重要。