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

检索增强生成(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.hqwc.cn/news/451379.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Blender教程(基础)-面的切割-10

快捷键K切割,菜单选项切割. 一、随意切割 物体在编辑模式下,按键盘K建切割物体。 二、中点切割 先按K键,再按shift键,会自动吸附到每条边的中点进行切割。 三、取消吸附 切割时会自动吸附到顶点或边 关闭快速吸附 按K键再按…

私有化部署的局域网即时通讯工具

在当今快节奏的企业环境中,高效的内部通信成为提高团队协作和工作效率的关键。而企业内部通信软件作为实现实时协作和快速沟通的利器,WorkPlus以其领先的功能和卓越的性能,助力企业打造高效团队沟通协作的新时代。 为何选择WorkPlus作为企业内…

6-树-二叉树的层序遍历 II

这是树的第7篇算法,力扣链接。 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例 1: 输入:root [3,9,20,null,nu…

servlet会话API

servlet会话API 您可以使用servlet会话API中定义的类和接口来创建和管理用户会话。servlet会话API提供的用于创建和管理用户会话的各种接口有javax.servlet.http.HttpSession、javax.servlet.httpSessionListener和javax.servlet.http.HttpSessionBindingListener和javax.serv…

FFMPEG推流到B站直播

0、参考 ffmpeg安装参考小弟另外的一个博客:FFmpeg和rtsp服务器搭建视频直播流服务-CSDN博客推流参考:用ffmpeg 做24小时推流直播_哔哩哔哩_bilibili 一、获取b站直播码 点击开始直播后,会出现以下的画面 二、ffmpeg进行直播推流 ffmpeg -r…

通过servlet设计一个博客系统

博客系统 准备工作servlrt依赖mysql依赖jackson依赖 服务器和数据库的交互设计数据库/数据表封装DBUtil,实现建立连接和断开连接创建实体类bloguser 编写Dao类BlogDaoUserDao 前端和服务器的交互功能一:博客列表页约定格式后端代码前端代码 功能二:实现博客详情页约定格式后端代…

STM32外部中断(红外传感器与旋转编码器计数案例)

文章目录 一、介绍部分简介中断系统中断执行流程STM32中断NVIC基本结构NVIC优先级分组外部中断外部中断简介外部中断基本结构外部中断的流程AFIOEXTI框图 相关外设介绍旋转编码器介绍硬件电路对射式红外传感器 二、代码实现对射式红外传感器计次连接电路封装红外传感器与中断函…

【Linux】统信服务器操作系统V20 1060a-AMD64 Vmware安装

目录 ​编辑 一、概述 1.1 简介 1.2 产品特性 1.3 镜像下载 二、虚拟机安装 一、概述 1.1 简介 官网:统信软件 – 打造操作系统创新生态 统信服务器操作系统V20是统信操作系统(UOS)产品家族中面向服务器端运行环境的,是一款…

mysql升级到8.x

1.下载和安装 1.1.下载 mysql下载地址: https://dev.mysql.com/downloads/mysql/5.5.html?os31&version5.1 应该下载这个类似版本 mysql-8.0.36-linux-glibc2.17-x86_64-minimal.tar.xz 1.2 安装 解压: tar xvf mysql-8.0.36-linux-glibc2.17…

C语言-2

自定义类型 基本认识 /*引入:学生:姓名,学号,年龄,成绩请为学生们专门定制一个类型(创造一个类型)结构体格式:struct 标识符 // 标识符即自定义类型的名称{成员; // 自己设置…

【洛谷】P2392 kkksc03考前临时抱佛脚

本题最重要的思路是:将题目转化为 01 背包模型。 注意点: (1)要求最短时间,则需让左右脑花费的时间最接近,极限状态下是左脑时间和右脑时间相等,且等于 m sum / 2(其中sum是一道…

如何使用项目管理工具进行任务分配和进度跟踪

项目管理是一项重要的工作,有效的任务分配和进度跟踪是项目成功的关键因素。 项目经理可以选择合适的项目管理工具来管理项目,在选择项目管理工具时,需要根据项目的特点和需求进行评估。本文将介绍如何使用项目管理工具来进行任务分配和进度…