Long-Context LLMs Meet RAG: Overcoming Challenges for Long Inputs in RAG

论文地址:https://arxiv.org/pdf/2410.05983v1

论文来源:google

摘要

检索增强生成(RAG)使大型语言模型(LLMs)能够利用外部知识源。LLMs 处理更长输入序列的能力不断提升,为提供更多检索信息开辟了新的可能性,从而可能提高生成输出的质量。我们可以合理地假设,较大的检索集将包含更多相关信息(更高的召回率),可能会导致性能的提升。然而,我们的实证研究表明,对于许多长上下文 LLMs,生成输出的质量最初会提高,但随着检索段落数量的增加,随后会下降。本文探讨了这一现象,识别出检索到的“硬否定”对性能下降的关键影响。为此,我们提出了无训练和有训练的方法,以增强基于长上下文 LLM 的 RAG 的鲁棒性。我们首先展示了检索重新排序作为一种简单而强大的无训练优化方法的有效性。此外,我们探索了有训练的方法,特别是 RAG 特定的隐式 LLM 微调和带有中间推理的 RAG 导向微调,展示了它们在性能提升方面的潜力。最后,我们对这些有训练方法的设计选择进行了系统分析,包括数据分布、检索器选择和训练上下文长度。

无训练方法

  • 重排序:为解决“lost in the middle”的问题,从两端开始放置相关片段。

微调方法

  • 隐式鲁棒性微调:标准 LLM 训练过程中未处理噪声检索数据,使用包含查询和检索片段的数据进行微调,提高模型鲁棒性。
  • 显式相关性微调:显式教 LLM 识别相关文档,在生成最终输出之前分析检索到的片段并识别相关片段,提高在噪声中识别相关信息的能力。

一般评判基准的局限性

一般评判基准通常依赖随机反例,并不能体现现实世界中硬否定片段带来的挑战。

  1. 检索到的上下文数量对 RAG 的影响:取决于检索器的能力,强检索器呈现倒 U 型能力曲线,弱检索器呈现正比增长。
  2. 检索质量和 LLM 处理检索信息的能力的相互作用:即使召回了相关片段,LLM 不一定能准确回复,说明硬否定片段对 LLM 有影响。检索器的精度指标具有局限性,强检索器召回的硬否定片段可能比弱检索器召回的对 LLM 影响更大。
  3. 硬否定对长上下文 LLM 评估的重要性:增加硬否定片段数量会影响 LLM 的性能,检索器的强弱与检索到的硬否定片段的难度直接相关,LLM 对随机片段具有鲁棒性,但容易受到硬否定片段的影响。

重新排序检索文档的顺序

检索重新排序在较小的检索集下产生了微不足道的改进,但当检索到的段落数量很大时,它显著且始终优于原始排序。这种行为归因于两个因素的相互作用,这些因素随着更大的检索集变得越来越显著:(1)放大的“中间丢失”现象,其中 LLM 在输入序列的开始和结束处优先考虑信息,以及 (2) 硬否定的日益普及,可能会阻碍准确的答案生成。通过战略性地放置段落,检索重新排序缓解了这些问题,突出了位置工程作为提示工程优化 RAG 中长上下文 LLM 的补充技术的潜力。

数据增强微调

通过硬否定数据的构造,隐式增强 LLM 对相关文档的识别能力。

推理增强微调

通过增加中间推理结果识别相关文档,显式增强 LLM 识别相关文档并作为回复。

结论

本文研究了增加检索到的段落数量对检索增强生成 (RAG) 系统中长上下文 LLM 的性能的影响。与预期相反,我们观察到性能最初有所提高,然后随着包含更多段落而降低。这种现象归因于检索到的“硬否定”的不利影响。为了缓解这个问题,我们提出并评估了三种解决方案:无训练检索重新排序、RAG 特定的隐式 LLM 微调和具有中间推理的面向 RAG 的 LLM 微调。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Excel:vba实现筛选出有批注的单元格

实现的效果:代码: Sub test() Dim cell As RangeRange("F3:I10000").ClearlastRow Cells(Rows.Count, "f").End(xlUp).Row MsgBox lastrow For Each cell In Range("a1:a21")If Not cell.Comment Is Nothing ThenMsgBox…

MATLAB和Python电车电池制造性能度量分析

🎯要点 分析全电池制造端开路电压曲线,解析电化学指标或特征,了解电池的热力学和动力学特性。测试相同活性材料(正极和石墨负极)的两批电池,列出模型提取的电化学特征并可视化分析结果。使用类似电压拟合方…

金仓数据库×武汉人社:共塑大数据应用智慧平台

数智人社 随着数字化和智能化的浪潮席卷全球,武汉市人力资源和社会保障局紧跟时代步伐,成功打造了以金仓数据库为承载底座的大数据应用平台。 这一平台的建立,不仅实现了与武汉市智慧城市大脑的高效数据对接和共享,更在治理体系和…

k8s部署Kafka集群超详细讲解

准备部署环境 Kubernetes集群信息 NAMEVERSIONk8s-masterv1.29.2k8s-node01v1.29.2k8s-node02v1.29.2 Kafka:3.7.1版本,apche版本 Zookeeper:3.6.3版本 准备StorageClass # kubectl get sc NAME PROVISIONER RECLA…

Spring容器详解:BeanFactory和ApplicationContext的不同

Spring容器 创建容器的几种方式 方式一:类路径加载配置文件 ApplicationContext context new ClassPathXmlApplicationContext("application.xml"); 方式二:文件路径加载配置文件 ApplicationContext context new FileSystemXmlApplicatio…

前端——选择器

基础选择器 1.标签选择器 p 例如p标签&#xff0c;可以更改所有此标签的格式 格式为 标签{ } Html文件 <link rel"stylesheet" href"./demo01.css"><body><p>hello css</p><p>hello html</p><p>hello js&…

Python 实现 excel 数据过滤

一、场景分析 假设有如下一份 excel 数据 shop.xlsx, 写一段 python 程序&#xff0c;实现对于车牌的分组数据过滤。 并以车牌为文件名&#xff0c;把店名输出到 车牌.txt 文件中。 比如 闽A.txt 文件内容为&#xff1a; 小林书店福州店1 小林书店福州店2 二、依赖安装 程序依…

SOLID 原则:编写可扩展且可维护的代码

有人告诉过你&#xff0c;你写的是“糟糕的代码”吗&#xff1f; 如果你有&#xff0c;那真的没什么可羞愧的。我们在学习的过程中都会写出有缺陷的代码。好消息是&#xff0c;改进起来相当简单——但前提是你愿意。 改进代码的最佳方法之一是学习一些编程设计原则。你可以将…

当贝F7Pro怎么样?一文看懂当贝秋季新品当贝F7Pro值不值得买?

当贝投影在今年的双11阶段发布了一款全新护眼三色激光投影当贝F7Pro 4K激光投影&#xff0c;这款被誉为“4K激光真旗舰”的激光投影主要是定位高端系列&#xff1b;不仅采用了全新的护眼三色激光技术&#xff0c;全面提升了投影画面的亮度、色彩和色准&#xff1b;在4K分辨率&a…

【Linux系统】Ubuntu的简单操作

什么是 Ubuntu&#xff1f; Ubuntu&#xff08;乌帮图&#xff09;是一个非洲词汇&#xff0c;它的意思是“人性对待他人”或“群在故我在”。Ubuntu发行版将Ubuntu精神带到软件世界之中。 目前已有大量各种各样基于GNU/Linux的操作系统&#xff0c;例如:Debian,SuSE,Gentoo,R…

猜数游戏(Fortran)

背景 学了两个月Fortran还没来一次正式练习 于是—— 代码 program gessnum! implicit none 不取消IN规则。integer::num,areal::Ncall random_seed()call random_number(N)aint(N*10)print*,"请输入您猜的数字&#xff1a;"read(*,*)numdo i1,3if (numa)thenpri…

【Next.js 项目实战系列】02-创建 Issue

原文链接 CSDN 的排版/样式可能有问题&#xff0c;去我的博客查看原文系列吧&#xff0c;觉得有用的话&#xff0c;给我的库点个star&#xff0c;关注一下吧 上一篇【Next.js 项目实战系列】01-创建项目 创建 Issue 配置 MySQL 与 Prisma​ 在数据库中可以找到相关内容&…

【Linux】【xmake】安装 + C/C++常用项目配置

文章目录 0. 环境准备1. 子命令create - 快速创建项目build - 构建程序config - 配置编译需要的参数show - 查看当前工程基本信息update - 程序自更新 2. C/C 项目常用配置2.1 项目目标类型2.2 添加宏定义2.3 头文件路径和链接库配置2.4 设置语言标准2.5 设置编译优化2.6 添加源…

《YOLO 目标检测》—— YOLO v3 详细介绍

&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;还未写完&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xf…

vscode插件live server无法在手机预览调试H5网页

环境 Window10、vscode&#xff1a;1.94.2、Live Server&#xff1a;v5.7.9、Live Server (Five Server)&#xff1a;v0.3.1 问题 PC端预览没有问题&#xff0c;但是在手机点击链接显示访问失败 排查 1. 是否同一局域网 意思就是电脑、手机是不是访问同一个网络。电脑插得…

【设计模式-原型】

**原型模式&#xff08;Prototype Pattern&#xff09;**是一种创建型设计模式&#xff0c;旨在通过复制现有对象的方式来创建新对象&#xff0c;而不是通过实例化类来创建对象。该模式允许对象通过克隆&#xff08;复制&#xff09;来创建新的实例&#xff0c;因此避免了重新创…

Git核心概念图例与最常用内容操作(reset、diff、restore、stash、reflog、cherry-pick)

文章目录 简介前置概念.git目录objects目录refs目录HEAD文件 resetreflog 与 reset --hardrevert(撤销指定提交)stashdiff工作区与暂存区差异暂存区与HEAD差异工作区与HEAD差异其他比较 restore、checkout(代码撤回)merge、rebase、cherry-pick 简介 本文将介绍Git几个核心概念…

赛氪提供专业技术支持,首届“天翼云息壤杯”高校AI大赛正式开启

2024年9月25日&#xff0c;在ICT中国2024高层论坛暨国际信息通信展主论坛上&#xff0c;首届“天翼云息壤杯”高校AI大赛正式拉开帷幕。中国电信总经理梁宝俊出席并发表了致辞。此次大赛由国务院国资委、工业和信息化部、教育部等部委指导&#xff0c;中国电信集团有限公司和华…

【排序】快排思想以及例子

思想 使用分治法来处理数据 例题 19 97 09 17 01 08 首先确定一个pivot 一般是首位&#xff0c;把比p小的放p的左边&#xff0c;比p大的放p的右边。L是左指 R是右指 首轮排序 p 19 __ 97 09 17 01 08 L R 首先应从R开始判断 08<19 08替换到p所在位置&#xff0c;R移动 p 19…

【AIGC】AI时代降临,AI文案写作、AI绘画、AI数据处理

目录 1、ChatGPTAI文案与写作108招2、AI短视频生成与剪辑实战108招3、AI绘画与摄影实战108招4、AI商业广告设计实战108招5、AI数据处理实战108招6、AI智能办公实战108招 传送门&#xff1a;清华大学出版社AI实战108招 全6册 1、ChatGPTAI文案与写作108招 《ChatGPTAI文案与写…