RAG 与 RAU:自然语言处理中检索增强语言模型的调查 RAG and RAU: A Survey on Retrieval-Augmented Language Model in Natural


论文名称:RAG and RAU: A Survey on Retrieval-Augmented Language Model in Natural Language Processing

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

Github:https://github.com/2471023025/RALM_Survey

摘要

大型语言模型(LLMs)在自然语言处理(NLP)领域推动了重大进展,但也面临幻觉和需要领域特定知识等挑战。为了缓解这些问题,最近的方法学已将从外部资源检索到的信息与LLMs集成,显著提高了它们在NLP任务中的性能。本调查论文解决了对检索增强语言模型(RALMs)(包括检索增强生成(RAG)和检索增强理解(RAU))的全面概述的缺失,深入研究了它们的范式、演变、分类和应用。本文讨论了RALMs的基本组成部分,包括检索器、语言模型和增强,以及它们的相互作用如何导致多样化的模型结构和应用。RALMs在各种任务中展示了其效用,从翻译和对话系统到知识密集型应用。该调查包括几种RALMs的评估方法,强调了在评估中健壮性、准确性和相关性的重要性。它还承认了RALMs的局限性,特别是在检索质量和计算效率方面,提供了未来研究的方向。总之,本调查旨在提供对RALMs、它们的潜力以及在NLP中未来发展的途径的结构化见解。本文附有一个Github代码库,其中包含了调查的作品和进一步学习资源:https://github.com/2471023025/RALM_Survey

引言

自然语言处理(NLP)是计算机科学和人工智能领域的一个重要焦点,致力于研究理论和方法论框架,以实现使用自然语言进行人机有效沟通的能力。作为一个多学科领域,NLP将语言学、计算机科学和数学整合在一起,旨在实现人类语言与计算机数据之间的相互转化。它的最终目标是赋予计算机处理和“理解”自然语言的能力,从而促进自动翻译、文本分类和情感分析等任务。NLP的复杂性体现在它涉及的众多步骤中,包括词语分割、词性标注、解析、词干提取、命名实体识别等,所有这些都增加了在人工智能系统中复制人类语言理解的挑战。

传统的自然语言处理任务通常采用基于统计的算法(Hogenboom et al.,2010)(Serra et al.,2013)(Aussenac-Gilles和Sörgel,2005)和深度学习算法,如卷积神经网络(CNN)(Yin et al.,2017),循环神经网络(RNN)(Banerjee et al.,2019),长短期记忆网络(LSTM)(Yao和Guan,2018)等。最近,随着变压器架构(Vaswani et al.,2017)作为自然语言处理的主要代表之一,其流行度显著增长。作为自然语言处理领域中突出的大型语言模型,变压器架构一直表现出卓越的性能,吸引了越来越多的研究人员的注意,他们致力于研究其能力。

当今最流行的语言模型主要是GPT家族(Radford et al.,2019)(Brown et al.,2020)(Achiam et al.,2023)和Bert家族(Liu et al.,2019)(Devlin et al.,2018)(Sanh et al.,2019),已经证明在多种自然语言处理任务中表现出色。在这些模型中,自编码器语言模型尤其擅长自然语言理解任务,

图1:本次调查工作的概述
自回归语言模型更适用于自然语言生成任务。虽然增加参数(Touvron 等人,2023b)和模型调整(Han 等人,2023)可以提升LLM的性能,但“幻觉”现象(Ji 等人,2023)仍然存在。此外,LLM在有效处理知识密集型工作(Feng 等人,2023)和及时更新知识(Mousavi 等人,2024)方面的局限性始终显现。因此,许多研究者(Lewis 等人,2020)(Izacard 和 Grave,2020b)(Khandelwal 等人,2019)采用了检索技术来获取外部知识,这可以帮助语言模型在多种任务中取得更好的性能。

目前,关于利用检索增强来提升LLM性能的调查很少。赵等人(2023)对多模态检索增强生成(RAG)的工作提供了全面的概述。赵等人(2024a)则专注于利用检索增强生成技术来处理人工智能生成内容(AIGC)领域。该文章提供了最近RAG工作的全面概述,但未涵盖所有相关领域。此外,该文章缺乏足够详细的内容以提供全面的发展时间线。高等人(2023)研究了大模型的RAG增强。该文章总结了最近的一些RAG工作,但介绍了检索器和生成器的独立性,这不利于后续工作中的组件升级和交互。李等人(2022b)仅关注文本生成。该文章的图表较少,内容较抽象,不利于读者理解。

此外,关于RAG的调查只能讲述自然语言生成中检索增强方法的一部分。与NLG相关的任务不仅需要检索增强技术,而且NLU任务也需要外部信息。到目前为止,还缺乏全面的调查来彻底审视在NLP的各个领域中应用增强检索技术的情况。为了改善当前情况,本文提出以下贡献:

  1. 本文不仅关注与RAG相关的工作,还着重介绍了RALM,并与NLP的概念相一致。与生成相关的工作符合NLG,而其他工作则符合NLU。

  2. 详细描述了RALM的两个组成部分,检索器和语言模型,并首次精确定义了这两个组件的不同交互模式。

  3. 提供了RALM工作时间表的全面概述,以及当前RALM常见和新颖应用的总结,并分析了相关的局限性。对这些限制的潜在解决方案进行了提出,并就未来研究方向提出建议。

图1提供了RALM方法框架的概述。以下是论文摘要:第2节定义了RALM。第3节详细分类和总结了RALM中检索器的工作。第4节详细分类和总结了RALM中语言模型的工作。第5节对RALM的特定增强进行了分类和总结。第6节对检索数据源进行了分类和总结。第7节总结了RALM的应用。第8节总结了RALM的评估和基准。最后,第9节讨论了现有RALM的局限性和未来工作方向。

定义

检索增强语言模型(RALM)是通过检索信息来优化LM的输出,从而为用户获得令人满意的结果的过程。本节通过将检索器与语言模型的交互方式进行分类,提供了RALM不同模式的详细定义。这些交互的具体分类见图2。此外,每种交互方法的发展历史见图3。假设z为检索到的消息,x为输入,y为输出,F()为一个函数,可以是语言模型或数据处理函数,以xz为独立变量,RALM的基本架构定义如下:

y = Fx, z)(1)

顺序单次交互

顺序单次交互

顺序单次交互的过程涉及通过检索器 (z|x) 找到与输入 x 相关的前 K 个文档 z,其中 η 是检索器的参数。随后,语言模型 (yi|x, z, yr) 接收输入 x 和相关文档 z,并输出第 i 个标记 yi。参数 θ 与相关的输出标记 yr 一起使用。相关输出标记的数量与语言模型的位置和类型有关。顺序单次交互的 RALM 定义如下:

yi = LM (z, x, yr) (2)

当 RALM 首次提出时,许多研究人员使用了这种方法,因为它与他们最初的想法相一致,尤其是 Lewis 等人(2020)、Guu 等人(2020)和 Izacard 和 Grave(2020b)。

顺序多次交互

随着 RALM 技术的发展,研究人员发现单次交互对于长对话生成和解决多跳问题是不足够的。因此,提出了一种具有多次交互的检索器和语言模型之间的方法。在这种方法中,研究人员包括步骤 s,通常是由语言模型首先生成输出。当需要检索技术时,使用输出的内容进行检索,相关公式表达如下:

ys = LM (z, x|y<s) (3)

这里 ys 表示当前步骤 s 生成的标记。采用这种方法的研究人员中,最著名的是 Jiang 等人(2023c)、He 等人(2022)和 Khattab 等人(2022)。

图2:检索器与语言模型交互的三种不同方式

并行交互

在前面提到的所有方法中,信息流具有明确的顺序结构,无论是从检索器到语言模型,还是从语言模型到检索器。然而,在所有领域中,这种顺序结构可能并不是最优的,并且可能不够可扩展,因此考虑到替代方法是很重要的。研究人员提出了一种新颖的并行结构,其中检索器和语言模型独立地处理用户输入 x。然后通过加权插值确定输出 yI() 是插值函数。相关方程表达如下:

y = I(LM (x, yr), z) (4)

具体的插值函数为:

p(y|x) = λpR(y|x) + (1 − λ)pLM (y|x) (5)

其中,检索到的输出标记由 pR(y|x) 表示,语言模型生成的输出标记由 pLM (y|x) 表示,权重由 λ 表示。采用这种方法的研究人员中,最著名的是 Khandelwal 等人(2019)、Alon 等人(2022)和 He 等人(2021)。

检索器

检索器在 RALM 架构中发挥着至关重要的作用。通过检索器获取的信息可以显著提高语言模型的准确性。本节总结了在 RALM 架构中常用的检索方法。检索方法根据其方法和来源分为四类:稀疏检索、密集检索、互联网检索和混合检索。表1列出了在 RALM 中检索器特定应用的信息。

稀疏检索器

在提出检索技术后的一段时间内,稀疏检索证明是解决问题的直接有效工具,特别是基于知识的问题。稀疏检索的主要优点之一是其简单性,由于涉及的维度较少,因此可以很容易地集成到现有的索引系统中。(Hambarde 和 Proenca,2023)这与人类的认知过程一致。此外,稀疏检索更易于推广和更有效率。在 RALM 中使用的稀疏检索可以分为两类:词频和稀疏向量表示。两者之间的选择取决于是否使用机器学习。

图3:三种交互类型的路线图。紫色区域代表顺序交互 RALM 模型的工作,红色框表示顺序多次交互 RALM 模型的工作,黄色区域表示并行交互 RALM 模型的工作。

词频

在初始阶段,个体通常使用涉及相关内容匹配的检索方法,例如 TF-IDF(Ramos 等人,2003)和 BM25(Robertson 等人,1995)算法,这被认为是经典而有效的。
TF-IDF算法利用词频(TF)和逆文档频率(IDF)来表示相关性,具有简单和快速的优点,即使语料库不变,也可以预先计算每个单词的TF-IDF值。在RALM中,Lazaridou等人(2022年)利用TF-IDF算法来匹配用户查询和调用Google搜索API获取的信息。Hua和Wang(2018年)也使用该算法对生成的结果进行评分。BM25代表了对TF-IDF的增强。它考虑了用户的查询并将相关性评分计算为每个查询词对文档的相关性的加权和。IDF算法用于推导每个单词的权重,但通过两个调节因子来改进,以防止某个因子的影响力无限增强。这符合常识。由于其出色的泛化能力,许多检索增强语言模型(Retrieval-Augmented Language Model,RaLM)架构,特别是面向开放域的架构,都采用BM25作为检索方法,例如Jiang等人(2023年)、Ram等人(2023年)和Zhong等人(2022年)。

表1:RALM工作中的检索器摘要。

稀疏向量表示

现在已经明显地看到,简单的术语匹配已不再满足需求。手动标记可以解决同义词问题等问 题,但这是一种资源密集型的方法。随着机器学习的兴起,稀疏向量现在被用来表示单词,并通过计算它们之间的距离来检索它们。 (Hambarde和Proenca,2023年)稀疏向量表示技术与术语匹配方法不同,它们为查询和文档构建稀疏向量。这些表示的目的是捕捉每个输入文本的语义本质,将查询和文档放置在一个潜在空间中。

Ram等人(2021年)利用了这样一个事实,即当给定两个具有相同重复范围的段落时,一个用于构建查询,另一个用作检索目标。文档中剩余的不包含重复范围的段落被用作负例,Ram等人(2023年)首次将这个检索器应用到RALM架构中。另一方面,Mao等人(2020年)和Madaan等人(2022年)都提出利用语言模型(LM)来增强稀疏向量表示的检索精度,方法是从给定问题生成新的查询,然后使用它们检索相关文档。然而,Mao的方法强调查询扩展,而Maddan的方法强调理解用户的输入。

密集检索器

深度学习技术的出现显著改变了检索领域。使用深度学习技术来提高检索精度的兴趣日益增长,即使这意味着牺牲一定程度的可理解性。双编码器架构是密集检索模型的常见设计。(Hambarde和Proenca,2023年)该系统由两个独立的网络组成,分别接收查询和文档作为输入,并为每个输入独立生成密集嵌入。由于其高准确性和双编码器结构更适合于RALM,大多数文章选择使用密集索引方法来构建其检索器。本节根据每种检索方法的特征将密集检索分类为三种类型:词嵌入、多模式检索和数据精炼。

词嵌入

词嵌入是自然语言处理中常见的一种方法。与稀疏向量表示类似,它们使用深度学习技术将单词投影到高维向量空间中。RALM架构中的几篇文章利用了这种技术,我们选择了代表性的文章来描述。
Karpukhin等人(2020年)提出了DPR检索模型,该模型将所有段落索引到低维连续空间中。这使得读者可以在运行时高效地检索与输入问题相关的前k个段落。密集编码器用于将任何文本段落映射到一个d维实值向量,为检索使用的所有M个段落创建索引。由于其在RALM架构中作为检索器的出色性能,DPR已被Lewis等人(2020年)、Izacard和Grave(2020b年)以及Karpukhin等人(2020年)广泛采用。Izacard和Grave(2020a年)采用了类似的策略,与DPR不同的是,他使用相同的编码函数来处理问题和段落,共享参数。为了进一步减少干预并降低手动标注的成本,Izacard等人(2021年)提出了另一个检索器,名为Contriever,该检索器是使用无监督数据训练的。它基于连续密集嵌入,并具有双编码器架构。平均池化应用于前一层的输出,以获得每个查询或文档的一个向量表示。通过计算它们对应嵌入之间的点积,获取查询与每个文档之间的相似度分数。研究者(Siriwardhana等人,2023年)、(Sachan等人,2021年)和(Guu等人,2020年)由于其能够利用无监督数据,已将其用作RALM架构中的检索器。

多模式检索

多模式任务的检索技术比仅文本任务的更复杂(Zhao等人,2023年)。这是因为它们涉及不同状态信息的相互转换。例如,在图像-文本领域,密集文本检索的多模式技术已引起了兴趣,作为弥合不同模态之间差距的手段(Zhao等人,2024b,c)。研究者们已经开发了方法,将文本和视觉信息编码成共享的潜在空间,用于检索任务。

Li等人(2022a年)设计了四种处理多模式任务的匹配算法,即句子-句子、句子-图像、词-词和词-图像。他们使用重新加权进行更准确的相关计算,并将余弦相似度分数作为探索每种算法有效性的标准。与前者不同,Yasunaga等人(2022年)利用了CLIP的直接扩展,将多模式文档分为文本和图像组件,并使用冻结编码器对其进行编码。使用平均池化技术将L2范数缩放为1,从而得到文档的向量表示。与Li等人(2022a年)类似,他们还使用了最大内积搜索(MIPS)作为相关性评分,最终选择了K个文档。

知识蒸馏

知识蒸馏是一种逐步过滤和简化大型数据库的技术,使其更适合用户的查询(Gou等人,2021年)。这涉及将数据从预先训练的较大模型转移到较小模型,通常使用嵌入匹配等方法。随着技术的发展,甚至对使用LM进行数据蒸馏进行了研究。

Shi等人(2023b年)利用知识蒸馏将检索过程分为四个不同的步骤。首先,检索文档并计算检索概率。其次,使用语言模型对检索到的文档进行评分。第三,通过最小化检索概率与语言模型分数分布之间的KL差异来更新检索模型的参数。最后,对数据的索引进行异步更新。基于这一技术,Lin等人(2023a年)进一步提高了知识蒸馏的准确性。他们提出了一种将句子截断和查询增强与逐步增强多个增强器的相关性标签相结合的数据蒸馏方案。

互联网检索

随着互联网搜索和排序技术的进步,一些研究者已将其搜索重点放在互联网检索上,这是一种即插即用的方法。这种方法允许非专家受益于RALM,并且更适合于开放域和泛化。此检索模型的另一个优点是,它不需要实时更新数据库,而是依赖于商业搜索引擎的更新。然而,尽管简单和便利有其优点,但互联网上存在大量的无关甚至有害信息,这可能会妨碍RALM的工作。如果没有实施有效的筛选机制,RALM的有效性将显著降低。
与大多数直接利用商业搜索引擎API的研究不同(Yoran等,2023)(Nakano等,2021),Komeili等(2021)提出了一种使用多个商业搜索引擎API的替代方法。他们建议使用必应搜索API为每个查询生成一个URL列表。然后,这些URL被用作查找表中的键,该查找表是由公共爬网快照构建的,用于填充该查询的一组页面。此外,评估还考虑了URL是否来自英文维基百科。如果是,页面标题将从URL中提取,并在维基百科转储中搜索相应页面。

混合检索

随着研究人员对各种检索技术的优势和劣势有了更好的理解,他们越来越倾向于将它们结合起来,就像上面描述的那样。这样做是希望进一步利用这些技术的优势,以提高RALM架构的效果和鲁棒性。

为了解决互联网检索结果不准确的问题,Lazaridou等(2022)提出使用TF-IDF算法对检索结果进行评分。他们将每个问题q逐字逐句地作为查询,并通过Google搜索API调用Google搜索。对于每个问题,他们检索了前20个URL,并解析它们的HTML内容以提取干净的文本,为每个问题q生成了一组文档D。为了防止无关信息阻碍用户查询的解决,Hu等(2023)设计了一个门控电路。该电路利用双编码器点积计算相似性,并基于术语权重设计了一个门控电路。此外,Boytsov等(2016)提出了一种方法,用k-最近邻(kNN)搜索替代基于术语的检索,同时结合翻译模型和BM25以提高检索性能。这种方法使模型能够考虑术语之间的语义关系和传统的统计加权方案,从而实现更高效的检索系统。

语言模型

尽管人类过去完全依赖搜索信息,但语言模型的发展彻底改变了自然语言处理领域,使其更加充满活力和创造力。与仅使用训练得出的参数来完成任务的LM不同,RALM将检索器获得的非参数化记忆与LM本身的参数化记忆相结合,创建了一个半参数化记忆,从而提高了语言模型的性能。在RALM架构中,许多研究人员利用现成的语言模型进行评估。本节介绍了RALM架构中常用的语言模型,并将它们分类为三类:自动编码器语言模型,自回归语言模型和编码器-解码器模型。表2列出了RALM中LM的具体应用信息。

表2:RALM方法中LM的摘要。

自动编码器语言模型

自动编码器的逻辑过程是,原始输入(设为x)被加权并映射到y,然后被反向加权并映射回z。如果通过迭代训练使损失函数L(H)最小化,即z尽可能接近x,即x被完美重构,那么可以说正向加权是学习输入关键特征的成功方式。自动编码器语言模型的名称源自去噪自动编码器(DAE)(Vincent等,2008),用于预测被上下文词语掩盖的标记(这些被掩盖的词实际上是在输入时添加的噪音,典型的思维方式)。DAE是一种涉及向数据的输入层添加随机噪声的技术。这有助于在使用无监督方法预训练深度网络的权重时学习更加健壮的特征,以层级方式。

大多数自动编码器语言模型具有高度的泛化能力,无监督,并且不需要数据注释。它们可以自然地融合上下文语义信息。然而,在预训练阶段引入的独立性假设意味着不考虑预测标记之间的相关性。此外,在输入中引入[Mask]作为特殊标记,以替换原始标记,会导致在预训练阶段和微调阶段数据之间的不一致,微调阶段不包含[Mask]。自编码语言模型通常用于RALM架构中的自然语言理解(NLU)任务。

自回归语言模型

自回归语言模型的主要目的是基于前面的单词预测下一个单词。这通常被称为从左到右的语言建模,其中当前时间 t 的标记是基于前 t-1 个标记预测的。

这种模型具有从左到右的优势,这对生成型自然语言处理任务(如对话生成和机器翻译)是有益的。自回归语言模型非常适合这个过程,因此在 RALM 领域中,这个模型是一种流行的选择。然而,所涉及的信息只能从前面或后面的文本中利用,而不能与两者结合使用。OpenAI 在与自回归语言模型相关的研究领域产生了显著影响。最近,Google 在模型研究方面也取得了进展。

GPT 系列是自回归语言模型的最常见示例之一。它最初由 Radford 等人(2018)提出,他们确定了一个基本的无监督预训练架构,随后进行微调。Radford 等人(2019)后来提出了基于 GPT 的零样本学习。后来,Brown 等人(2020)提出了使用与 Radford 等人(2019)类似的方法的 GPT-3,其中涉及扩展并放弃微调。他们还在变换器层中利用了交替稠密和局部带状稀疏的注意力模式,类似于稀疏变换器(Child 等人,2019)。还有几项相关研究,如 GPT-NEO(Black 等人,2022)和 ChatGPT,它们使用来自人类反馈的强化学习(RLHF)。RLHF 显著提高了 GPT 模型的准确性。尽管 ChatGPT 不是开源的,但许多研究人员(Jiang 等人,2023c)(Khattab 等人,2022)仍然使用其 API 进行 RALM 中的生成任务。最近,关于 GPT-4 的报告(Achiam 等人,2023)已经出现,主要关注于构建一个可预测和可扩展的深度学习堆栈,以改进 GPT-4 的安全性和对齐性。许多研究人员(Asai 等人,2023)(Luo 等人,2023a)最近使用 GPT-4 为 RALM 生成提示。

Llama 家族是一类知名的自回归语言模型。Llama(Touvron 等人,2023a)最初被提出作为仅使用公开可用数据的语言模型。为了提高训练稳定性,他们对每个变压器子层的输入进行了归一化处理,而不是对输出进行归一化处理。他们使用了由张等人(2019)引入的 RMSNorm 归一化函数,并用 Shazeer(2020)引入的 SwiGLU 激活函数替换了 ReLU 非线性以提高性能。此外,作者们在网络的每一层中都用 Su 等人(2024)引入的旋转位置嵌入(RoPE)代替了绝对位置嵌入。Llama2(Touvron 等人,2023b)在实验中使用了监督微调、初始和迭代奖励建模以及 RLHF。他们还发明了一种新技术,Ghost Attention(GAtt),有助于控制多轮对话的流程。Qwen(Bai 等人,2023)在 Llama 的基础上进行了以下调整:1. 选择了宽松嵌入的方法,而不是捆绑输入嵌入和输出投影的权重以节省内存成本。2. 改进了逆频率矩阵的准确性。3. 对于大多数层,按照 Chowdhery 等人(2023)的建议消除了偏差。但是,在 QKV 层中添加了偏差以增强模型的外推能力。文中描述的传统层归一化技术被 RMSNorm 替换。他们选择了 SwiGLU 作为激活函数,这是 Swish Ramachandran 等人(2017)和门控线性单元(Dauphin 等人,2017)的组合。前馈网络(FFN)的维度也被降低了。此外,Mistral 7b(Jiang 等人,2023a)利用分组查询注意力(GQA)来增强推理速度,并将其与滑动窗口注意力(SWA)结合起来,以降低任意长度序列的推理成本。这些技术展示了比 Llama2 更优异的性能。Llama 模型是开源的,使用公开可用的数据,为研究人员(Yan 等人,2024)(Asai 等人,2023)(Wang 等人,2023c)提供了更多扩展的机会。因此,许多研究人员将 Llama 家族作为 RALM 架构中的语言模型使用。

编码器-解码器语言模型

Transformer(Vaswani 等人,2017)是一种“编码器-解码器”架构,由编码器和解码器叠加在多头自注意力模块上组成。其中,输入序列分为两部分,源序列和目标序列。前者输入到编码器,后者输入到解码器,两个序列都需要嵌入表示和添加位置信息。Transformer 架构实现了并行计算,能够同时处理整个文本序列,从而显著提高了模型的训练和推理速度。

Raffel 等人(2020)提出了一个统一的框架,将所有基于文本的语言问题转化为文本到文本格式。其目的是探索自然语言处理中转移学习技术的潜力。与原始的 Transformer 不同,使用了简化版本的层归一化,其中激活被重新缩放而无需额外的偏置。在应用层归一化之后,一个残差跳连连接(He 等人,2016)将每个子组件的输入添加到其输出中。Srivastava 等人(2014)应用于前馈网络、跳连连接、注意权重以及整个堆栈的输入和输出。T5 模型已被许多研究人员广泛用作语言模型,如 Hofstätter 等人(2023)、Sachan 等人(2021)和 Singh 等人(2021)。此外,Chung 等人(2022)提出了指导调整作为改善模型性能的方法。该研究侧重于三个方面:缩放任务的数量、缩放模型的大小以及链式思维数据的微调。结果显示,更大的模型大小和更多的微调任务显著提高了模型性能。此外,研究发现,链式思维(CoT)显著提高了推理水平。Wang 等人(2023c)使用了这种方法对 T5 进行调整,并将其应用于 RALM 架构。

RALM 的增强

这一部分描述了RALM架构中研究人员如何通过增强其组件来提高输出质量。我们将改进方法分为三个部分:检索增强,LM(语言模型)增强和整体增强。图4说明了增强方法的分类。

检索增强

本节介绍了研究人员在检索器方面的努力,包括检索质量控制和检索时机优化。

图4:RALM增强方法的分类。

检索质量控制

Shi等人(2023a)认为,检索可能产生的文件不仅未提供有用信息,还可能损害语言模型输出的质量。因此,RALM领域的许多学者都致力于提高检索内容与用户输入之间的相关性,以增强最终输出的质量。

Lin等人(2023b)提出了一种指令调整方法。他们使用通用LM监督检索(LSR)(Shi等人,2023b)训练目标来更新查询编码器,该目标通过监督任务和无监督文本的组合完成计算。这使得检索器能够产生更加与LLM偏好一致的、更具上下文相关性的结果。受到这种指令调整方法的启发,Asai等人(2023)提出了一个更复杂的模型,该模型在指令跟踪数据集上进行训练:SELF-RAG。由于他们的改进,SELF-RAG能够通过细粒度的自我反思按需检索和选择最佳模型输出,使其具有广泛的适用性、更强的鲁棒性和可控性。与通过使用外部模型(如自然语言推理(Yoran等人,2023)和摘要(Xu等人,2023)模型)来增强检索文档质量的方法相比,SELF-RAG提出了完全新颖的思路。该模型将检索文档分成并行段落,并比较它们的相关性。然后,它将文档的最相似部分结合起来。Yan等人(2024)通过设计一种校正策略来改进SELF-RAG,以解决不准确的检索结果。他们将信息分类为三类:正确,不正确和模糊。如果信息是正确的,则对文档进行完善和过滤。如果信息不正确,则丢弃文档并在网络中搜索检索。术语模糊表示对判断的准确性缺乏信心。在这种情况下,将使用上述两种方法的组合。此外,Wang等人(2023c)提出了一种名为FILCO的方法,通过三个过滤器:STRINC,词汇重叠和条件交叉互信息(CXMI),以句子精度检索文档内容。

检索时机优化

研究人员通常在两种情况下考虑检索时机:在需要多次检索的任务(如长对话生成和多跳问题)中工作时,或者当找不到合适和相关的文件时。使用不相关的文件可能会损害输出的准确性。
确定检索的时机的一个简单方法是调整检索步骤。Ram等人(2023)采用了一种利用前缀编码来调整运行时成本的方法。生成内容的前缀编码会不断重新计算。检索步长的选择是运行时和性能之间的权衡。根据Toolformer(Schick等人,2024)的说法,当模型需要在生成内容的过程中检索文档帮助时,可以直接使用搜索命令来检索有用的信息。受到这个想法的启发,Jiang等人(2023c)提出了两种确定检索时机的方法。第一种方法是在生成语言模型遇到需要进行检索的地方时中断生成,并执行检索操作。第二种方法是生成一个完整的临时句子。如果句子中有一个低置信度标记,那么将掩盖该标记,并使用句子的其余部分进行检索。Yu等人(2023)也使用语言模型来确定检索的时机。然而,他们没有使用语言模型生成低置信度标记,而是让语言模型在检索之前和之后对输出进行评分。Mallen等人(2022)的方法与传统方法不同,传统方法是让语言模型生成低置信度标记。相反,他们使用维基百科页面浏览量作为普及度的衡量标准,并将具有不同普及度的维基数据的知识三元组转化为以原始实体和关系类型为锚点的自然语言问题。这种方法更加客观,避免了主观评估。对于需要推理的任务,He等人(2022)和Khattab等人(2022)都使用思维链(CoT)来确定何时进行检索。

语言模型增强

本节介绍了研究人员在语言模型方面的努力,包括预生成检索处理、结构模型优化和后生成输出增强。

预生成检索处理

RALM架构最初使用单个文档进行检索增强。然而,发现当检索段落的数量增加时,RALM的性能显著提高。(Izacard和Grave,2020b)因此,他们提出了一种称为Fusion-in-Decoder(FiD)的新方法,该方法保持检索器不变,使用语言模型中的编码器逐个编码相关文档,然后将相关文档连接起来并将其提供给解码器进行输出。然后,Hofstätter等人(2023)对FiD进行了改进。他们限制了从编码器到解码器的信息流动。通过使用文本源指针对FiD-Light进行调优,以提高最顶层源的准确性。Izacard和Grave(2020a)将知识蒸馏应用于FiD模型,也称为FiD-KD,使用序列到序列阅读器的交叉注意力分数来获得检索器的合成目标。Singh等人(2021)提出了一种与知识蒸馏不同的增强方法,该方法使用端到端的训练方法,需要较少的文档、训练周期和无监督初始化,与FiD-KD相比。

结构模型优化

随着语言模型以加速的速度不断发展,出现了越来越多参数众多、性能出色的大型模型。调整这些模型的参数和内部结构变得越来越困难和低效,
FLAN(Chung等,2022)是众多研究中关于指令调优的最系统和全面的方法之一。该方法在指令优化数据集上微调语言模型,扩展了任务数量和模型规模,并在微调中加入了思维链数据。尽管作者没有考虑在 RALM 架构中调整指令的特定方法,但他们的工作为未来研究提供了宝贵的参考。在 RALM 的指令微调中,Lin等人(2023b)整合了上下文检索增强。这极大地降低了语言模型被无关检索内容误导的可能性。SAIL(Luo等,2023a)在内部和外部搜索引擎生成的复杂搜索结果上构建了语言生成和指令跟踪能力。他们利用指令调优语料库,从不同的搜索 API 和领域为每个训练案例收集搜索结果,并构建了一个包含三元组(指令、基础信息、响应)的基于搜索的训练集。与在指令调优数据集上训练不同,Madaan等人(2022)和Lazaridou等人(2022)提出直接从检索到的知识提示大型模型。Madaan等人(2022)使用 GPT-3 澄清了模型误解用户意图以及用户反馈的记忆配对的情况。这确保了他们的系统可以根据用户反馈为每个新查询生成增强提示。相比之下,Lazaridou等人(2022)使用少样本提示和答案重排序来改进推理计算。

后生成输出增强

如第 2 节中关于并行交互定义的那样,这种交互受到 K-最近邻(KNN)LM(Khandelwal等,2019)的启发。这是 RALM 的一个典型实例,其中 LM 仅用于增强结果。自 KNN-LM 的提出以来,许多研究人员已经努力优化该模型。在本节中,我们将详细描述里程碑式的工作。

KNN-LM 方法涉及在线性插值预训练 LM 嵌入空间中的扩展神经语言模型与 K-最近邻进行。Zhong等人(2022)提出了三种类型记忆(局部、长期和外部)的不同处理方式,并为 KNN-LM 添加了对批内标记的训练。所提出的改变旨在提高模型的性能。与仅在训练期间使用记忆单元的 KNN-LM 不同,TRIME(Zhong等人,2022)在测试和训练期间均使用记忆单元。He等人(2021)建议,并非所有生成的标记都需要检索。相反,可以训练一个轻量级神经网络来帮助 KNN-LM 进行自适应检索。此外,通过数据库精简和降维可以提高效率。Alon等人(2022)提出了 RETOMATON,这是建立在数据存储之上的无监督加权有限自动机。RETOMATON 基于保存连续数据存储条目之间的指针和聚类技术。RETOMATON 比 ADAPTRET(He等人,2021)更有效,通过利用 KNN 检索期间剩余指针来提高准确性。即使没有 KNN 检索,也可以使用存储在指针中的先前信息执行插值操作,而 ADAPTRET 仅依赖于语言模型。此外,RETOMATON 是无监督的,无需额外的训练数据,使其更具数据效率。Grave等人(2016)提出使用连续缓存来提高 KNN-LM 的性能。这涉及存储过去的隐藏激活,并通过与当前隐藏激活的点积在适当的时间访问它们。Yogatama等人(2021)通过缓存局部隐藏状态利用扩展的短期上下文,并通过在每个时间步检索一组最近邻标记来检索全局长期记忆。他们还设计了一个门控函数,以自适应地组合多个信息源进行预测。与 KNN-LM 相比,这种方法使用动态权重,并且可以处理插值不可行的情况,例如当记忆输出为图像、视频或声音时。Drozdov等人(2022)提出了一种调整插值权重的方法。权重根据检索到的存储数据与评估集之间重叠区域的大小动态调整,这反映了检索质量。

整体增强

本节介绍了研究人员在整个 RALM 架构上的努力,包括端到端训练和构建中间模块。

端到端训练

研究人员已经开始研究一种称为端到端训练的方法,其目标是最大程度地减少手动干预,专注于数据。这种方法利用深度学习,由于可用数据量的增加而变得越来越受欢迎。在研究RALM架构时,许多研究人员倾向于使用端到端训练方法以获得更好的结果。

路易斯等人 (2020) 和 Guu 等人 (2020) 是最早将端到端训练应用于 RALM 领域的研究人员之一。然而,他们的方法不同。REALM (Guu et al., 2020) 在预训练阶段使用了掩码语言训练,并包括了一个可以端到端训练的检索器。在微调阶段,只针对 QA 任务进行了目标定向,同时保持了检索器的冻结状态。另一方面,RAG (Lewis et al., 2020) 使用了一个已经训练好的检索器 DPR,并仅采用了 BART 进行部分端到端训练。与 REALM 类似,Sachan 等人 (2021) 提出了一种无监督的预训练方法,其中包括逆掩码任务和掩码显著跨度。然后通过使用问题-上下文对进行监督微调。此外,他们发现端到端训练的检索器的使用显著提高了任务的性能。辛格等人 (2021) 将端到端训练应用于多文档处理,在他们提出的方法中,用于表示给定问题的相关文档集合的潜在变量的价值是迭代估计的。然后使用此估计来更新检索器和阅读器的参数。Siriwardhana 等人 (2023) 描述了对 RAG 的端到端优化,从先前的研究中引入了辅助训练信号以融入更多的领域特定知识。此信号迫使 RAG-end2end 访问外部知识库中的相关信息来重建给定的句子。这种方法极大地提高了领域适应性。

中间模块

最近,一些研究人员构建了一个中间模块,以协调检索器和语言模型的活动,这是由于空间或黑盒LLM约束而不是改善的。

图5:RALM数据来源的分类。

程等人 (2024) 提出了 Selfmem,这是一个旨在解决低语料库质量问题的模型。Selfmem 利用检索增强生成器创建一个无限的记忆池,然后由记忆选择器选择一个输出用于后续生成。这种方法使模型能够使用自己的输出来增强生成。彭等人 (2023) 提出了一个人工智能代理,将人类系统对话描述为由五元组描述的马尔可夫决策过程(MDP)。五元组包括一个无限大的对话状态集合,一系列历史行为,状态转移的概率,获得的外部奖励和一个可变参数。

数据来源

本节将介绍RALM中常用的一些数据来源,并将其分类为结构化和非结构化数据。图5说明了数据来源的分类。

结构化数据

结构化数据包括各种结构,如表格和知识图谱。这种类型的数据的好处在于它具有清晰的结构,通常以表格形式呈现,每个字段都有明确定义。它适用于存储数字、日期、文本和其他数据类型。结构化数据可以使用结构化查询语言(如SQL)轻松查询、分析和处理。

自然问题(Natural Questions,NQ)(Kwiatkowski et al.,2019)是自然语言理解领域中非常著名的数据集。给定文本描述了一个结构化问题和一个相应的维基百科页面。页面用长答案(通常是一个段落)和一个或多个实体组成的短答案进行标注。如果没有长或短答案,则标记为空。由于谷歌搜索引擎的可靠性和庞大的数据量,许多学者已经使用了这个数据集来训练RALM,例如王等人 (2023c),Izacard 等人 (2022) 和 Ram 等人 (2023)。
HotpotQA(HQA)(Yang et al., 2018)存储有关多跳问题的信息,并提供用于推理所需的句子级支持事实。该结构包括段落、问题、答案以及支持答案的句子编号。这个数据集已经被许多研究人员使用,例如 Wang et al. (2023c)、Khattab et al. (2022) 和 Feng et al. (2024),他们利用该数据集来训练多跳问题回答的 RALM。另一种重要的结构化数据形式是知识图谱,它主要由三元组(实体、关系、属性)组成。一些最常用的数据集包括 Wikidata5M、WikiKG90Mv2、OpendialKG 和 KOMODIS。所有这些模型(Kang et al., 2023)(Yu and Yang, 2023)(He et al., 2024)都依赖知识图谱作为数据源。

无结构数据

相比之下,无结构数据没有明确定义的数据结构,存在于各种形式中,包括文本、图像和音频。由于其庞大和多样的特性,存储和管理这类数据在传统的表格形式中面临挑战。尽管它包含有价值的信息,但需要自然语言处理、图像识别和其他技术来解析和理解。

多位 RALM 研究者,包括 Khattab et al. (2022)、Wang et al. (2023a) 和 Yang et al. (2023),都使用了这种数据集作为数据源。FEVER 数据集(Thorne et al., 2018)主要用于事实提取和验证。包括 Lewis et al. (2020)、Wang et al. (2023c) 和 Izacard et al. (2022) 在内的多位 RALM 研究者,已经使用了这个数据集中的事实文本作为数据来源。除了无结构文本,还有大量天然结构较少的数据,如图像、视频和音频。研究中常用的一些图像数据集包括 MNIST、CIFAR-10、Pascal VOC 和 COCO。许多研究(Chen et al., 2022b)(Hu et al., 2023)(Yasunaga et al., 2022)在 RALM 领域中使用了这些数据集。常用的音频数据集包括 LJ Speech、JSUT 和 RUSLAN,许多研究(Yuan et al., 2024)(Huang et al., 2023)(Ghosh et al., 2024)也依赖于音频数据作为主要来源。常用的视频数据集包括 HMDB、UCF101 和 ASLAN,许多研究(Chen et al., 2023)(He et al., 2023)(Yin et al., 2019)在 RALM 领域中使用音频数据作为信息来源。

应用

本节概述了 RALM 架构主要关注的下游任务。相关应用方向根据模型生成或理解的需求进行分类。RALM 在 NLG 上表明完成任务主要依赖于生成能力;相反,RALM 在 NLU 上表明完成任务主要依赖于理解能力。最后,RALM 在 NLU 和 NLG 上表明任务通常以两种方式处理,一种主要依赖于理解能力,一种主要依赖于生成能力。图 6 展示了应用的分类。

RALM 在 NLG 任务上

  1. 机器翻译

机器翻译,也称为自动翻译,是利用计算机将一种自然语言(源语言)转换成另一种自然语言(目标语言)的过程。这是计算语言学的一个分支,也是人工智能的终极目标之一,具有重要的科学研究价值。机器翻译系统可以分为基于规则的和基于语料库的两大类。前者包括一个词典和一个规则库,共同构成知识源;相反,后者包括已被划分和标记的语料库,不需要词典或规则。相反,它基于统计规律,而大多数 RALM 都是基于规则完成这项任务。Selfmem 系统(Cheng et al., 2024)使用两种不同的语言模型来处理机器翻译任务。第一个是可训练的迷你模型,已经分别采用联合和二分法进行训练。第二个是少量提示的 LLM。最终,Selfmem 在所有四个翻译方向和两种训练架构上均显示出显著的性能提升。这一结果表明,增强的记忆能力通常会导致更好的生成结果。为了取得最佳结果,TRIME (Zhong et al., 2022) 使用了 IWSLT’14 De-En 基线。考虑到任务是句子级的,研究人员没有使用局部记忆和长期记忆,因为它们中的重复标记很少。相反,他们只使用外部记忆,这使他们能够在性能上超过 KNN-MT(Khandelwal et al., 2020)。

  1. 数学教学

随着RALM架构的不断发展,越来越多的潜在应用方向被发现。Levonian(Levonian等人,2023年)受到RALM的启发,将这一架构应用于数学教学领域。为了解决LLM中存储的知识可能与学校教学内容不匹配的问题,他们使用了三种提示性教学条件之一,利用检索增强生成系统来生成对数学学生查询的响应。调查对象根据偏好对响应进行排名,并将基础数学教科书评为检索语料库。

图6:RALM应用分类。

对话生成

对话生成,尤其是长对话,是一项具有挑战性的任务。这是因为不仅需要确保语言模型具有自然语言处理能力,还需要确保模型能够利用上下文来满足对话的需求。

FILCO(Wang等人,2023c)使用来自KILT基准测试的维基百科数据集,称为“维基百科巫师”(WoW),来生成后续对话。该过程涉及基于维基百科文章生成输出,其中输入包括多轮对话的历史。RA-DIT(Lin等人,2023b)也在微调阶段使用了WoW数据集。由于命令调整操作,该模型在零-shot条件下在对话生成方面优于Llama(Touvron等人,2023a)和Llama-REPLUG(Shi等人,2023b),并且具有相同的参数。将Selfmem(Cheng等人,2024)合并到检索增强生成器中显著增强了对话的生成,因为它具有显著的灵活性。这是通过直接优化内存以实现多样化和信息丰富对话的期望属性而实现的。相比之下,SURGE(Kang等人,2023)利用知识图谱作为对话生成任务的数据源,其中每个对话轮包含来自大规模知识图的事实。与其他相关工作(Rony等人,2022)相比,他们只检索与上下文相关的子图,从而避免了检索无关数据可能导致的计算开销和误导性模型。

RALM在NLU任务上的应用

  1. 槽填充

槽填充是自然语言处理中的一种技术,用于从用户提供的文本或语音中识别和提取特定信息。在槽填充中,系统事先定义一组槽,每个槽表示一个特定的信息需求。这些需求可能包括日期、时间、地点等。在接收到文本或语音形式的用户输入后,系统对内容进行分析,试图识别与预定义槽或分类标签匹配的信息(Lu等人,2023b,a)。然后将这些信息填充到相应的槽中,以便进行后续处理和响应。

KGI(Glass等人,2021)通过在密集索引中利用硬负例来增强密集通道检索,并实现了强大的检索增强生成的训练过程。检索增强用于增强槽填充任务的效果,从而促进了AI生成高质量知识图的能力。结果表明,该方法在TREx和zsRE数据集中取得了出色的性能,并且在TACRED数据集中表现出了显著的鲁棒性。

2. 图像生成

文本到图像生成的过程是一项具有挑战性的任务,需要模型展示高度的自然语言理解,并通过图像传达这种理解,与 typica l文本数据的典型格式形成对比。
3. 事实核查

事实核查涉及根据证据验证陈述的真实性。此任务涉及检索问题和具有挑战性的隐含推理任务。此外,此任务通常涉及以陈述为输入并生成相关文档段落以证明或证伪该陈述。许多 RALM 模型表现出色,因为它们配备了自己的检索器。这是自然语言理解的重要方面。

RAG(Lewis et al.,2020)使用 FEVER 数据集将标签(Supported,Refuted,NotEnoughInfo)映射到单个输出标记。它直接使用声明类进行训练,与其他作品不同,不对检索到的证据进行监督。Atlas(Izacard et al.,2022)采用少样本学习,在仅 64 个样本条件下实现了与先前研究可比较的性能。此外,在使用完整数据集进行训练后,它胜过了当时可用的最佳模型(Hoffmann et al.,2022)。FILCO(Wang et al.,2023c)通过使用 KILT 基础聚合的 FEVER 数据集来改进检索文档的质量,该数据集仅包含支持和反驳标签。准确性被用作度量标准。

4. 知识图谱补全

先前的多项任务已经采用了知识图谱的结构化数据,其中知识图谱补全代表了一种普遍的应用。传统的方法(Chen et al.,2022a)(Saxena et al.,2022)将完成任务定义为一个序列到序列的过程,其中不完整的三元组和实体被转换为文本序列。然而,这种方法受到其依赖隐含推理的限制,这严重限制了知识图谱本身的效用。ReSKGC(Yu 和 Yang,2023)提出了将检索增强技术与知识图谱补全相结合的方法。此集成涉及从知识图谱中选择语义相关的三元组,并利用它们作为证据通过显式推理生成输出。该模型使用来自 Wiki- data5M 和 WikiKG90Mv2 数据集的数据,在各种条件下表现出比其他现有工作更优越的性能。

5. 常识推理

常识推理对于语言模型来说是一项具有挑战性的任务。除了展示类似人类的思维和推理模式外,这些模型还必须能够存储大量的常识知识。然而,RALM 的出现使第二个要求不那么严格,因为检索技术为语言模型提供了访问非参数化内存的途径。
FLARE(J
代码生成(Romera-Paredes等,2024年;Ye等,2024年)和摘要生成(Nam等,2024年)在目标受众和处理方式上与普通文本生成和摘要生成有所不同。代码生成和摘要生成涉及计算机程序代码,可能需要特定领域的句法和语义理解,除了对语言模型的自然语言理解(NLU)和自然语言生成(NLG)能力有更高的要求。

REDCODER(Parvez等,2021年)最初从现有代码或摘要数据库中识别潜在的候选代码。研究人员通过多个渠道保留了110万行独特的代码和摘要作为检索数据。在CodeXGLUE数据集上的最终评估表现出在多种编程语言和评估指标上的出色性能。另一个提出的改进是由Zan等人(2022年)提出的,他们利用私有库来提升代码生成的质量。这涉及首先通过APIRetriever组件根据API文档确定最合适的私有库,然后利用APIcoder进行生成。这种方法导致生成内容的准确性显著提高。

Liu等人(2020年)提出了一种新颖的基于注意力的动态图,以补充源代码的静态图表示,并设计了一种混合消息传递GNN来捕获局部和全局结构信息。这种方法提高了代码摘要的准确性,最终在主流检索器和生成器上取得了更优越的性能。RACE(Shi等,2022年)模型采用传统的RALM框架,在MCMD数据集中整合了五种编程语言的代码,相对于所有基线模型,性能提升了6至38%。

评估

本节提供了对RALM的评估方法和基准的总结。在第6和第7节中,我们提出了大型语言模型任务的一些评估标准以及基线。在最初提出RALM架构时,大多数研究人员采用了通用基准。然而,随着RALM架构的发展,提出了越来越多的RALM特定的评估方法和基准。表3展示了每个评估模型的详细信息。

RAGAS(Es等,2023年)利用WikiEval数据集评估RALM的忠实度、答案相关性和上下文相关性。忠实度定义为响应与提供的上下文一致的程度。答案相关性指生成的响应是否解答了实际提出的问题。上下文相关性通过检查检索到的上下文集中性和无关信息来衡量。此外,研究人员利用prompt gpt-3.5-turbo-16k模型自动化评估过程。RGB(Chen等,2024年)开发了一个中英文双语评估系统,采用三个评估指标:准确性、拒绝率和错误检测率。这些指标用于评估LM处理的文章的噪声鲁棒性、负拒绝、信息整合和反事实鲁棒性,这些文章是通过Google的API检索得到的数据源。CRUD-RAG(Lyu等,2024年)考虑了检索组件的影响以及之前研究人员未考虑的外部知识库的构建。使用大型模型生成了一个数据集,通过四个评估指标(ROUGE、BLEU、bertScore和RAGQuestEval)评估了RALM的创建、读取、更新和删除(摘要生成)能力。此外,ARES(Saad-Falcon等,2023年)利用LM生成的数据集,但利用轻量级LM来确定各个RALM组件的质量,并利用人工标记的数据点进行预测驱动的推理。RALM的上下文使用KILT和SuperGLUE基准进行评估,相关标准包括相关性、答案忠实度和答案相关性。

RALM评估方法总结见表3。


除了对 RALM 的一般评估外,还有一些工作集中在评估特定细节和领域上。RECALL(Liu 等,2023年)利用 EventKG 和 UJ 数据集将不准确的信息纳入其现有数据集中。然后,通过两个任务:问题回答和文本生成,确定 RALM 是否容易被这些不准确的信息误导。Xiong 等人(2024年)专注于医学领域,提出了 MIRAGE,该模型整合了来自五个数据集的数据,包括 MMLU-Med,用于评估医学 RALM 的零样本学习、多选题评估、检索增强生成以及仅问题检索构思能力。最终,他们还发现了医学领域的对数线性缩放属性和“中间迷失”效应。

讨论

这一部分致力于分析现有 RALM 架构的局限性,并描述潜在的未来发展方向。图 7 总结了现有 RALM 的局限性以及我们提出的解决方案。

局限性

本节介绍了现有 RALM 的一些局限性的摘要和分析。

鲁棒性差

鲁棒性是所有系统都必须考虑的一个关键方面。尽管 RALM 系统在多个领域表现出性能优势,但由于检索作为一种技术的引入,架构中引入了大量的不确定性。正如 Hu 等人(2024年)所阐述的那样,通过极其简单的前缀攻击,不仅可以减弱 RALM 输出的相关性和准确性,甚至还可以改变检索器的检索策略。因此,研究人员除了利用各种检索增强技术来提高语言模型的性能外,还应注意尽量减少事实不准确的数据、与问题解决无关的信息,甚至一些有害的提示和前缀对语言模型的影响。

图 7:当前 RALM 模型的局限性摘要和未来前景。

检索结果质量差

许多研究人员(Yan 等,2024年)(Asai 等,2023年)致力于提高检索效果的努力,他们声称,尽管他们提出的模型在优化输出质量方面是明显有益的,但尚无法保证检索结果完全与语言模型一致。特别是在使用互联网作为检索工具时,互联网资源的质量可能会有很大的差异,未经适当考虑地合并这些数据可能会在最终输出中引入噪音或误导性信息。

开销过大

尽管现有的 RALM(Siriwardhana 等,2023年)(Guu 等,2020年)(Borgeaud 等,2022年)可以在各个领域显著改善语言模型的性能,但其中一些需要进行大量的模型更改以及复杂的预训练和微调操作,这大大增加了时间和空间开销,也降低了 RALM 的可扩展性。此外,随着检索规模的增加,存储和访问数据源的复杂性也增加。因此,研究人员必须权衡修改模型的好处和成本。

应用较少

尽管许多 RALM 在各个领域显著改善了语言模型的性能,但从应用角度来看,改进不大,RALM 仍在做一些语言模型早期完成的常规工作,例如,问题回答、总结(Luo 等,2023年)(Jiang 等,2023年)(Alon 等,2022年)。尽管最近出现了一些非常有趣的应用方向,如数学教学(Levonian 等,2023年)、槽填充(Glass 等,2021年)等,但这还不够。一项技术总是需要真正被使用来充分证明其价值,RALM 也不例外。

未来前景

本节提出了一些未来 RALM 发展方向的可能方向,主要基于第 9.1 节提到的局限性。

提高鲁棒性

一些学者在他们论文的未来工作部分中提到了可能改善模型鲁棒性的方法,比如明确的自我反思和细粒度的归因(Asai等人,2023)。与这些工作相比,胡等人(2024)提出了一种称为梯度引导提示扰动(GGPP)的方法,这是一种扰动RALM的方法,实验证明利用SAT探针(Yuksekgonul等人,2023)和激活(ACT)分类器能有效改善情况。提出了一种方法来检测这种扰动,通过提示扰动后的RALM的内部状态。此外,通过提出和改进RALM的评估方法和相关基线也可以帮助提高模型的鲁棒性,陈等人(2024)通过专注于鲁棒性,为RALM建立了一系列评估系统。

提高检索质量

提高检索质量可以从两个方面考虑:改善用于检索的数据集的质量,以及提高检索技术的性能。如今,许多数据集被提供给LLM生成相关内容,由于LLM本身存在“幻觉”,必须采取一定手段确保数据的准确性,比如利用人类监督细化(Chen等人,2024)。此外,由于互联网上信息来源的广泛性,仅依赖搜索引擎进行筛选显然是不够的,因此有必要改进检索技术,例如使用BM25(Luo等人,2023a)或TF-IDF(Lazaridou等人,2022)算法进行进一步的重新排序。

权衡收益与开销

从三个角度考虑减少开销:首先,可以设计一些即插即用的中间模块,例如CRAG(Yan等人,2024)、Selfmem(Cheng等人,2024)、AI agent(Peng等人,2023)或一些部署解决方案,例如LangChain、Llama Index,这样就不需要为每个模型进行有针对性的改进。其次,可以利用互联网检索来减少检索器的开销,但需要注意前面提到的数据相关性。最后,可以采用上下文学习来减少改进语言模型所带来的开销,例如ICRALM(Ram等人,2023)。

扩展应用领域

在当代,LLM的应用已经扩展到多个领域,而RALM的应用方向相对较为有限。为了解决这一限制,研究人员不仅必须考虑LLM的现有应用领域,还必须利用RALM的独特优势,这些优势在解决与知识和经验密切相关的问题时表现出色。此外,他们还应该将RALM与其他先进技术结合起来,利用它来克服与这些技术相关的挑战。本文提供了几个说明性示例,包括决策支持、搜索引擎和推荐系统。

结论

整合RALMs代表了自然语言处理系统能力的重大进步。本调查对RALMs进行了广泛的回顾,突出了它们的架构、应用和面临的挑战。RALMs通过检索和整合外部知识来增强语言模型,从而在包括翻译、对话生成和知识图谱完成等各种自然语言处理任务中实现了性能的提升。

尽管取得了成功,但RALMs还存在一些限制。值得注意的是,它们对抗性输入的鲁棒性、检索结果的质量、部署的计算成本以及应用领域的缺乏多样性被确定为需要进一步关注的领域。为了解决这些问题,研究界提出了几种策略,例如改进评估方法、完善检索技术,并探索性能和效率之间保持平衡的成本效益解决方案。

未来,RALMs的进步将取决于其鲁棒性的提高、检索质量的改进以及应用范围的扩展。通过采用更复杂的技术并将RALMs与其他人工智能技术相结合,这些模型可以用来应对更广泛的挑战。在这一领域的持续研究和开发预计将产生更具弹性、高效和多功能的RALMs,从而推动自然语言处理和其他领域可实现的界限。随着RALMs的不断发展,它们有望赋予人工智能系统更深入的理解和更类人的语言能力,从而在广泛的领域开辟新的可能性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数智笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值