今日arXiv最热NLP大模型论文:引入噪声,可提升RAG检索效果超30%??

news2024/11/25 7:45:01

检索增强生成(Retrieval-Augmented Generation,简称RAG)系统的出现,提高了LLMs回答生成的准确性。它分为两个部分:检索与生成。检索即利用检索器从海量文档中检索出与查询最相关或者最相似的段落,而生成则是LLMs针对混合查询和检索到的文档生成响应。

最近关于RAG的研究也非常多,特别是对检索组件有非常多的优秀工作。今天我们介绍的这篇文档从一个特殊的角度出发,讨论检索到的文档对RAG系统性能的影响。

大家可能想说,这有什么好讨论的,检索到的文档对性能的影响很直白啊,那肯定是与查询越相关,效果越好啊。

那如何为检索文档添加一些噪声呢?也就是说与查询八竿子打不着的文档,对系统性能的影响又如何呢?

从直觉上来说,噪声应该会对系统性能产生负面影响。

但是今天这篇文章给出的结果却让人大吃一惊!

图片

噪声文档不仅没有对系统性能造成负面影响,反而能够显著提高系统的准确性,最高可达35%的改善而那些与查询相关的文档可能是强有力的干扰项,影响模型的性能。这一发现挑战了传统信息检索系统的常规理解,在这个新的范式下,传统的检索技术可能不是最优的,需要针对语言生成模型与检索整合的特定需求开发专门的方法。

论文标题
The Power of Noise: Redefining Retrieval for RAG Systems

论文链接为
https://arxiv.org/pdf/2401.14887.pdf

声明:本期论文解读非人类撰写,全文由赛博马良「AI论文解读达人」智能体自主完成,经人工审核、配图后发布。

公众号「夕小瑶科技说」后台回复“智能体内测”获取智能体内测邀请链接。

检索文档类型分类

通过检索组件获得的文档可以分为三类:相关文档(relevant)、相关但不包含答案文档(related)和不相关文档(irrelevant)

  • 相关文档包含直接与查询相关的信息,提供直接回答或解释查询的标准数据。

  • 相关但不包含答案文档虽然没有直接回答查询,但在语义上或背景上与主题相关联。例如,如果有人问拿破仑的马的颜色,一份表述拿破仑妻子马的颜色的文档,虽然不包含正确信息,但与之高度相关。

  • 不相关文档与查询无关,代表了检索过程中的一种信息噪音。

实验设置

1. 数据集

实验使用了Natural Questions (NQ)数据集,这是一个由Google搜索数据派生的大规模真实世界查询集合。每个数据集条目包括一个用户查询和包含答案的相应Wikipedia页面。为了促进自然语言理解和开放域问答的研究,该数据集提供了丰富的真实世界问题和上下文相关答案的来源。经过处理后,最终的数据集包括21,035,236份文档,其中训练集有72,209个查询,测试集有2,889个查询。

2. 文档检索

文档检索器使用Contriever,这是一个基于BERT的密集检索器,它使用对比损失进行无监督训练。为了提高在大约2100万文档的语料库中进行相似性搜索的效率,还使用了FAISS IndexFlatIP索引系统。每个文档和查询的嵌入是通过对模型最后一层的隐藏状态进行平均得到的。

3. LLM生成

收到查询后,检索器根据给定的相似性度量从语料库中选择前𝑘个文档。这些文档与任务指令和查询一起构成了LLM生成响应的输入。NQ-open数据集被构建为只包含那些答案不超过五个词汇的查询。因此,LLM的任务是从提供的文档中提取一个最多五个词汇的响应。模型生成始终采用贪婪生成方法,并将最大回复长度设为15个token。LLM选用了Llama2-7B,支持4096个token,Falcon-7B支持2048个token,Phi-2-2.7B支持2048个token,MPT-7B支持几乎无限的上下文长度但为了公平比较限制为2048个token。

实验结果

为了增强实验设置的清晰度和理解性,将采用简化的模式来表示提示的组成。该模式如下所示:

图片

在这个模式中,任务指导(I)和查询(Q)始终位于开头和结尾位置。中间部分是可变的,代表不同的上下文元素,它们依次是★指黄金文档(指的是NQ数据集中的原始上下文,具体包括包含答案且与给定查询相关的维基百科页面段落。)、相关文档、相关但不包含答案的文档、不相关文档。将这些文档以不同的数量依次组合以测试检索到的文档对RGA性能的影响。

1. 相关但不包含答案文档的影响

相关但不包含答案文档设置为由检索器分配了较高的分数,但不包含答案的文档。下表是LLM在使用由黄金文档和不同数量相关但不包含答案的文档组成的提示进行评估时的结果。“Far”,"Mid","Near"分别代表将黄金文档放置在不同的位置,第一行“0”代表没有添加相关但不包含答案的文档,往后依次增加相关文档数量。“-”代表输入超出LLM所支持的输入长度。

图片

从上表中可以看出,在检索增强生成系统中,与查询语义上相关但不包含正确答案的文档对系统性能有负面影响。当在上下文中仅添加一个相关文档时,准确率可能会下降高达25%。我们普遍认为相关文档通常比无关文档更可接受,这一发现挑战了传统信息检索系统的常识。

下图是添加相关但不包含答案文档后导致输出错误的例子,黄色代表金标准文档与正确答案,很明显,那些相关但不包含答案文档误导了LLM,导致准确率下降。

图片

除此之外,作者还展示了模型分别对相关但不包含答案文档和黄金文档的注意力分数,如下图所示,模型过分关注一个相关但不包含答案文档(最左边)而忽视黄金文档(最右边),可能导致错误的响应

图片

2. 噪声影响

为了评估RAG系统对噪声的鲁棒性,为黄金文档中添加了一定数量的从语料库中随机挑选的文档作为不相关文档也就是噪声。实验结果如下表所示:

图片

  • 出乎预料的是,在存在噪声的情况下,性能并没有下降,反而在某些情况下出现了显著提升,比如MPT改善了 0.08(增加了36%).

  • Llama2 和 Phi2 在与查询的距离最远的位置"Near"引入噪声时,都展现出了改善的情况。然而,在"Mid"和"Far"的设置中引入噪声时,模型的性能都有所下降,但与相关文档的情况相比,要小得多。这表明,尽管 Llama2和 Phi-2 能够有效处理远离查询的噪声,但它们在处理接近查询的无关信息时的能力会减弱。

3. 黄金文档位置影响

实验进一步探讨了黄金文档(即包含正确答案的文档)在上下文中的位置对模型性能的影响。“Far”,"Mid","Near"分别代表将黄金文档放置在不同的位置,。上述两个大表中都可以看到。

实验结果表明,黄金文档的位置对RAG系统的性能有显著影响。

  • 在添加相关但不包含答案文档的设置中,当黄金文档靠近查询语句时,模型的准确度最高。相反,当黄金文档位于上下文中间或远离查询语句时,模型的准确度降低。

  • 在无关文档的设置中,某些模型即使在噪声较多的情况下也能保持或提高性能。

这些发现强调了在RAG系统中,检索器需要精心设计以确保黄金文档的最佳位置,以提高整体系统的准确度

4. 现实场景下的RAG检索器

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

图片

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

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

5. 无关文档真的完全无关嘛?

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

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

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

图片

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

6. 为什么噪声有效?

有文献认为即极低的注意力熵会导致LLM生成退化输出并且性能急剧下降。这些情况被称为熵崩塌。沿着这一研究方向,作者测量了仅提供金标准文档的情况下注意力分数的熵,与添加随机文档的情况相对比。结果发现,引入随机文档后,系统的熵增加了3倍。但这一现象并不能完全解释为什么噪声有效,留待未来继续研究。

7.检索文档数量的讨论

从LLMs只能处理有限数量的文档来看,检索器应该向LLMs提供哪些文档呢?常识表明,应提供与查询语义接近的文档。但从本文结果来看随机文档似乎对LLM的准确性产生积极影响。因此如何平衡相关文档和无关文档的比例呢?

在最初检索一组最少的文档并补充无关文档直至达到上下文限制时,能够找到最佳比例。在本文的实验中中,检索3至5个文档是最有效的选择,超过此数量会增加包含过多相关但充满干扰的文档的风险。但此理论还未被广泛的zhengs迫切需要进一步研究以确定此规则的广泛适用性。

结论

本文首次全面探讨了检索到的文档如何影响RAG框架,并旨在理解检索器为RAG系统优化提示构建所需的特征。研究的主要发现包括:

  • 相关文档的位置应靠近查询,否则模型很难关注到它。

  • 与查询语义相关但不包含答案文档对RAG系统极为有害,后续研究应该想办法从检索到的文档中剔除这些干扰项。

  • 与预期相反,无关的噪声文档在正确放置时有助于RAG提高系统的准确性。

作者提出了这些策略有助于优化RAG系统,但仍需要进一步的研究来揭示这种行为背后的内在机制,并开发更适合与生成组件交互的新一代信息检索技术。

声明:本期论文解读非人类撰写,全文由赛博马良「AI论文解读达人」智能体自主完成,经人工审核、配图后发布。

公众号「夕小瑶科技说」后台回复“智能体内测”获取智能体内测邀请链接。

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

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

相关文章

幻兽帕鲁客户端存档文件 - 云上备份和恢复教程

本文将详细介绍如何将幻兽帕鲁游戏客户端的存档文件备份至云端,以及如何从云端恢复存档数据至本地。 一、游戏存档备份场景 幻兽帕鲁的游戏进度存储在电脑本地磁盘上,游戏中创建的每个世界都对应一个本地存档文件夹。在玩游戏过程中,客户端…

备战蓝桥杯---搜索(优化1)

显然&#xff0c;我们可以用BFS解决&#xff0c;具体实现与八数码类似&#xff1a; 下面是代码&#xff1a; #include<bits/stdc.h> using namespace std; #define N 3000000 string a,b; int hh,dis[N],cnt; struct node{string u,v; }bian[7]; map<string,int>…

Python flask 表单详解

文章目录 1 概述1.1 request 对象 2 示例2.1 目录结构2.2 student.html2.3 result.html2.4 app.py 1 概述 1.1 request 对象 作用&#xff1a;来自客户端网页的数据作为全局请求对象发送到服务器request 对象的重要属性如下&#xff1a; 属性解释form字典对象&#xff0c;包…

基于微信小程序的旅游景点移动自助导游系统

景点移动自助导游系统用户端要求在系统的安卓手机上可以运行&#xff0c;主要实现了线上查看旅游景点和景点预定等相关信息的查看&#xff0c;并且根据需求进行对管理端&#xff1b;首页、个人中心、用户管理、旅游景点管理、景点类型管理、景点预定管理、旅游路线管理、地图导…

769933-15-5,Biotin aniline,可以合成多种有机化合物和聚合物

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;769933-15-5&#xff0c;Biotin aniline&#xff0c;生物素苯胺&#xff0c;生物素-苯胺 一、基本信息 产品简介&#xff1a;Biotin Aniline&#xff0c;一种具有重要生物学功能的化合物&#xff0c;不仅参与了维生…

使用 Visual Studio Code 在远程计算机上调试 PostgreSQL

使用 Visual Studio Code 在远程计算机上调试 PostgreSQL 1. 概述 PostgreSQL 是一个功能强大的开源关系数据库管理系统&#xff0c;适用于各种应用程序。在开发过程中&#xff0c;调试 PostgreSQL 对于识别和解决问题至关重要。在本博客中&#xff0c;我们将手把手教你使用客…

uniapp 组件封装

1. uniapp 组件封装时间戳格式化为星期 1.1. components/m-week.vue <template><text>{{week}}</text> </template> <script>export default {props: {time: String},mounted(e) {this.week this.getWeek(Number(this.time))},data() {return …

Java设计模式(GOF)-23中设计模式-更新中

推荐&#xff1a;关注 IT技术馆 原文阅读 馆长准备了很多学习资料&#xff0c;其中包含java方面&#xff0c;jvm调优&#xff0c;spring / spring boot /spring cloud &#xff0c;微服务&#xff0c;分布式&#xff0c;前端&#xff0c;js书籍资料&#xff0c;视频资料&#x…

r0下进程保护

简介 SSDT 的全称是 System Services Descriptor Table&#xff0c;系统服务描述符表。这个表就是一个把 Ring3 的 Win32 API 和 Ring0 的内核 API 联系起来。SSDT 并不仅仅只包含一个庞大的地址索引表&#xff0c;它还包含着一些其它有用的信息&#xff0c;诸如地址索引的基地…

数据库管理-第144期 深入使用EMCC-01(20240204)

数据库管理144期 2024-02-04 数据库管理-第144期 深入使用EMCC-01&#xff08;20240204&#xff09;1 用户管理2 配置告警动作3 配置意外事件规则总结 数据库管理-第144期 深入使用EMCC-01&#xff08;20240204&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&am…

打破语言障碍!五个跨境电商必备的实时翻译工具推荐

打破语言障碍&#xff01;随着全球化市场的扩展&#xff0c;语言障碍成为了客户服务领域的一大难题&#xff0c;特别是对于需要出海的企业来说&#xff0c;如何有效地和国外的客户沟通成为了关键。传统的翻译服务往往耗时且成本高昂&#xff0c;无法满足时效性强的客户服务需求…

差分信号:一种提高信号传输质量的神奇方式

在我们的日常生活中&#xff0c;会遇到各种各样的信号传输&#xff0c;比如手机、电视、网络等等。 为什么需要差分信号 在这些信号传输中&#xff0c;我们很多时候使用的是单端信号传输方式。比如使用固定电话打电话时&#xff0c;你有一根信号线和一根地线&#xff0c;电话…

【学习笔记】树上差分总结(点差分/边差分)

一.树上差分的基本概念 1.树上差分的定义 树上差分&#xff0c;顾名思义&#xff0c;意思就是在树上做差分。 至于什么是差分呢&#xff1f;如果不会的同学&#xff0c;可以先看看我的这篇博客:一维,二维差分の详解&#xff08;简单易懂&#xff09;_一维差分-CSDN博客 2.树…

Unity动画循环偏移的使用

最近项目中有一个需求是做煤矿中猴车的动画&#xff0c;动画本身不复杂&#xff0c;但是猴车很多&#xff0c;怎么能简化工作量呢&#xff1f; 首先单个猴车的动画循环是必须要做的&#xff0c;重点是怎么让不同的猴车动画按顺序错开&#xff0c;研究了以下&#xff0c;可以通过…

Python爬虫从基础到入门:数据接口实战--获取豆瓣阅读热度最高的书籍信息

接着上一篇文章&#xff1a;Python爬虫从基础到入门&#xff1a;找数据接口&#xff0c;接下来实战一下&#xff0c;以获取豆瓣阅读这个网站热度最高的书籍信息为例&#xff0c;网址为&#xff1a;豆瓣阅读 Python爬虫从基础到入门&#xff1a;数据接口实战--获取豆瓣阅读热度…

APK签名 v1、 v2、v3、v3.1、v4 解析

在 Android 应用签名中&#xff0c;V1 V2 V3 V4签名是不同的签名方案&#xff0c;具体描述如下&#xff1a; V1 签名&#xff08;JAR 签名&#xff09;&#xff1a;早期 Android 应用签名的基本形式&#xff0c;基于 Java 签名&#xff08;JAR 签名&#xff09;规范。它将应用…

红日靶场1搭建渗透

环境搭建 下载好镜像文件并解压&#xff0c;启动vmware 这里我用自己的win7 sp1虚拟机作为攻击机&#xff0c;设置为双网卡NAT&#xff0c;vm2 其中用ipconfig查看攻击机ip地址 设置win7 x64为双网卡&#xff0c;vm1&#xff0c;vm2 设置win08单网卡vm1&#xff0c;win2k3为单…

基于微信小程序的家庭个人理财产品投资系统

家庭理财管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户&#xff0c;更好存储所有数据信息及快速方便的检索功能&#xff0c;对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性&#xff0c;遵循开发的系统优化的原则&#xf…

Docker Dockerfile

1、概念介绍 Dockerfile是用来构建Docker镜像的文本文件&#xff0c;是由一条条构建镜像所需的指令和参数构成的脚本。 每条保留字指令都必须为大写字母且后面要跟随至少一个参数 指令按照从上到下&#xff0c;顺序执行 #表示注释 每条指令都会创建一个新的镜像层并对镜像进…

机器学习周记(第二十八周:文献阅读-GSTPro)2024.1.29~2024.2.4

目录 摘要 ABSTRACT 1 论文信息 1.1 论文标题 1.2 论文摘要 1.3 论文背景 2 论文模型 2.1 问题描述 2.2 总体架构 2.3 动态图神经控制微分方程&#xff08;Dynamic Graph Neural Controlled Differential Equations&#xff09; 2.3.1 空间处理&#xff08;Spatial…