【RAG论文】检索信息中的噪音是如何影响大模型生成的?

news2024/11/14 13:45:01

前些天看到的两篇论文,论文标题为:

  • 《The Power of Noise Redefining Retrieval for RAG Systems》
  • 《How Easily do Irrelevant Inputs Skew the Responses of Large Language Models》
    主要讲述了检索文档是如何影响大模型输出的以及相关实验结果,为了浪费时间,大家可以参考下其中的结论。

论文1:《The Power of Noise Redefining Retrieval for RAG Systems》

研究问题

本篇论文探讨了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)

自然问题(Natural Questions,NQ)数据集是一个来自谷歌搜索数据的大规模真实世界查询集合。数据集中的每个条目都包含一个用户查询和包含答案的相应维基百科页面。该数据集旨在促进自然语言理解和开放域问答研究,为真实世界的问题和相关上下文的答案提供了丰富的来源。 NQ-open数据集是NQ数据集的一个子集,其区别在于去除了将答案链接到特定维基百科段落的限制,从而模拟了类似网络搜索的更一般的信息检索方案。

为了缓解时间不匹配问题,论文将原始NQ数据集中的黄金文档集成到维基百科文档集中,最终数据集包括21035236个文档,训练集中有72209个查询,测试集中有2889个查询。

研究中,作者根据文档与查询的相关性和关系,将文档分类为四种不同类型,每个类型由一个唯一的符号表示:

  • 黄金文档( Gold Document):指的是NQ数据集中的原始上下文,具体是包含答案且与给定查询相关的一个维基百科页面的段落。

  • 直接相关文档(Relevant Document):相关文档与黄金文档类似,包含正确答案且在回答查询方面提供有用的上下文,提供了正确且与查询相关的额外信息来源。值得注意的是,黄金文档是一个相关文档。

  • 间接相关文档:相关文档与查询在语义上相似,但不包含正确答案。它们在评估生成器区分相关和不相关信息的能力方面发挥着关键作用。

  • 不相关文档:不相关文档与查询无关,也不包含答案。它们在评估模型处理完全不相关信息的能力方面发挥着关键作用,论文实验中从语料库中随机采样这些文档。

实验内容

主要研究内容

使用两步法,与典型的RAG设置一致。

  1. 作为第一组件,实验使用基于BERT的密集检索器Contriever 作为默认检索器。它在没有监督的情况下使用对比损失进行训练。
  2. 为了增强语料库(包含约2100万文档)内的相似性搜索效率,还采用了FAISS IndexFlatIP索引系统。每个文档和查询的嵌入都是通过对模型最后一层的隐藏状态进行平均获得的。

LLM输入

在接收到查询后,检索器根据给定的相似度测度从语料库中选择前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系统中,检索器需要精心设计以确保黄金文档的最佳位置,以提高整体系统的准确度。

现实场景下的RAG检索器

以上实验都是在检索到标准答案的假设下进行的,但在实际场景中,并不可能每次都能检索到包含答案的文档。作者设置了一个更现实的场景。给定一个查询,检索一组文档,它们可以是相关的,也可能是相关但不包含答案的。向这组检索到的文档中添加无关文档,如下表所示,行表示添加的不相关文档数量 ,列表示检索到的文档数量。

实验结果表示,添加无关文档几乎总是有益的,可以提高准确度。此外,使用稀疏检索器(如BM25)进行实验时,准确度平均提高了3-4个百分点。

这些结果表明,在检索器的设计中,需要找到相关文档和无关文档之间的最佳平衡点。

无关文档真的完全无关?

以上的实验表明,添加无关文档能够提高性能。但有人可能会认为这些文档并不是真正无关的,因为它们是来源于同一语料库(维基百科),并且可能导致LLM以更符合该特定语料库的方式作出回答,而不会引入实质性的噪声。

因此,作者进行了另一个实验,其中无关文档是从 Reddit Webis-TLDR-17 数据集中抽取的,为它在语气和风格上与维基百科有着明显的对比。

如下表所示,左侧部分报告了添加Reddit中的无关文档的结果,右侧部分报告了由随机词汇组成的无意义句子的结果。

可以看到,无论噪声来自 Reddit语料库中的无关文档还是无意义的句子,性能都得到了提高。

为什么噪声有效?

有文献认为即极低的注意力熵会导致LLM生成退化输出并且性能急剧下降。这些情况被称为熵崩塌。沿着这一研究方向,作者测量了仅提供金标准文档的情况下注意力分数的熵,与添加随机文档的情况相对比。

结果发现,引入随机文档后,系统的熵增加了3倍。但这一现象并不能完全解释为什么噪声有效,留待未来继续研究。

论文总结

  • 从相关文档的位置应靠近查询,否则模型很难关注到它。
  • 与查询语义相关但不包含答案文档对RAG系统极为有害,后续研究应该想办法从检索到的文档中剔除这些干扰项。
  • 与预期相反,无关的噪声文档在正确放置时有助于RAG提高系统的准确性。

论文代码:https://github.com/florin-git/The-Power-of-Noise

论文2:《How Easily do Irrelevant Inputs Skew the Responses of Large Language Models》

研究问题

RAG(检索增强生成)通过检索系统找到用户问题相关的信息片段,利用大模型综合生成一个答案,极大解决了大模型幻觉、信息更新不及时等问题,已经成为了大模型落地的重要手段。但在检索过程中,往往会检索到与问题极度相似、但又不包含答案或包含干扰答案的片段,这些答案无关片段对大模型生成答案有何影响呢?

本文的主要贡献在于提出了一种新的构建高质量无关信息的方法,并通过详细的实验分析了其在各种场景下的性能表现。相比于以往的研究,该方法更加全面、细致地考虑了无关信息对模型性能的影响,并提供了一些实用的技术手段来帮助RAG系统更好地应对这一挑战。

研究内容

本文主要解决了两个问题:

  • 一是如何构建高质量的无关信息,以帮助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

答案不相关片段

  • 语义不相关信息(Unrelated Information):选择与问题主题无关,但在检索系统中可能因为高相似性得分而被检索到的信息。
  • 部分相关信息(Partially Related Information):包含与问题主题部分重叠的信息,但不提供问题的答案。
  • 相关信息(Related Information):与问题高度相关,但并不提供正确答案的信息,可能通过误导性的联系来干扰模型。

数据构造

通过检索器直接检索Top10的段落;
无关:为了构建这样的信息,作者选择一个来自具有最高相似性的相同关系(e.g., place of birth)的段落分数,前提是它包含另一个主语’和相应的宾语’,作为“不相关的”信息”。
部分相关:从检索Top10的段落中选择一个包含subj,但缺少obj的段落,作为前半段;然后找到一个包含错误答案obj’的片段作为后半段;
相关:与“部分相关”相比,“相关”片段与问题高度语义相关,但并不包含正确答案,主要涉及系误导性联类型、共同特征类型和虚构轶事类型。

评估指标

评估指标

  • 误表述比率(Misrepresentation Ratio,MR):衡量LLMs因受到无关信息影响而改变正确回答内容的比例。
  • 不确定比率(Uncertainty Ratio,UR):衡量LLMs在回答中表述“不确定”的比例。

为了方便评测,采用多项选择题的形式进行LLMs评估,将“正确答案”、“错误答案”以及“不确定”作为选择供LLMs选择。

实验结果

无关信息数量的影响

无关信息数量的增加会降低LLMs识别真正相关信息的能力,使它们更容易分心。

语义相关性的影响

与不相关信息相比,LLMs更容易被高度语义相关的无关信息所误导。

问题格式的影响

LLMs在自由形式的问题格式下表现出更强的鲁棒性。

忽略式Prompt对结果有微弱的改善,COT、忽略式Prompt+ICL对结果有害,效果变得更差。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1702652.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于ssm+vue图书管理系统

基于ssmvue图书管理系统 ssm477图书管理系统 相关技术 javassmmysqlvueelementui

物业

用户报修 审核专员可以操作(前端)🆗 工程部可以看到不可以操作(前端)🆗 项目经理可以看到不可以操作(前端)🆗 经理可以看到不可以操作(前端)&…

计算机网络——TCP / IP 网络模型

OSI 七层模型 七层模型是国际标准化的一个网络分层模型,大体结构可以分成七层。每层提供不同的功能。 图片来源 JavaGuide 但是这样七层结构比较复杂,不太实用,所以有了 TCP / IP 模型。 TCP / IP 网络模型 TCP / IP 网络模型可以看作是 O…

视频截图软件,这几款截图神器收好!

在数字化时代,视频内容已经成为我们获取信息、娱乐休闲的主要方式之一。而在观看视频的过程中,我们总会遇到一些想要定格下来的精彩瞬间。此时,一款高效的视频截图软件就显得尤为重要。今天,就为大家推荐几款功能强大、操作简便的…

倩女幽魂手游攻略:搬砖赚银指南,2024新手必备!

倩女幽魂手游作为一款热门的多人在线角色扮演游戏,吸引了大量玩家。在游戏中,搬砖(即通过游戏中的活动和任务赚取虚拟货币,并换取实际收益)成为了许多玩家的选择。本文将为大家详细介绍如何在倩女幽魂手游中高效搬砖&a…

1.5.3 基于Java配置方式使用Spring MVC

本实战教程主要介绍了如何使用Java配置方式来使用Spring MVC框架。相较于XML配置方式,Java配置方式提供了一种更为简洁和灵活的配置方法。 项目创建与配置 创建一个Jakarta EE项目,并设置项目名称和位置。选择Jakarta EE 10版本,不添加依赖&a…

【webrtc】RtpToNtpEstimator:最小二乘法、ntp估计及c++实例

上一篇: 【webrtc】RtpToNtpEstimator:将 RTP 时间戳映射到 NTP 时间 分析了最小二乘法的实现及对rtp到ntp的映射计算的调用流程 基于最小二乘法进行估计 RtpToNtpEstimator::Estimate G:\CDN\rtcCli\m98\src\system_wrappers\source\rtp_to_ntp_estimator.cc RtpToNtpEstima…

kettle学习之子映射组件

映射组件就跟java中的函数方法一样,类似一个子流程。 练习开始 根据数据库表中的id查询出想要的字段,并把字段存到excel表中 一、表输入 二、子映射 映射输入规范,类似java方法中的形参 name vsxcd是方法返回的参数 三、excel输出 运行结果…

【Linux】线程操作

文章目录 前言一、线程相关操作函数1. pthread_create2. pthread_join3. pthread_exit4. pthread_cancel5. pthread_detach6. 示例代码 前言 在 Linux 中并不存在真正意义上的线程, 而是通过复用进程的结构来实现的, 叫做轻量级进程. 线程是一个进程内部的一个执行流, 而一个进…

LangChain实战技巧之三:关于Tool的一点拓展

(几乎)任一LLM在bind_tools时,都是习惯先定义一个Function或BaseTool,然后再bind(bind_tools)具体方式可参考我的这篇文章 AI菜鸟向前飞 — LangChain系列之十三 - 关于Tool的必知必会 但这里的tool未必需…

GC日志中的Metaspace

GC 日志中的 Metaspace used 20580K, capacity 21180K, committed 21248K, reserved 1067008K class space used 2594K, capacity 2752K, committed 2816K, reserved 1048576K 一、Metaspace介绍 知道jdk8之前有perm这一整块内存来存klass等信息,我们的参数里也…

Python 文件操作指南:使用 open 和 with open 实现高效读写

🍀 前言 博客地址: CSDN:https://blog.csdn.net/powerbiubiu 👋 简介 本系列文章主要分享文件操作,了解如何使用 Python 进行文件的读写操作,介绍常见文件格式的读取和写入方法,包括TXT、 CS…

vue 表格表头展示不下,显示。。。;鼠标悬浮展示全部

vue 表格表头展示不下&#xff0c;显示。。。&#xff1b;鼠标悬浮展示全部 <templateslot-scope"scope"slot"header"><span:title"临时证券类型"style"white-space:nowrap">{{ 临时证券类型 }}</span></templa…

老年人培聊助手:温暖心灵的智能陪伴

在快节奏的现代生活中&#xff0c;老年人常常感到孤独和寂寞。为了给他们带来更多的陪伴和温暖&#xff0c;我们推出了全新的老年人培聊助手智能体。 这款培聊助手智能体不仅是一个智能聊天工具&#xff0c;更是老年人生活中的贴心伙伴。它拥有自然流畅的语言交互能力&#xf…

一文详解SaaS增长模式:PLG、MLG、SLG哪种更适合你?

在SaaS&#xff08;软件即服务&#xff09;的领域中&#xff0c;增长策略的选择对于企业的成功至关重要。其中&#xff0c;PLG&#xff08;产品驱动增长&#xff09;、MLG&#xff08;市场驱动增长&#xff09;和SLG&#xff08;销售驱动增长&#xff09;是三种常见的策略&…

COD20使命召唤20新赛季免费玩 COD20免费体验在哪下

使命召唤20&#xff08;COD20&#xff09;的免费周已经正式启动&#xff0c;这是一个为期一周的特别活动&#xff0c;为玩家们带来了前所未有的游戏体验。在这个特殊的周期里&#xff0c;多人模式和僵尸模式将向公众免费开放&#xff0c;玩家们可以尽情地探索和体验游戏的精彩内…

PUBG绝地求生卡在初始界面 登不上去 打不开游戏的解决办法

PUBG绝地求生卡在初始界面 登不上去 打不开游戏的解决办法 吃鸡热潮依旧绝地求生PUBG可是咱们玩家的心头好啊&#xff01;不过有时候可能会遇到点小麻烦&#xff0c;比如PUBG绝地求生卡在初始界面 登不上去 打不开游戏的解决办法。小编这就给大家分享几个超实用的解决方法&…

想用Python做OCR?看看这篇文章

OCR是Optical Character Recognition的缩写&#xff0c;中文名为光学字符识别。它是一种通过计算机技术对图像或扫描文档中的文字进行识别和理解的过程。OCR技术可以将图像中的文字转换为可编辑、可搜索的文本&#xff0c;使得计算机能够理解和处理这些文字信息。 OCR技术通常…

马斯克拟打造xAI“算力超级工厂”,助力聊天机器人Grok

KlipC报道&#xff1a;马斯克计划推出xAI超级计算机&#xff0c;为下一代人工智能聊天机器人Grok提供动力&#xff0c;直言这将是一个“算力超级工厂”&#xff0c;并希望在2025年秋季之前能运行起来。 xAI是马斯克去年创立的人工智能初创公司&#xff0c;“尽可能寻求真相”、…

明日周刊-第11期

上周末去参加了软考&#xff0c;这个考试目前很热门&#xff0c;参加考试的人也非常多。笔者已经算是二战了&#xff0c;今年从笔试改革成了机考。618的购物活动也都已经开始了&#xff0c;我给狗子买了一袋进口的高端狗粮渴望&#xff0c;但是买回来发现它并不爱吃&#xff0c…