微信扫码
与创始人交个朋友
我要投稿
前些天看到的两篇论文,论文标题为:
本篇论文探讨了RAG系统中的检索对系统性能的影响。与传统的大型语言模型相比,RAG系统通过引入外部数据提高了其生成能力。然而,大多数关于RAG系统的研究主要集中在语言模型的生成方面,而忽略了IR的作用。通过对各种元素进行评估,如文档的相关性、位置和数量等,发现包含不相关文档可以意外地提高准确性超过30%。
本文旨在分析信息检索组件对Retrieval-Augmented Generation (RAG)系统的影响,探究文献检索的关键特征,以及检索到的文献应该具备哪些特点,从而提高RAG系统的生成能力。
论文提出了以下研究问题:“构建问题所需的检索器的基本特征是什么?当前的检索器是理想的吗?”。
论文关注检索器可以获取的三种主要文档类型:直接相关、间接相关和不相关(relevant, related, and irrelevant)。
直接相关(Relevant)文档包含与查询直接相关的信息,提供直接回答或查询的黄金标准数据(gold-standard data)。
间接相关文档(Related documents)虽然不能直接回答查询,但与主题在语义或上下文上存在联系。例如,如果有人询问拿破仑马的颜色,有个文档表达了拿破仑妻子马的颜色,虽然不包含正确的信息,但会高度相关。
不相关(irrelevant)的文档与查询无关,代表了检索过程中的一种信息噪声。
研究中,作者根据文档与查询的相关性和关系,将文档分类为四种不同类型,每个类型由一个唯一的符号表示: 黄金文档( Gold Document):指的是NQ数据集中的原始上下文,具体是包含答案且与给定查询相关的一个维基百科页面的段落。
直接相关文档(Relevant Document):相关文档与黄金文档类似,包含正确答案且在回答查询方面提供有用的上下文,提供了正确且与查询相关的额外信息来源。值得注意的是,黄金文档是一个相关文档。
间接相关文档:相关文档与查询在语义上相似,但不包含正确答案。它们在评估生成器区分相关和不相关信息的能力方面发挥着关键作用。
不相关文档:不相关文档与查询无关,也不包含答案。它们在评估模型处理完全不相关信息的能力方面发挥着关键作用,论文实验中从语料库中随机采样这些文档。
自然问题(Natural Questions,NQ)数据集是一个来自谷歌搜索数据的大规模真实世界查询集合。数据集中的每个条目都包含一个用户查询和包含答案的相应维基百科页面。该数据集旨在促进自然语言理解和开放域问答研究,为真实世界的问题和相关上下文的答案提供了丰富的来源。NQ-open数据集是NQ数据集的一个子集,其区别在于去除了将答案链接到特定维基百科段落的限制,从而模拟了类似网络搜索的更一般的信息检索方案。
为了缓解时间不匹配问题,论文将原始NQ数据集中的黄金文档集成到维基百科文档集中,最终数据集包括21035236个文档,训练集中有72209个查询,测试集中有2889个查询。
研究中,作者根据文档与查询的相关性和关系,将文档分类为四种不同类型,每个类型由一个唯一的符号表示:
黄金文档( Gold Document):指的是NQ数据集中的原始上下文,具体是包含答案且与给定查询相关的一个维基百科页面的段落。
直接相关文档(Relevant Document):相关文档与黄金文档类似,包含正确答案且在回答查询方面提供有用的上下文,提供了正确且与查询相关的额外信息来源。值得注意的是,黄金文档是一个相关文档。
间接相关文档:相关文档与查询在语义上相似,但不包含正确答案。它们在评估生成器区分相关和不相关信息的能力方面发挥着关键作用。
不相关文档:不相关文档与查询无关,也不包含答案。它们在评估模型处理完全不相关信息的能力方面发挥着关键作用,论文实验中从语料库中随机采样这些文档。
主要研究内容
使用两步法,与典型的RAG设置一致。
在接收到查询后,检索器根据给定的相似度测度从语料库中选择前k个文档。这些文档与任务指令和查询一起构成了LLM生成响应的输入。NQopen数据集的结构仅包括答案包含不超过5个标记的查询。因此,LLM的任务是从提供的文档中提取一个响应,限制为最多5个标记。
提示的模板如图1所示,以斜体表示的任务指令开始。其次是上下文,包括所选文档。查询接下来是文档的安排。虽然上下文的组成将根据单个实验而变化,但指令将始终放在提示的开头,查询始终放在末尾。
NQ-open数据集允许每个查询有一系列潜在的答案。通常,这些答案是相同概念的不同变体(例如,“D. Roosevelt总统”或“Roosevelt总统”),但在某些情况下,一个查询可能会有多个不同的正确答案。为了评估LLMs生成的响应的准确性,论文采用:检查LLMs生成的响应中是否包含预定义的至少一个正确答案,根据答案是否存在以二进制方式测量LLMs的响应的正确性。
一个主要问题在于确定响应的正确性,特别是在涉及日期表示或传达相同含义的不同短语的情况下。例如,如果LLMs对查询生成“Roosevelt”的响应,而已确定的正确答案是“Roosevelt总统”,则根据论文当前的评估模式,响应将被视为不正确。
相关但不包含答案文档设置为由检索器分配了较高的分数,但不包含答案的文档。下表是LLM在使用由黄金文档和不同数量相关但不包含答案的文档组成的提示进行评估时的结果。“Far”,"Mid","Near"分别代表将黄金文档放置在不同的位置,第一行“0”代表没有添加相关但不包含答案的文档,往后依次增加相关文档数量。“-”代表输入超出LLM所支持的输入长度。
从上表中可以看出,在检索增强生成系统中,与查询语义上相关但不包含正确答案的文档对系统性能有负面影响。当在上下文中仅添加一个相关文档时,准确率可能会下降高达25%。我们普遍认为相关文档通常比无关文档更可接受,这一发现挑战了传统信息检索系统的常识。
下图是添加相关但不包含答案文档后导致输出错误的例子,黄色代表金标准文档与正确答案,很明显,那些相关但不包含答案文档误导了LLM,导致准确率下降。
除此之外,作者还展示了模型分别对相关但不包含答案文档和黄金文档的注意力分数,如下图所示,模型过分关注一个相关但不包含答案文档(最左边)而忽视黄金文档(最右边),可能导致错误的响应
为了评估RAG系统对噪声的鲁棒性,为黄金文档中添加了一定数量的从语料库中随机挑选的文档作为不相关文档也就是噪声。实验结果如下表所示:在无关文档的设置中,某些模型即使在噪声较多的情况下也能保持或提高性能。
实验进一步探讨了黄金文档(即包含正确答案的文档)在上下文中的位置对模型性能的影响。“Far”,"Mid","Near"分别代表将黄金文档放置在不同的位置,。上述两个大表中都可以看到。
实验结果表明,黄金文档的位置对RAG系统的性能有显著影响。
在添加相关但不包含答案文档的设置中,当黄金文档靠近查询语句时,模型的准确度最高。相反,当黄金文档位于上下文中间或远离查询语句时,模型的准确度降低。在无关文档的设置中,某些模型即使在噪声较多的情况下也能保持或提高性能。
这些发现强调了在RAG系统中,检索器需要精心设计以确保黄金文档的最佳位置,以提高整体系统的准确度。
以上实验都是在检索到标准答案的假设下进行的,但在实际场景中,并不可能每次都能检索到包含答案的文档。作者设置了一个更现实的场景。给定一个查询,检索一组文档,它们可以是相关的,也可能是相关但不包含答案的。向这组检索到的文档中添加无关文档,如下表所示,行表示添加的不相关文档数量 ,列表示检索到的文档数量。实验结果表示,添加无关文档几乎总是有益的,可以提高准确度。此外,使用稀疏检索器(如BM25)进行实验时,准确度平均提高了3-4个百分点。
这些结果表明,在检索器的设计中,需要找到相关文档和无关文档之间的最佳平衡点。
以上的实验表明,添加无关文档能够提高性能。但有人可能会认为这些文档并不是真正无关的,因为它们是来源于同一语料库(维基百科),并且可能导致LLM以更符合该特定语料库的方式作出回答,而不会引入实质性的噪声。
因此,作者进行了另一个实验,其中无关文档是从 Reddit Webis-TLDR-17 数据集中抽取的,为它在语气和风格上与维基百科有着明显的对比。
如下表所示,左侧部分报告了添加Reddit中的无关文档的结果,右侧部分报告了由随机词汇组成的无意义句子的结果。可以看到,无论噪声来自 Reddit语料库中的无关文档还是无意义的句子,性能都得到了提高。
有文献认为即极低的注意力熵会导致LLM生成退化输出并且性能急剧下降。这些情况被称为熵崩塌。沿着这一研究方向,作者测量了仅提供金标准文档的情况下注意力分数的熵,与添加随机文档的情况相对比。
结果发现,引入随机文档后,系统的熵增加了3倍。但这一现象并不能完全解释为什么噪声有效,留待未来继续研究。
论文代码:https://github.com/florin-git/The-Power-of-Noise
RAG(检索增强生成)通过检索系统找到用户问题相关的信息片段,利用大模型综合生成一个答案,极大解决了大模型幻觉、信息更新不及时等问题,已经成为了大模型落地的重要手段。但在检索过程中,往往会检索到与问题极度相似、但又不包含答案或包含干扰答案的片段,这些答案无关片段对大模型生成答案有何影响呢?
本文的主要贡献在于提出了一种新的构建高质量无关信息的方法,并通过详细的实验分析了其在各种场景下的性能表现。相比于以往的研究,该方法更加全面、细致地考虑了无关信息对模型性能的影响,并提供了一些实用的技术手段来帮助RAG系统更好地应对这一挑战。
本文主要解决了两个问题:
这些问题都是当前RAG系统面临的实际挑战,而本文提出的解决方案可以为其带来一定的改进和提升。
PopQA :PopQA 是一个大规模开放域问答 (QA) 数据集,由 14k 个以实体为中心的 QA 对组成。每个问题都是通过使用模板转换从维基数据检索的知识元组来创建的。每个问题都带有原文subject_entitiey和注释,以及object_entity、relationship_type例如:
What is George Rankin's occupation?
["politician", "political leader", "political figure", "polit.", "pol"]
EntityQuestions 是基于维基数据事实的简单、实体丰富的问题数据集
为了在应用场景中包含更广泛的问题类型,作者采用了另一个广泛使用的以实体为中心的QA数据集整体问题来扩大多样性。排除了之前在POPQA中处理过的关系,以最小化冗余,在这个数据集中产生了17种不同的关系类型。与POPQA的规模一致,在每个关系中随机抽取1500个条目,用于后续实验。
https://github.com/princeton-nlp/EntityQuestions
通过检索器直接检索Top10的段落;无关:为了构建这样的信息,作者选择一个来自具有最高相似性的相同关系(e.g., place of birth)的段落分数,前提是它包含另一个主语'和相应的宾语',作为“不相关的”信息”。部分相关:从检索Top10的段落中选择一个包含subj,但缺少obj的段落,作为前半段;然后找到一个包含错误答案obj'的片段作为后半段;相关:与“部分相关”相比,“相关”片段与问题高度语义相关,但并不包含正确答案,主要涉及系误导性联类型、共同特征类型和虚构轶事类型。
评估指标
为了方便评测,采用多项选择题的形式进行LLMs评估,将“正确答案”、“错误答案”以及“不确定”作为选择供LLMs选择。
无关信息数量的增加会降低LLMs识别真正相关信息的能力,使它们更容易分心。
与不相关信息相比,LLMs更容易被高度语义相关的无关信息所误导。
LLMs在自由形式的问题格式下表现出更强的鲁棒性。
忽略式Prompt对结果有微弱的改善,COT、忽略式Prompt+ICL对结果有害,效果变得更差。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-09
RAG实战:打造可扩展的智能文档系统:终极 RAG 管道全解析
2024-11-09
RAG/LLM 和 PDF:使用 PyMuPDF 转换为 Markdown 文本
2024-11-09
先进的多文档问答(MDQA)框架HiQA:大幅降低区分度低的复杂多文档RAG的幻觉问题
2024-11-08
AI改变工作:一天内打造专属于你自己的RAG
2024-11-08
打造自己的RAG解析大模型:(新技能)企业垂类数据标注(一)
2024-11-08
一篇大模型RAG最新综述
2024-11-08
微软GraphRAG 0.4.0&DRIFT图推理搜索更新
2024-11-08
小模型在RAG(Retrieval-Augmented Generation)系统中的应用:提升效率与可扩展性的新路径
2024-07-18
2024-07-09
2024-07-09
2024-05-05
2024-05-19
2024-06-20
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21