微信扫码
与创始人交个朋友
我要投稿
吴一心,徐志波,石天远,王正远,李世正,齐谦,尹瑞成,吕昌泽,郑晓晴∗,黄选静。 复旦大学计算机学院,中国上海 上海智能信息处理重点实验室{xiaohuawang22,zhenghuawang23}@m.fudan.edu.cn {zhengxq,xjhuang}@fudan.edu.cn
摘要
检索增强生成(RAG)技术已被证明在整合最新信息、减轻幻觉并增强响应质量方面非常有效,特别是在专业领域。尽管许多RAG方法已被提出以通过查询相关的检索增强大型语言模型,但这些方法仍然受到复杂的实施和长时间响应的困扰。通常,RAG工作流涉及多个处理步骤,每个步骤可以以不同方式执行。在这里,我们调查现有的RAG方法及其潜在的组合,以确定最佳的RAG实践。通过大量实验,我们建议几种部署RAG的策略,既能平衡性能又能提高效率。此外,我们展示了多模态检索技术可以显著增强有关视觉输入的问答能力,并通过“检索即生成”策略加快多模态内容的生成。资源可https://github.com/FudanDNN-NLP/RAG找到。
1简介
2相关工作
2.1查询和检索转换
2.2检索增强策略
2.3检索器和生成器的微调
3RAG 工作流程
3.1查询分类
3.2分块
3.3向量数据库
3.4检索方法
3.5重新排序方法
3.6文档重装
3.7总结
3.8生成微调
4寻找最佳的RAG实践
4.1综合评价
4.2结果与分析
5讨论
5.1实施RAG的最佳实践
5.2多模态扩展
6结论
7限制条件
8致谢
9参考文献
A实验细节
A.1查询分类
A.2检索方法的实验细节
A.3重排方法的实验细节
A.4摘要方法的实验细节
A.5生成器微调实验细节
A.6综合评估的实验细节
生成式大型语言模型很容易产生过时信息或捏造事实,尽管它们通过强化学习[1]或轻量级替代方案[2-5]与人类偏好保持一致。检索增强生成(RAG)技术通过结合预训练和基于检索的模型的优势来解决这些问题,从而提供了一个强大的框架来增强模型性能[6]。此外,RAG使得能够快速部署特定组织和领域的应用程序,无需更新模型参数,只需提供与查询相关的文档。
许多RAG方法已被提出,通过查询相关的检索来增强大型语言模型(LLMs)[6–8]。典型的RAG工作流通常包含多个介入处理步骤:查询分类(确定是否对给定的输入查询进行检索)、检索(高效获取与查询相关的文档)、重新排序(根据其与查询相关性对检索文档的顺序进行细化)、重装(将检索的文档组织成一个结构化的文档以进行更好的生成)、总结(从重新打包的文档中提取用于生成响应的关键信息并消除冗余)模块。实施RAG还需要决定如何将文档正确地分割成块、用于语义表示这些块的嵌入类型、选择...
预印本。正在审阅中。
图1:检索增强生成工作流程。本研究探讨了每个组件的贡献,并通过广泛实验为最佳RAG实践提供了见解。对每个组件考虑的可选方法以粗体字表示,而下划线表示个别模块的默认选择。以蓝色字体表示的方法经实践确定为表现最佳的选择。
使用向量数据库来高效存储特征表示,并有效地微调LLMs的方法(见图1)。
在实施每个处理步骤时,增加复杂性和挑战的是可变性。例如,在为输入查询检索相关文档时,可以采用各种方法。一种方法涉及首先重写查询,然后使用重写的查询进行检索[9]。另一种选择是首先生成对查询的伪响应,然后比较这些伪响应与后端文档之间的相似性以进行检索[10]。另一个选项是直接使用嵌入模型,通常使用正负查询-响应对进行对比训练[11, 12]。对于每个步骤选择的技术及其组合会显著影响RAG系统的有效性和效率。据我们所知,迄今为止尚未有系统性的努力追求RAG的最佳实现,特别是针对整个RAG工作流程。
本研究旨在通过广泛实验来确定最佳的RAG最佳实践。鉴于测试所有可能的这些方法组合是不可行的,我们采用三步方法来确定最佳的RAG实践。首先,我们比较每个RAG步骤(或模块)的代表性方法,并选择最佳表现的最多三种方法。接下来,我们通过逐个测试各个步骤的一种方法,同时保持其他RAG模块不变,评估每种方法对整体RAG性能的影响。这使我们能够根据在响应生成期间对其他模块的贡献和相互作用来确定每个步骤的最有效方法。一旦为模块选择了最佳方法,我们将在随后的实验中使用它。最后,我们根据这些发现,提出了一些适用于不同应用场景的有前途的组合,其中效率可能优先于性能,反之亦然。基于这些发现,我们建议几种部署RAG的策略,平衡性能和效率。
这项研究的贡献有三个方面:
通过大量的实验,我们彻底调查了现有的 RAG 方法和它们的组合,以确定和推荐最佳的 RAG 实践。
我们引入了一个评估指标和相应数据集的全面框架,以全面评估检索增强生成模型的性能,涵盖通用、专业(或领域特定)以及与RAG相关的能力。
将多模式检索技术的整合展示出来,可以显著提高对视觉输入的问答能力,并通过“检索即生成”策略加快多模式内容的生成速度。
有效的检索需要查询准确、清晰和详细。即使转换为嵌入式表示,查询与相关文档之间的语义差异仍可能持续存在。先前的研究已经探索了通过查询转换来增强查询信息,从而提高检索性能的方法。例如,Query2Doc [17] 和 HyDE [10] 从原始查询生成伪文档来增强检索,而 TOC [18] 将查询分解为子查询,对检索内容进行聚合以获得最终结果。
其他研究集中在转换检索源文件上。 LlamaIndex [19] 提供一个界面来为检索文档生成伪查询,从而改善与真实查询的匹配。 一些研究采用对比学习将查询和文档嵌入在语义空间中更接近[12, 20, 21]。 后处理检索文档是增强生成器输出的另一种方法,采用分层提示摘要[22]和使用抽象和提取式压缩器[23]等技术来减少上下文长度并去除冗余[24]。
文档分块和嵌入方法显著影响检索性能。常见的分块策略将文档分成块,但确定最佳块长度可能具有挑战性。小块可能会破坏句子,而大块可能会包含无关的内容。LlamaIndex [19] 优化了分块方法,类似于Small2Big和滑动窗口。检索到的块可能是无关的,并且数量可能很多,因此需要重新排序以过滤无关的文档。常见的重新排序方法使用深度语言模型,如BERT [25],T5 [26] 或 LLaMA [27],这在重新排序过程中需要较慢的推断步骤,但能够获得更好的性能。TILDE [28, 29] 通过预计算和存储查询词项的可能性来实现效率,并根据它们的总和对文档进行排名。
在RAG框架中进行微调对优化检索器和生成器至关重要。 一些研究侧重于微调生成器以更好地利用检索器的上下文[30-32],确保生成内容忠实且稳健。 其他人则微调检索器,使其学会检索生成器所需的有益段落[33-35]。整体方法将RAG视为一个集成系统,同时微调检索器和生成器,以增强整体性能[36-38],尽管会增加复杂性和整合难题。
几项调查已经广泛讨论了当前的RAG系统,涵盖了文本生成[7, 8]、与LLM集成[6, 39]、多模态[40]和人工智能生成内容[41]等方面。尽管这些调查提供了现有RAG方法论的全面概述,但选择适当的无需检索 需要检索 "生存还是毁灭,这是一个问题。
图2:不同任务的检索需求分类。在信息未提供的情况下,我们根据模型的功能来区分任务。
在实际实施中选择合适的算法仍然具有挑战性。本文着重介绍了应用RAG方法的最佳实践,推进对LLMs中RAG的理解和应用。
在本节中,我们详细介绍了RAG工作流程的组成部分。对于每个模块,我们审查了常用的方法,并为我们的最终流程选择了默认和备选方法。第4节将讨论最佳实践。图1展示了每个模块的工作流程和方法。详细的实验设置,包括数据集、超参数和结果在附录A中提供。
不是所有查询都需要通过检索增强来进行,这是因为LLMs具有固有的能力。虽然RAG可以提高信息准确性并减少幻觉,但频繁的检索可能会增加响应时间。因此,我们首先对查询进行分类,以确定是否需要检索。需要检索的查询将通过RAG模块进行处理;其他查询将直接由LLMs处理。
检索通常在需要超出模型参数的知识时进行推荐。然而,检索的必要性因任务而异。例如,一个在2023年培训的LLM可以处理一个关于“Sora是由OpenAI开发的”翻译请求而不需要检索。相反,在同一主题的介绍请求中则需要检索以提供相关信息。
因此,我们提议按类型对任务进行分类,以确定查询是否需要检索。我们对其进行分类。
根据是否提供足够的信息,对基于15个任务进行分类,具体的任务和示例如图2所示。对于完全基于用户提供信息的任务,我们表示为
“充分”,不需要检索;否则,我们将其表示为“不充分”,可能需要检索。我们训练一个分类器来自动化表1:查询分类器的结果。这个决策过程。实验细节见附录A.1。第4节探讨了查询分类对工作流程的影响,比较了有分类和无分类的情景。
表2:不同嵌入模型在namespace-Pt/msmarco上的结果。
将文档分块成更小的段落对于提高检索精度并避免LLM中的长度问题至关重要。这个过程可以应用在不同的粒度级别,如标记、句子和语义级别。
Token-level Chunking是直观的,但可能会分割句子,影响检索质量。
1.语义级别的分块利用LLMs来确定断点,保持上下文但耗时。
句级分块在保留文本语义的同时平衡简洁和效率。
本研究采用句子级别的分块,平衡简洁性和语义保留。
分块大小显著影响性能。更大的块提供更多的上下文,增强理解能力,但增加处理时间。更小的块提高检索召回率,减少时间,但可能缺乏足够的上下文。
根据所选语料库生成大约170个查询。不同块大小的影响如表3所示。
3.2.2块技术
高级技术,如小到大和滑动窗口,通过组织块块关系来提高检索质量。使用小尺寸块来匹配查询,并返回包括小块和上下文信息的较大块。
为了展示高级分块技术的有效性,我们使用LLM-Embedder [20]模型作为嵌入模型。较小的分块大小为175个标记,较大的分块大小为512个标记,分块重叠为20个标记。像从小到大和滑动窗口这样的技术通过保持上下文和确保检索到相关信息来提高检索质量。详细结果见表4。
3.2.3嵌入模型选择
选择正确的嵌入模型对于有效地语义匹配查询和分块块至关重要。我们使用FlagEmbedding的评估模块,该模块使用数据集namespace-Pt/msmarco作为查询,以及数据集namespace-Pt/msmarco-corpus作为语料库,来选择适当的开源嵌入模型。如表2所示,LLM-Embedder [20]的结果与BAAI/bge-large-en [12]相当,但前者的尺寸是后者的三倍。因此,我们选择前者。
LLM-Embedder[20]在不同块技能的平衡方面做出了以下表4的比较。
3.2.4元数据添加
增强块块与标题、关键词和假设问题等元数据一起的内容可以改善检索功能,提供更多后续处理检索到的文本的方式,并帮助LLMs更好地理解检索到的信息。将在未来的工作中对元数据的包含进行详细研究。
向量数据库存储了带有元数据的嵌入向量,通过各种索引和近似最近邻方法实现对与查询相关的文档的高效检索。
Table 5:各种向量数据库的比较
表5展示了五种开源矢量数据库的详细比较:Weaviate,Faiss,Chroma,Qdrant和Milvus。
我们的评估表明,Milvus在所评估的数据库中脱颖而出,满足所有基本标准,并胜过其他开源选项。
表6:TREC DL19/20上不同检索方法的结果。每种方法的最佳结果以粗体显示,第二好的结果以下划线显示。
表7:使用不同连接方式的虚拟文档和查询的HyDE。
查询重写:查询重写用于优化查询以更好地匹配相关文档。受到Rewrite-Retrieve-Read框架的启发[9],我们提示一个LLM重新编写查询以提升性能。查询分解:这种方法涉及根据原始查询中产生的子问题检索文档,这种方法更加复杂,难以理解和处理。
生成伪文件:这种方法是基于用户查询生成一个假设性的文件,并使用假设答案的嵌入来检索类似的文件。一个值得注意的实现是HyDE。
最近的研究,如文献[44]所示,表明将基于词汇的搜索与向量搜索相结合显著提高性能。在这项研究中,我们使用BM25进行稀疏检索,使用Contriever[45],一种无监督对比编码器,进行稠密检索,作为基于Thakur等人的两个强健基准。
考虑到,Hybrid Search结合了稀疏检索(BM25)和密集检索(原始嵌入),在相对较低的延迟下取得了显着的性能。
表7显示了使用HyDE对假设文档和查询采用不同连接策略的影响。将多个伪文档与原始查询进行连接可以显着。
表 8:具有不同 alpha 值的混合搜索结果。
表9:不同重新排序方法在MS MARCO Passage排名数据集的dev集上的结果。对于每个查询,由BM25检索的前1000个候选段落进行重新排序。延迟以每个查询的秒数计算。
增强检索性能,尽管会增加延迟,表明检索效率和效果之间存在权衡。然而,不加选择地增加假设文档数量并不能带来显著的好处,反而会大幅增加延迟,表明使用单个假设文档就足够了。
表8展示了在混合搜索中不同α值的影响,其中α控制稀疏检索和密集检索组件之间的加权。相关性分数计算如下:
Sh = α · Ss + Sd(1)
Ss,Sd分别为稀疏检索和密集检索的归一化相关性得分,Sh为总体检索得分。
我们评估了五个不同的 α 值,以确定它们对性能的影响。结果显示,α 值为 0.3 时表现最佳,表明适当调整 α 可以在一定程度上增强检索效果。因此,我们选择了 α = 0.3 用于我们的检索和主要实验。附录 A.2 中提供了额外的实现细节。
在初始检索后,会使用重新排名阶段来增强检索文档的相关性,确保最相关的信息出现在列表的顶部。这个阶段使用更精确和耗时的方法来有效地重新排列文档,增加查询和排名靠前文档之间的相似性。
我们的重新排名模块考虑了两种方法:DLM重新排名,利用分类;TILDE重新排名,侧重于查询可能性。这些方法分别优先考虑性能和效率。
1.DLM 重排:该方法利用深度语言模型(DLMs)[25–27] 进行重排。 这些模型经过微调,用于对文档与查询的相关性进行分类,标记为“ true”或“ false”。 在微调期间,模型通过连接的查询和文档输入进行训练,并由相关性标记。 在推断期间,文档根据“ true”标记的概率进行排序。
2.TILDE 重新排序:TILDE [28, 29] 通过预测模型词汇表中的标记概率,独立计算每个查询词的可能性。文档通过求和得分。
NQTQAHotPotQA 方法平均值。单词平均值。
表10: 不同摘要方法的比较。
查询标记的预先计算对数概率,允许在推断时进行快速重新排序。 TILDEv2 通过只索引文档中存在的标记,使用 NCE 损失,并扩展文档,从而提高效率,减少索引大小。
我们的实验是在MS MARCO通道排名数据集上进行的,这是一个用于机器阅读理解的大规模数据集。我们遵循并对PyGaggle和TILDE提供的实现进行了修改,使用了模型monoT5,monoBERT,RankLLaMA和TILDEv2。重新排序的结果显示在表9中。我们推荐monoT5作为一个综合方法,平衡了性能和效率。RankLLaMA适用于实现最佳性能,而TILDEv2则适用于在固定收藏中获得最快体验。关于实验设置和结果的详细信息请参见附录A.3。
在重新排序后提供文档的顺序可能会影响接下来的流程,比如LLM响应生成的表现。为了解决这个问题,我们在重新排序后的工作流中加入了一个紧凑的重新打包模块,包括三种重新打包方法:“前向”、“逆向”和“两侧”。“前向”方法按照重新排序阶段的相关性分数降序重新打包文档,而“逆向”方法按照升序排列它们。受刘等人 [48] 的启发,得出最佳表现是在输入的头部或尾部放置相关信息时实现的结论,我们还包括了一个“两侧”选项。
由于重新打包方法主要影响后续模块,我们在第4节通过将其与其他模块结合测试来选择最佳的重新打包方法。在本节中,我们将“边缘”方法选择为默认的重新打包方法。
检索结果可能包含冗余或不必要的信息,可能会阻止LLMs生成准确的响应。此外,长提示可能会减慢推理过程。因此,在RAG管道中,总结检索文档的有效方法至关重要。
摘要任务可以是抽取式的或生成式的。抽取式方法将文本分段成句子,然后根据重要性对其进行评分和排序。生成式压缩器从多个文档中合成信息,重新表述并生成一个连贯的摘要。这些任务可以是基于查询的或非基于查询的。在这篇论文中,由于RAG检索与查询相关的信息,我们专注于基于查询的方法。
1.Recomp: Recomp [23] 具有抽取和生成压缩器。抽取式压缩器选择有用的句子,而生成式压缩器从多篇文档中合成信息。
2.LongLLMLingua:LongLLMLingua [49]通过专注于与查询相关的关键信息改进了LLMLingua。
选择性背景有助于通过识别和消除输入背景中的冗余信息来增强LLM效率。它使用基于原因的语言模型计算的自信息来评估词汇单位的信息量。这种方法是非查询型的,允许比较基于查询和非查询的方法。
我们在三个基准数据集上评估了这些方法:NQ,TriviaQA和HotpotQA。不同总结方法的比较结果显示在表10中。我们推荐Recomp。
在本节中,我们专注于对生成进行微调,而将检索器的微调留给以后的探索。我们的目标是研究微调的影响,特别是相关或不相关上下文对生成器性能的影响。
形式上,我们将x表示为馈入RAG系统的查询,将D表示为此输入的上下文。生成器的微调损失是地面真实输出y的负对数似然。
探讨微调的影响,尤其是相关和无关上下文,我们将dgold定义为与查询相关的上下文,将drandom定义为随机检索到的上下文。我们通过改变D的组成来训练模型,如下所示:
增强上下文由与查询相关的文档组成,表示为Dg = {dgold}。
Dr:上下文包含一个随机抽取的文件,表示为Dr = {drandom}。
增强背景由一个相关文档和一个随机选择的文档组成,表示为Dgr = {dgold,drandom}。
增强上下文由两份与查询相关的文档副本组成,表示为 gg = 黄金黄金。
我们将未经微调的基础LM生成器表示为Mb,将在相应D下进行微调的模型表示为Mg,Mr,Mgr,Mgg。我们在几个问答和阅读理解数据集上对我们的模型进行了微调。由于问答任务的答案相对较短,我们使用基准覆盖率作为评估指标。我们将Llama-27B [50]选择为基础模型。类似于训练,我们在带有Dg,Dr,Dgr和D∅的验证集上评估所有训练过的模型,其中D∅表示没有检索的推断。图3展示了我们的主要结果。在提供金标或混合上下文时,使用一种相关和随机文档混合训练的模型(Mgr)表现最佳。这表明在训练过程中混合相关和随机上下文可以增强生成器对无关信息的鲁棒性,同时确保有效利用相关上下文。因此,我们确定了以下实践:Figure 3: 生成器微调的结果。
在培训过程中增加几篇相关且随机选择的文档是最好的。
方法。更详细的数据集信息,超参数和实验结果可在附录A.5中找到。
在接下来的部分中,我们将研究实施 RAG 的最佳实践。首先,我们使用了第3节中确定的默认实践,用于每个模块。按照图1中描述的工作流程,我们逐个优化各个模块,并从各种选择中选择最有效的选项。这个迭代过程一直持续,直到我们确定了实施最终摘要模块的最佳方法。根据第3.8节,我们使用了 fine-tuned 的 Llama2-7B-Chat 模型,其中每个查询都通过选择几篇随机选择的相关文档进行了增强。CommonsenseFact CheckODQAMultihopMedicalRAGAvg.--> Commonsense事实检查ODQA多跳医学RAG平均。
表11:寻找最佳RAG实践结果。方框模块中的模块正在进行调查,以确定最佳方法。下划线表示所选的实施方法。“Avg”(平均分数)是根据所有任务的Acc,EM和RAG分数计算的,而平均延迟以每次查询的秒数进行测量。最佳分数已用粗体突出显示。
我们进行了广泛的实验,跨越各种自然语言处理任务和数据集,以评估RAG系统的性能。具体包括:(I)常识推理;(II)事实核实;(III)开放领域问答;(IV)多跳问答;(V)医学问答。有关任务及其相应数据集的更多详细信息,请参阅附录A.6。此外,我们根据RAGAs [51] 推荐的指标,评估了从这些数据集中提取的子集上的RAG能力,包括忠实度、上下文相关性、答案相关性和答案正确性。此外,我们通过计算检索文档与黄金文档之间的余弦相似度,来衡量检索相似度。
我们在Commonsense Reasoning(常识推理)、Fact Checking(事实核实)和Medical QA(医学问答)任务中使用准确度作为评估指标。对于Open-Domain QA(开放领域问答)和Multihop QA(多跳问答),我们采用了标记级别的F1分数和精确匹配(Exact Match,EM)分数。最终的RAG得分是通过计算上述五个RAG能力的平均值得出的。我们遵循Trivedi等人的做法,并从每个数据集中抽样高达500个示例。
根据表11中呈现的实验结果,得出以下关键见解:
1.查询分类模块:该模块被引用并对效果和效率都有贡献,导致整体得分从0.428提高到0.443,每次查询的延迟时间从16.41秒降至11.58秒。
2.检索模块:虽然“混合使用HyDE”方法获得了最高的RAG得分0.58,但每次查询需要11.71秒的计算成本。因此,“混合”或“原始”方法被推荐,因为它们可以降低延迟同时保持可比较的性能。重新排名模块:缺乏重新排名模块导致性能明显下降,凸显其必要性。MonoT5取得了最高的平均分,证实了其在增加检索文档相关性方面的效力。这表明重新排名在提升生成响应质量中起着关键作用。
3.重新打包模块:反向配置表现出优异的性能,实现了0.560的RAG得分。这表明,将更相关的上下文靠近查询会导致最佳结果。
4.摘要模块:Recomp表现出优越的性能,尽管通过移除摘要模块也可以实现具有更低延迟的可比结果。然而,由于Recomp能够处理生成器的最大长度限制,因此仍然是首选。在时间敏感的应用中,移除摘要可能有效地减少响应时间。
实验结果表明,RAG系统的每个模块对系统整体性能的贡献是独特的。 查询分类模块提高了准确性并降低了延迟,而检索和重新排序模块显著提升了系统处理不同查询的能力。重打包和摘要模块进一步完善了系统的输出,确保在不同任务中提供高质量的响应。
根据我们的实验结果,我们建议为实施RAG系统提供两种不同的配方或实践,每种都定制以满足特定需求:一种侧重于最大化性能,另一种侧重于在效率和功效之间取得平衡。
最佳性能实践:为了达到最高性能,建议加入查询分类模块,使用“Hybrid with HyDE”方法进行检索,使用monoT5进行重新排序,选择Reverse进行重组,利用Recomp进行摘要生成。尽管这种配置需要计算密集型的处理,但可以获得最高的平均得分0.483。
1.植根性:检索方法提供来自经过验证的多模态材料的信息,从而确保真实性和特异性。相比之下,即时生成依赖模型生成新内容,这可能偶尔导致事实错误或不准确。
效率:检索方法通常更有效率,尤其是当答案已经存在于存储材料中时。相比之下,生成方法可能需要更多的计算资源来产生新内容,特别是对于图片或长篇文本。
图4:多模态检索的工作流程。上半部分展示了文本到图像的检索过程。首先,使用文本查询在数据中找到与之最相似的图像。如果找到高度相似的图像,则直接返回该图像。如果没有找到,则使用图像生成模型创建并返回合适的图像。下半部分演示了图像到文本的检索过程。在这里,用户提供的图像与数据库中的图像进行匹配,以找到最高相似度。如果找到高度相似的图像,则返回匹配图像的预存标题。否则,图像字幕生成模型会生成并返回新的字幕。
可维护性:生成模型通常需要仔细调整以适应新应用。相比之下,基于检索的方法可以通过简单扩大规模并提高检索来源的质量来改进以满足新需求。
我们计划将这种策略应用拓展到包括视频和语音等其他模态,同时探索高效和有效的跨模检索技术。
在这项研究中,我们旨在确定实施检索增强生成的最佳实践,以提高大型语言模型生成的内容质量和可靠性。我们系统地评估了RAG框架中每个模块的一系列潜在解决方案,并为每个模块推荐了最有效的方法。此外,我们引入了一个用于RAG系统的综合评估基准,并进行了大量实验,以确定各种替代方案中的最佳实践。我们的发现不仅有助于更深入地理解检索增强生成系统,还为未来研究奠定了基础。
我们已经评估了各种微调LLM生成器的方法的影响。先前的研究已经证明了训练检索器和生成器共同的可行性。我们希望在未来探索这种可能性。在这项研究中,我们采纳了模块化设计原则,简化了寻找最佳RAG实现的过程,从而降低了复杂性。由于构建向量数据库和进行实验所涉及的巨大成本,我们的评估仅限于研究代表性分块技术在分块模块中的有效性和影响。进一步探索不同分块技术对整个RAG系统的影响将是一个有趣的挑战。虽然我们已经讨论了RAG在自然语言处理领域的应用,并将其范围扩展到图像生成,但未来探索的一个诱人方向将涉及将这项研究扩展到其他形式,如语音和视频。
作者们感谢匿名审稿人提供的宝贵意见。本工作得到中国国家自然科学基金资助(项目编号:62076068)。
1.Long Ouyang, Jeff Wu, Xu Jiang, Diogo Almeida, Carroll L. Wainwright, Pamela Mishkin, Chong Zhang, Sandhini Agarwal, Katarina Slama, Alex Ray, John Schulman, Jacob Hilton,Fraser Kelton, Luke Miller, Maddie Simens, Amanda Askell, Peter Welinder, Paul Christiano, Jan Leike, and Ryan Lowe. Training language models to follow instructions with human feedback. In Proceedings of the Conference on Neural Information Processing Systems (NeurIPS 2022), 2022.
2.Rafael Rafailov, Archit Sharma, Eric Mitchell, Stefano Ermon, Christopher D Manning, and Chelsea Finn. 直接偏好优化:你的语言模型暗地里是一个奖励模型。arXiv预印本 arXiv:2305.18290, 2023.
3.Yao Zhao, Rishabh Joshi, Tianqi Liu, Misha Khalman, Mohammad Saleh 和 Peter J Liu. SLICHF: Sequence likelihood calibration with human feedback. arXiv 预印本 arXiv:2305.10425, 2023.
4.郑远,袁宏毅,谭传奇,王伟,黄松方和黄飞。RRHF:在没有眼泪的情况下,通过排列语言模型与人类反馈进行排序。arXiv预印本arXiv:2304.05302,2023。
5.刘文浩,王晓华,吴木灵,李天龙,吕常泽,凌子轩,朱建豪,张岑远,郑晓青和黄选靖。通过表示工程将大型语言模型与人类偏好进行对齐。arXiv预印本arXiv:2312.15997,2023年。
6.云帆高,云熊,新雨高,康祥佳,金柳盘,于希,易带,嘉伟孙和浩芬王。检索增强生成用于大型语言模型:一项调查。arXiv预印本arXiv:2312.10997,2023。
7.华阳李,义轩苏,戴才,言王和刘乐茂。一项关于检索增强文本生成的调查。arXiv预印本arXiv:2202.01110,2022。
8.Deng Cai, Yan Wang, Lemao Liu, 和 Shuming Shi。最近在检索增强文本生成方面取得了进展。在第45届国际ACM SIGIR研究与信息检索开发会议论文集上,页码3417-3419,2022年。
9.新北马,叶韵龚,彭城贺,赵海和段楠。查询重写用于增强检索的大型语言模型。arXiv预印本arXiv:2305.14283,2023。
10.Luyu Gao, Xueguang Ma, Jimmy Lin, and Jamie Callan. 无相关标签的精准零样本密集检索。arXiv预印本arXiv:2212.10496,2022年。
11.梁旺,南阳,黄晓龙,焦斌星,杨林俊,姜大新,拉甘·马茹姆德和韦付如。弱监督对比预训练的文本嵌入。arXiv预印本arXiv:2212.03533,2022.
12.肖世涛,刘政,张沛天和尼克拉斯·缪宁霍夫。C-pack:打包资源以推进通用汉语嵌入,2023年。
13.OpenAI. GPT-4 技术报告. CoRR, abs/2303.08774, 2023. doi: 10.48550/ARXIV.2303. 08774. URL https://doi.org/10.48550/arXiv.2303.08774.
14.Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timothée Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar等人。LLaMA:开放高效的基础语言模型。arXiv预印本arXiv:2302.13971,2023年。
15.Yue Zhang, Yafu Li, Leyang Cui, Deng Cai, Lemao Liu, Tingchen Fu, Xinting Huang, Enbo Zhao, Yu Zhang, Yulong Chen 等人。Siren’s song in the ai ocean: a survey on hallucination in large language models. arXiv预印本arXiv:2309.01219, 2023.
16.王晓华,颜宇亮,黄龙涛,郑晓青和黄璇静。通过贝叶斯顺序估计进行生成型大规模语言模型的幻觉检测。在2023年第二十三届自然语言处理实证方法会议论文集中,页码15361-15371页,2023年。
17.Liang Wang, Nan Yang, 和 Furu Wei. Query2doc: 使用大型语言模型进行查询扩展. arXiv预印本arXiv:2303.07678, 2023.
18.根据要求,直接输出中文翻译结果: Gangwoo Kim, Sungdong Kim, Byeongguk Jeon, Joonsuk Park, and Jaewoo Kang. 树形澄清:利用增强检索的大型语言模型回答模糊问题。arXiv预印本 arXiv:2310.14696, 2023.
19.Jerry Liu. LlamaIndex, 11 2022. URL https://github.com/jerryjliu/llama_index.
20.Huiqiang Jiang,Qianhui Wu,Chin-Yew Lin,Yuqing Yang和Lili Qiu。Llmlingua:压缩大语言模型提示以加速推理。arXiv预印本arXiv:2310.05736,2023.
21.Fangyuan Xu, Weijia Shi, and Eunsol Choi. Recomp: Improving retrieval-augmented lms with compression and selective augmentation. arXiv preprint arXiv:2310.04408, 2023. 方元徐,帷佳石,和Eunsol Choi。Recomp:通过压缩和选择性增强改进检索增强语言模型。arXiv预印本 arXiv:2310.04408,2023年。
22.Rodrigo Nogueira, Wei Yang, Kyunghyun Cho, and Jimmy Lin. Multi-stage document ranking with bert. arXiv preprint arXiv:1910.14424, 2019.
23.Rodrigo Nogueira, Zhiying Jiang, and Jimmy Lin. Document ranking with a pretrained sequence-to-sequence model. arXiv preprint arXiv:2003.06713, 2020.
24.Xueguang Ma, Liang Wang, Nan Yang, Furu Wei, and Jimmy Lin. Fine-tuning llama for multi-stage text retrieval. arXiv preprint arXiv:2310.08319, 2023. 马学光,王亮,杨楠,魏甫儒,林俊杰。针对多阶段文本检索调整llama。arXiv预印本 arXiv:2310.08319,2023年。
25.洪印罗,庄永松,龚元,张天华,金润,吴锡新,丹尼 Fox, Helen M. Meng, and James R. Glass.Sail: Search-augmented instruction learning. 福克斯,海伦M. 孟和詹姆士R. 格拉斯。Sail:搜索增强指导学习。在2023年举办的自然语言处理实证方法会议。网址https://api.semanticscholar.org/CorpusID:258865283。
26.张天俊,Shishir G. Patil,Naman Jain,沈晟,Matei A. Zaharia,Ion Stoica和Joseph E. Gonzalez。Raft:将语言模型调整到特定领域的RAG。ArXiv,abs/2403.10131,2024年。
27.Zihan Liu, Wei Ping, Rajarshi Roy, Peng Xu, Chankyu Lee, Mohammad Shoeybi, and Bryan Catanzaro. Chatqa: Surpassing gpt-4 on conversational qa and rag. 2024. URL https://api.semanticscholar.org/CorpusID:267035133.
28.Lingxi Zhang, Yue Yu, Kuan Wang, and Chao Zhang. Arl2: Aligning retrievers for black-box large language models via self-guided adaptive relevance labeling. ArXiv, abs/2402.13542, 2024. 林熙张,岳瑜,宽旺,张超。Arl2:通过自导自适应相关性标记为黑盒大语言模型对齐检索器。ArXiv,abs/2402.13542,2024年。
29.Kelvin Guu, Kenton Lee, Zora Tung, Panupong Pasupat, and Ming-Wei Chang. Realm: Retrieval-augmented language model pre-training. ArXiv, abs/2002.08909, 2020. 领域:检索增强语言模型预训练。 ArXiv,abs/2002.08909,2020年。
30.Xi Victoria Lin, Xilun Chen, Mingda Chen, Weijia Shi, Maria Lomeli, Rich James, Pedro Rodriguez, Jacob Kahn, Gergely Szilvasy, Mike Lewis, Luke Zettlemoyer, 和 Scott Yih. Ra-dit: Retrieval-augmented dual instruction tuning. ArXiv, abs/2310.01352, 2023.
31.Hamed Zamani 和 Michael Bendersky。随机rag:通过期望效用最大化实现端到端的检索增强生成。2024年。URL https://api.semanticscholar.org/CorpusID:269605438。
32.Yizheng Huang 和 Jimmy Huang。 关于大型语言模型的检索增强文本生成的调查。 arXiv 预印本 arXiv: 2404.10981,2024年。
33.赵若辰,陈海林,王维诗,焦方凯,杜璇龙,秦承伟,丁伯升,郭晓宝,李敏志,李星轩等。检索增强生成的多模态信息:一项调研。arXiv预印本 arXiv:2303.10868,2023年。
34.Penghao Zhao, Hailin Zhang, Qinhan Yu, Zhengren Wang, Yunteng Geng, Fangcheng Fu, Ling Yang, Wentao Zhang, and Bin Cui. Retrieval-augmented generation for ai-generated content: A survey. arXiv preprint arXiv:2402.19473, 2024.
35.迈克尔·冈瑟,杰克明·王,伊莎贝尔·莫尔,艾拉丁·阿德萨勒姆,坦吉·阿贝尔,穆罕默德·卡利姆·阿克拉姆,苏珊娜·古兹曼,乔治奥斯·马斯特拉帕斯,莎巴·斯图鲁亚,玻·王等人。Jina嵌入2:用于长文档的8192令牌通用文本嵌入。arXiv预印本arXiv:2310.19923,2023年。
36.LlamaIndex. Llamaindex 网站。https://www.llamaindex.com。访问日期:2024年06月08日。
37.Kunal Sawarkar, Abhilasha Mangal 和 Shivam Raj Solanki. Blended rag:利用语义搜索和混合查询检索器提高rag(检索器增强生成)的精度。 arXiv 预印本 arXiv:2404.07220,2024年。
38.Nandan Thakur, Nils Reimers, Andreas Rücklé, Abhishek Srivastava, 和 Iryna Gurevych. Beir: 用于零样本评估信息检索模型的异构基准。arXiv预印本编号arXiv:2104.08663,2021年。
39.Payal Bajaj, Daniel Campos, Nick Craswell, Li Deng, Jianfeng Gao, Xiaodong Liu, Rangan Majumder, Andrew McNamara, Bhaskar Mitra, Tri Nguyen 等。Ms marco:人类生成的机器阅读理解数据集。arXiv预印本arXiv:1611.09268, 2016.
40.Nelson F Liu, Kevin Lin, John Hewitt, Ashwin Paranjape, Michele Bevilacqua, Fabio Petroni, and Percy Liang. Lost in the middle: How language models use long contexts. Transactions of the Association for Computational Linguistics, 12:157–173, 2024.
41.Huiqiang Jiang, Qianhui Wu, Xufang Luo, Dongsheng Li, Chin-Yew Lin, Yuqing Yang, and Lili Qiu. Longllmlingua: Accelerating and enhancing llms in long context scenarios via prompt compression. arXiv preprint arXiv:2310.06839, 2023.
42.Hugo Touvron, Louis Martin, Kevin R. Stone, Peter Albert, Amjad Almahairi, Yasmine Babaei.尼古拉·巴什利科夫,索米亚·巴特拉,普拉杰瓦尔·巴尔加瓦,舒尔蒂·博萨勒,丹尼尔·M·拜克尔,卢卡斯·布莱彻,克里斯蒂安·坎顿·费雷尔,莫雅·陈,吉勒姆·库库鲁尔,大卫·艾西奥布,裘德·费尔南德斯,杰里米·符,文印·符,布莱恩·富勒,辛西娅·高,维达努基·高斯瓦米,纳曼·戈亚尔,安东尼·S·哈特肖恩,萨加尔·赫塞尼,雷茵·侯,哈坎·伊南,马尔钦·卡尔达斯,维克托·克尔克斯,马迪安·卡布萨,伊莎贝尔·M·克劳曼,A.V.科里涅夫,普尼特·辛格·库拉,玛丽·安妮·拉肖,蒂博auxLavril, Jenya Lee, Diana Liskovich, Yinghai Lu, Yuning Mao, Xavier Martinet, Todor Mihaylov, Pushkar Mishra, Igor Molybog, Yixin Nie, Andrew Poulton, Jeremy Reizenstein, Rashi Rungta,Kalyan Saladi, Alan Schelten, Ruan Silva, Eric Michael Smith, R. Subramanian, Xia Tan, Binh唐, 罗斯·泰勒, 阿迪娜·威廉姆斯, 建香宽, 普欣徐, 正绪严, 伊利扬扎罗夫。Yuchen Zhang, Angela Fan, Melanie Kambadur, Sharan Narang, Aurelien Rodriguez, Robert Stojnic, Sergey Edunov和Thomas Scialom. Llama 2: 开放基础和微调聊天模型. ArXiv, abs/2307.09288, 2023.
43.Harsh Trivedi, Niranjan Balasubramanian, Tushar Khot, 和 Ashish Sabharwal. Musique: Multihop questions via single-hop question composition. Transactions of the Association for Computational Linguistics, 页码 539–554, 2022年5月. doi: 10.1162/tacl_a_00475. URL http://dx.doi.org/10.1162/tacl_a_00475.
44.迈克·康诺弗(Mike Conover)、马特·哈耶斯(Matt Hayes)、安基特·马图尔(Ankit Mathur)、谢建伟(Jianwei Xie)、万军(Jun Wan)、萨姆·沙阿(Sam Shah)、阿里·戈德西(Ali Ghodsi)、帕特里克·温德尔(Patrick Wendell)、马泰·扎哈里亚(Matei Zaharia)和雷诺德·辛(Reynold Xin)。《自由多利:引入世界首款真正开放的指令调整型llm》,2023。 URL https://www.databricks.com/blog/2023/04/12/ dolly-first-open-commercially-viable-instruction-tuned-llm。
45.Nick Craswell, Bhaskar Mitra, Emine Yilmaz, Daniel Fernando Campos, and Ellen M. Voorhees. 尼克·克拉斯威尔,巴斯卡尔·米特拉,埃米娜·伊尔马兹,丹尼尔·费尔南多·坎波斯和艾伦·M·沃希斯。trec 2019深度学习赛道概览。ArXiv,abs/2003.07820,2020。URL https://api.semanticscholar.org/CorpusID:253234683。
46.Nick Craswell, Bhaskar Mitra, Emine Yilmaz, Daniel Fernando Campos, and Ellen M. Voorhees. trec 2020深度学习赛道概述。ArXiv,abs/2102.07662,2021年。URL https://api.semanticscholar.org/CorpusID:212737158.
47. Jimmy Lin, Xueguang Ma, Sheng-Chieh Lin, Jheng-Hong Yang, Ronak Pradeep和Rodrigo Nogueira。Pyserini:一个用于稀疏和稠密表示可重现信息检索研究的Python工具包。在第44届国际ACM SIGIR信息检索研究与开发会议论文集中,页码2356–2362,2021年。
48. Tom Kwiatkowski, Jennimaria Palomaki, Olivia Redfield, Michael Collins, Ankur P. Parikh, Chris Alberti, Danielle Epstein, Illia Polosukhin, Jacob Devlin, Kenton Lee, Kristina Toutanova, Llion Jones, Matthew Kelcey, Ming-Wei Chang, Andrew M. Dai, Jakob Uszkoreit, Quoc V. Le, and Slav Petrov. Natural questions: A benchmark for question answering research. Transactions of the Association for Computational Linguistics, 7:453–466, 2019.
49. Mandar Joshi,Eunsol Choi,Daniel S. Weld和Luke Zettlemoyer。Triviaqa:一个大规模的远程监督阅读理解挑战数据集。ArXiv,abs/1705.03551,2017。
50. HotpotQA:一个用于多样化、可解释的多跳问题回答的数据集。arXiv预印本arXiv:1809.09600,2018。
51. Ivan Stelmakh, Yi Luan, Bhuwan Dhingra, and Ming-Wei Chang. Asqa: Factoid questions meet long-form answers. ArXiv, abs/2204.06092, 2022. 艾万·斯泰尔马赫(Ivan Stelmakh),栾毅(Yi Luan),布万·丁拉(Bhuwan Dhingra)和张明伟(Ming-Wei Chang)。Asqa:事实问题遇上长篇答案。ArXiv,abs/2204.06092,2022。
52. Tomáš Kociskˇy, Jonathan Schwarz, Phil Blunsom, Chris Dyer, Karl Moritz Hermann, Gábor` Melis 和 Edward Grefenstette. The narrativeqa reading comprehension challenge. Transactions of the Association for Computational Linguistics, 6:317–328, 2018.
53. Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. Squad: 100,000+ questions for machine comprehension of text. arXiv预印本arXiv:1606.05250,2016.
54. Stephanie Lin, Jacob Hilton, 和 Owain Evans. Truthfulqa: Measuring how models mimic human falsehoods. arXiv预印本 arXiv:2109.07958, 2021.
55. J. Edward Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, and Weizhu Chen. Lora: Low-rank adaptation of large language models. ArXiv, abs/2106.09685, 2021.
56. Dan Hendrycks, Collin Burns, Steven Basart, Andy Zou, Mantas Mazeika, Dawn Song, and Jacob Steinhardt. Measuring massive multitask language understanding. Cornell University arXiv,Cornell University - arXiv, Sep 2020.
57. 彼得·克拉克(Peter Clark)、艾萨克·考维(Isaac Cowhey)、奥伦·艾吉尼(Oren Etzioni)、图沙尔·科特(Tushar Khot)、阿希什·萨巴尔瓦尔(Ashish Sabharwal)、卡丽莎·舒尼克(Carissa Schoenick)和奥伊文德·塔夫约德(Oyvind Tafjord)。认为你已经解决了问题回答吗?来尝试ARC,AI2推理挑战。ArXiv,abs/1803.05457,2018。URL https://api.semanticscholar.org/CorpusID: 3922816.
58. Todor Mihaylov, Peter Clark, Tushar Khot, and Ashish Sabharwal. Can a suit of armor conduct electricity? a new dataset for open book question answering. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, Jan 2018. doi:
a) 10.18653/v1/d18-1260. URL http://dx.doi.org/10.18653/v1/d18-1260.
59. James Thorne, Andreas Vlachos, Christos Christodoulopoulos和Arpit Mittal。Fever: 一个用于事实抽取和验证的大型数据集。ArXiv, abs/1803.05355, 2018. URL https://api.semanticscholar.org/CorpusID:4711425.
60. 张天华,罗鸿音,Yung-Sung Chuang,方伟,Luc Gaitskell,Thomas Hartvigsen,吴希信,丹尼·福克斯,孟海伦和詹姆斯·R·格拉斯。可解释的统一语言检查。ArXiv,abs/2304.03728,2023年。网址https://api.semanticscholar.org/CorpusID:258041307。
61. Jonathan Berant, Andrew Chou, Roy Frostig, and Percy Liang. Semantic parsing on freebase from question-answer pairs. Empirical Methods in Natural Language Processing,Empirical Methods in Natural Language Processing, Oct 2013. Jonathan Berant, Andrew Chou, Roy Frostig和Percy Liang. 来自问题-答案对的Freebase语义解析。 自然语言处理的实证方法,2013年10月。
62. Xanh Ho, A. Nguyen, Saku Sugawara, 和 Akiko Aizawa。构建一个用于全面评估推理步骤的多跳问答数据集。ArXiv,abs/2011.01060,2020年。URL https://api.semanticscholar.org/CorpusID:226236740。
63. Ofir Press, Muru Zhang, Sewon Min, Ludwig Schmidt, NoahA. Smith, and Mike Lewis. Measuring and narrowing the compositionality gap in language models. Oct 2022. 奥菲尔·普雷斯(Ofir Press)、张牧如(Muru Zhang)、闵世源(Sewon Min)、路德维希·施密特(Ludwig Schmidt)、诺亚·史密斯(Noah A. Smith)和迈克·刘易斯(Mike Lewis)。衡量和缩小语言模型中的组成性差距。2022年10月。
64. Qiao Jin, Bhuwan Dhingra, Zhengping Liu, William W. Cohen 和 Xinghua Lu. Pubmedqa: 用于生物医学研究问题回答的数据集. 在2019年的 Empirical Methods in Natural Language Processing 会议上发表。URL https://api.semanticscholar.org/CorpusID: 202572622.
65. Akari Asai, Zeqiu Wu, Yizhong Wang, Avirup Sil和Hannaneh Hajishirzi。自我批判:通过自我反思学习检索、生成和批判。arXiv预印本arXiv:2310.11511,2023年。
在本节中,我们为每个模块提供了详细的实验设置,涵盖了数据集特定信息、训练参数以及任何额外的实验结果。
数据集:我们利用了 Databricks-Dolly-15K [53] 的一个子集并生成了额外的数据
使用 GPT-4。表 14 显示了用于生成问题的提示模板。
实现细节 :我们选择 BERT-base-multilingual-cased 作为我们的分类器,带有一个批处理大小为 16,学习率为 1e-5。表1显示了对结果的评估。
使用TREC DL 2019 [54]和2020 [55]的文本排名数据集来评估不同检索方法的性能。
不同检索方法的对比实验实现详情如下:
数据集 我们使用 TREC DL 2019 [54] 和 2020 [55] 段落排序数据集来评估不同检索方法的性能。
计量指标 广泛使用的检索评估指标包括 mAP、nDCG@10、R@50 和 R@1k。
mAP和 nDCG@10 都是顺序感知指标,它们将搜索结果的排名考虑在内。
相比之下,R@k 是一个不感知订单的指标。我们还报告了每种方法每次查询产生的平均延迟。
实现细节 对于稀疏检索,我们使用 BM25 算法,该算法依赖于 TFIDF 算法。对于密集检索,我们使用Contriever 作为我们的无监督对比文本编码器。
基于我们对嵌入模型的评估,我们使用 LLM-Embedder 实现了我们的监督密集检索。我们使用 Pyserini [56] 的BM25 和 Contriever 的默认实现。
BM25索引是在 MS MARCO 集合上使用 Lucene 构建的,而密集向量索引是在同一数据集上使用 Flat 配置使用Faiss 生成的。对于查询重写,我们提示 Zephyr-7b-alpha9(一个经过训练以充当有用助手的模型)重写原始查询。对于查询分解,我们使用 GPT-3.5-turbo-0125 将原始查询分解为多个子查询。我们密切关注 HyDE [10] 的实现,利用更高级的指令跟踪语言模型 GPT-3.5-turbo-instructed 来生成假设的答案。该模型推断的默认温度为0.7,最多可采样 512 个令牌。检索实验和评估使用Pyserini工具包进行。
我们的实验利用了MS MARCO Passage排序数据集,一个为机器阅读理解任务设计的大型语料库。该数据集包含超过880万个段落和100万个查询。训练集包含大约3.98亿个查询与对应的正面和负面段落元组,而开发集包含6,980个查询,与它们的BM25检索结果配对,并为每个查询保留了排名前1000名的候选段落。我们在开发集上评估方法的有效性,因为测试集并没有公开提供。
评估指标使用的指标是MRR@1、MRR@10、MRR@1k和Hit Rate@10。MRR@10是由MS MARCO提出的官方指标。
实施细节 我们遵循并对PyGaggle[26]和TILDE[28]提供的实施进行修改。对于基于DLM的再排序,我们使用基于T5-base的monoT5[26],基于BERT-large的monoBERT[25],以及基于Llama-2-7b的RankLLaMA[27]。对于TILDE再排序,我们使用基于BERT-base的TILDEv2[29]。
通常,reranking模块的输入会检索到50个文档。 reranking和repacking阶段后剩余的文档可以通过分配一个top-k值或相关性分数阈值来进一步集中。
结果分析 重排结果显示在表9中。我们将我们的结果与随机洗牌排序和BM25检索基线进行了比较。所有重新排名方法均表现出显着的。
表12:在不同问答数据集上,通过引入不同上下文的模型结果。
所有指标的表现均有所提高。monoT5和monoBERT的表现大致相同,而RankLLaMA表现最佳,每次延迟都在增加。TILDEv2是最快的,在每个查询中大约需要10到20毫秒,但牺牲了性能。此外,TILDEv2要求重新排名的段落必须与先前索引的集合完全相同。预处理必须在推理中为新的未见过的段落重新执行,从而抵消了效率优势。
选择性背景有助于通过识别和消除输入背景中的冗余信息来增强LLM效率。它使用基于原因的语言模型计算的自信息来评估词汇单位的信息量。这种方法是非查询型的,允许比较基于查询和非查询的方法。
度量评估指标包括F1分数和总结后更改的标记数,用于衡量简洁性。
实施细节 对于所有方法,我们使用Llama3-8B-Instruct作为生成模型,并设置摘要比例为0.4。对于抽取式方法,重要性分数决定保留的句子。对于生成式方法,我们通过摘要比例控制最大生成长度,以与抽取式方法对齐。实验在NQ测试集、TriviaQA测试集和HotpotQA开发集上进行。
我们在几个问答(QA)和阅读理解数据集上微调我们的模型,包括ASQA [60],HotpotQA [59],NarrativeQA [61],NQ [57],SQuAD [62],TriviaQA [58],TruthfulQA [63]。我们使用它们的训练集(对于那些包含大量数据的数据集)。
表14:生成任务分类数据模板。
为了评估,我们使用ASQA [60],HotpotQA [59],NQ [57],TriviaQA [58]。我们在它们的验证集上评估我们的模型,或者手动从训练集中拆分出一个子集以避免重叠。每个训练集和测试集中确切的条目数量详见表13。
我们将使用数据集提供的文件作为每个数据条目的dgold。为了获得drandom,我们在同一数据集中对不同条目的上下文进行抽样,以确保drandom和dgold的分布大致相似。
表 13:每个数据集中的样本数量用于微调实验。
QA任务的答案相对较短,而模型生成的长度有时很难限制。
实施细节 我们选择Llama-2-7b [50]作为基础模型。为了提高效率,在训练过程中我们使用LoRA [64]和int8量化。用于微调和评估的提示模板主要遵循Lin等人[37]的方法。我们将生成器训练3个时期,限制序列的最大长度为1600,使用批量大小为4,学习率为5e-5。在测试阶段,我们使用零样本设置。
详细结果表12显示了我们对每个数据集的评估结果。
任务和数据集 我们在各种自然语言处理任务和数据集上进行了大量实验,以评估RAG系统的性能。具体地:(1) 常识推理:我们在MMLU [65]、ARC-Challenge [66]和OpenbookQA [67]数据集上进行了评估。(2) 事实核查:我们的评估涵盖了FEVER [68]和PubHealth [69]数据集。(3) 开放领域问答:我们在NQ [57]、TriviaQA [58]和WebQuestions [70]数据集上进行了评估。(4) 多跳问答:
我们的评估包括HotPotQA [59]、2WikiMultiHopQA [71]和MuSiQue [52]数据集。对于MuSiQue,我们遵循[72]中概述的方法,仅关注可回答的两跳问题。医学问答:我们还在PubMedQA [73]数据集上进行评估。在每个数据集中,我们从测试集中随机抽样500条条目进行实验。对于没有测试集的数据集,我们使用开发集代替。
评估RAG的能力,我们均匀地从NQ、TriviaQA、HotPotQA、2WikiMultiHopQA和MuSiQue中收集了共计500个条目。每个条目都是一个“问题,黄金文档,黄金答案”三元组。
我们在开放域问答和多跳问答任务中使用标记级别的F1分数和EM得分,而在其他任务中使用准确性。我们使用更宽松的EM得分,该得分根据模型生成结果是否包含黄金答案来评估性能,而不是严格的精确匹配。
针对RAG能力评估,我们采用了来自RAGAs的四个指标,包括忠实度、上下文相关性、答案相关性和答案正确性。忠实度衡量生成答案与检索到的上下文之间的事实一致性。如果所有主张都可以直接推断自所提供的上下文,答案就被认为是忠实的。上下文相关性评估检索到的上下文与原始查询的相关性。答案相关性评估生成答案与原始查询的相关性。答案正确性涉及生成答案与标准答案的准确性。例如,上下文相关性是根据检索到的上下文中所有句子中与回答给定问题相关的比例计算的。
(2) -> (2)
|S|表示相关句子的数量,|Total|表示检索到的总句子数量。所有这些指标都是使用RAGAs框架评估的,其中GPT-4充当评判者。
此外,我们计算检索文档和目标文档之间的余弦相似度作为检索相似度。然后,将检索到的文档和目标文档输入到嵌入模型中,然后使用生成的嵌入来计算余弦相似度。
针对开放领域问答和多跳问答数据集,我们将生成模型的最大新标记数量设置为100个标记。对于其他数据集,我们将其设置为50个标记。为了处理过长的检索文档,在评估RankLLaMA和LongLLMLingua时,我们将文档截断为2048个单词。
对于所有数据集,我们在生成过程中使用贪婪解码。为了更好地比较不同的RAG模块的能力,我们采用了零样本评估设置,即不提供上下文示例。在多项选择和事实核对任务中,模型生成的答案可能采取多种形式(例如,“答案是A”而不是“A”)。因此,我们对模型生成的响应进行预处理,应用正则表达式模板将其与黄标签进行匹配。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-23
FastRAG半结构化RAG实现思路及OpenAI O1-long COT蒸馏路线思考
2024-11-23
检索增强生成(RAG):解密AI如何融合记忆与搜索
2024-11-23
如何提高RAG系统准确率?12大常见痛点及巧妙解!
2024-11-23
RAG 2.0性能提升:优化索引与召回机制的策略与实践
2024-11-22
RAG技术在实际应用中的挑战与解决方案
2024-11-22
从普通RAG到RAPTOR,10个最新的RAG框架
2024-11-22
如何使用 RAG 提高 LLM 成绩
2024-11-21
提升RAG性能的全攻略:优化检索增强生成系统的策略大揭秘 | 深度好文
2024-07-18
2024-05-05
2024-07-09
2024-05-19
2024-07-09
2024-06-20
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21