在长上下文LLM的时代,RAG是否仍然必要?

一、结论写在前面

论文标题:In Defense of RAG in the Era of Long-Context Language Models

论文链接:https://arxiv.org/pdf/2409.01666

克服早期生成式大型语言模型(LLMs)的有限上下文限制,检索增强生成(RAG)在过去一直是基于上下文的答案生成的可靠解决方案。最近,长上下文LLMs的出现使得模型能够整合更长的文本序列,使得RAG变得不那么吸引人。最近的研究表明,长上下文LLMs在长上下文应用中显著优于RAG。与现有倾向于长上下文LLM而非RAG的工作不同,论文认为LLMs中的极长上下文会导致对相关信息的注意力减弱,并可能导致答案质量的潜在下降。

论文重新审视了RAG在长上下文回答生成中的有效性。论文观察到,在LLM的上下文中,检索到的块的顺序对回答质量至关重要。与传统RAG将检索到的块按相关性降序排列不同,论文提出在原始文本中保留检索到的块的顺序。论文的实验表明,所提出的顺序保留机制显著提高了RAG的回答质量。

与此同时,使用提出的保序RAG,随着检索块数量的增加,答案质量起初上升然后下降。这是因为,随着检索块的增多,模型能够访问到更多潜在相关的信息,从而提高了检索到生成高质量答案所需正确上下文的机会。然而,随着检索块的增多,引入不相关或干扰信息的可能性也增加。这些多余的信息可能会迷惑模型,导致答案质量下降。因此,权衡在于通过检索更多上下文来提高召回率与通过限制干扰来保持精确度之间。最佳点在于相关与不相关信息的平衡最大化答案质量。超过这一点,引入过多不相关信息会降低模型性能。这解释了将整个长上下文作为LLM输入的方法性能较差的原因。

与Li等人(2024)的结论不同,通过提出的保序机制,RAG相比仅依赖长上下文LLM的同类方法,实现了更高的答案质量。如图4a所示,在∞Bench的En.QA数据集上,仅使用16K检索token,论文使用Llama3.1-70B达到了44.43 F1分数。相比之下,不使用RAG,Llama3.1-70B充分利用128K上下文仅达到34.32 F1分数,GPT-40仅达到32.36 F1分数,Gemini-1.5-Pro在Li等人(2024)的评估下仅获得43.08 F1分数。也就是说,RAG即使在输入长度显著减少的情况下,也能实现更高的 F1分数。

二、论文的简单介绍

2.1 论文的背景

由于早期LLM的上下文窗口长度有限(例如,4096),检索增强生成(RAG)是处理大规模上下文语料库不可或缺的选择。由于答案质量在很大程度上依赖于检索模型的性能,因此在设计RAG系统时,大量的努力都投入到提高检索的召回率/精确度上。

最近,最先进的LLMs支持更长的上下文窗口。例如,GPT-40,Claudi-3.5,Llama3.1、Phi-3和Mistral-Large2都支持128K上下文。Gemini-1.5-pro甚至支持1M上下文窗口。长上下文LLM的近期涌现自然引发了一个问题:在长上下文LLM的时代,RAG是否仍然必要?Li et al.(2024)最近系统地比较了RAG与长上下文(LC)LLM(不使用RAG),并证明LC(long-context) LLM在回答质量方面始终优于RAG。

图1:提出的顺序保留检索增强生成(OP-RAG)与使用长上下文LLM但不使用RAG的方法在coBench的En.QA数据集上的比较。论文的OP-RAG使用Llama3.1-70B作为生成器,显著优于不使用RAG的Llama3.1-70B。

图 2 :普通RAG与提出的顺序保留RAG的对比。如图所示,文档被分割成13个片段 。每个片段附有一个相似度分数。论文检索相似度分数最高的4个片段。普通RAG按分数降序排列片段,而提出的顺序保留RAG则根据片段在原始文档中的顺序排列。

2.2 顺序保留RAG

论文用 d 表示长文本上下文,例如一个长文档。论文将 d 顺序且均匀地分割成 N个片段 c_i。索引 i 表示片段 c_i在 d 中的顺序。即, c_i-1表示 c_i之前的片段,而 c_i+1表示 c_i之后的片段。给定一个查询 q ,论文通过计算 q 的嵌入与 c_i的嵌入之间的余弦相似度来获得片段 c_i的相关性分数:

其中 cos(., .) 表示余弦相似度函数,emb(.) 表示嵌入函数。

图3:上下文长度对RAG性能的影响。评估在coBench的En.QA和EN.MC数据集上进行。

论文检索与最高余弦相似度 d 对应的top-k个片段J这些片段在原始长上下文中的顺序,即论文约束

图2展示了vanilla RAG与提出的顺序保留RAG之间的差异。与vanilla RAG按相似度降序排列片段不同,提出的顺序保留RAG保持了片段在原始文档中的顺序。

2.3 实验

2.3.1 数据集

论文在∞Bench基准测试的En.QA和EN.MC数据集上进行实验,这些数据集专门设计用于长上下文问答评估。具体来说,En.QA包含351个人工标注的问答对。平均而言,En.QA中的长上下文包含150,374个单词。论文使用F1-score作为En.QA的评估指标。EN.MC包含224个问答对,其标注方式与En.QA类似,但每个问题提供四个答案选项。平均而言,EN.MC中的长上下文包含142,622个单词。论文使用准确率作为EN.MC的评估指标。论文注意到还有一个名为LongBench的基准测试。然而,LongBench的平均上下文长度低于20K个单词,不足以评估支持128K-token窗口大小的最新长上下文LLMs。

2.3.2 实现细节

论文在所有数据集上将片段大小设置为128个token。片段之间不重叠。论文默认使用BGE-large-en-v1.5来提取查询和片段的嵌入。

2.3.3 消融实验

论文评估了上下文长度对提出的保序RAG性能的影响。由于每个块包含128个token,上下文长度为128 m,其中m是作为生成答案上下文检索块的数量。如图3所示,随着上下文长度的增加,性能最初有所提升。这是因为更多的上下文可能更有机会覆盖相关块。然而,随着上下文长度进一步增加,答案质量下降,因为使用了更多不相关的块作为干扰。

具体来说,Llama3.1-8B模型在EN.QA数据集和EN.MC数据集上的性能峰值出现在上下文长度为16K时,而Llama3.1-70B模型在EN.QA上的最佳性能出现在48K,在EN.MC上为32K。Llama3.1-70B的峰值点晚于Llama3.1-8B模型,这可能是因为更大规模的模型具有更强的能力来区分无关的干扰。

图 4:提出的顺序保留RAG与普通RAG的比较。评估在coBench的En.QA和EN.MC数据集上进行,使用Llama3.1-70B模型

顺序保留RAG与普通RAG的比较。如图4 所示,当检索的块数较少时(例如,8),提出的顺序保留RAG相对于普通RAG的优势并不显著。相反,当检索的块数较多时,论文的顺序保留RAG显著优于普通RAG。具体来说,在EN.QA数据集上,当检索的块数为128时,普通RAG仅达到38.40 F1分数,而论文的顺序保留RAG达到44.43 F1分数。在EN.MC数据集上,检索192个块时,普通RAG仅达到81.22的准确率,而论文的顺序保留RAG达到88.65的准确率。

2.3.4 主要结果

论文将提出的顺序保留RAG与两类基线进行比较。第一类方法使用不带RAG的长上下文LLM。如表1所示,没有RAG时,LLM需要输入大量的token,这既低效又昂贵。

相比之下,提出的顺序保留RAG不仅显著减少了token数量,还显著提高了答案质量。例如,使用Llama3.1-70B模型,没有RAG的方法在EN.QA上仅达到34.26的F1分数,平均输入117K个token。

相比之下,论文的OP-RAG在输入48K个token时达到47.25的F1分数。第二类基线采用SELF-ROUTE机制(Li et al., 2024),该机制根据模型自我反思将查询路由到RAG或长上下文LLM。如表1所示,论文的方法显著优于在LLMs输入中使用少得多的token。

表1:不带RAG的长上下文LLM、SELF-ROUTE机制(Li et al., 2024)与提出的顺序保留(OP)RAG的比较。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值