论文名称: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的各个领域中应用增强检索技术的情况。为了改善当前情况,本文提出以下贡献:
-
本文不仅关注与RAG相关的工作,还着重介绍了RALM,并与NLP的概念相一致。与生成相关的工作符合NLG,而其他工作则符合NLU。
-
详细描述了RALM的两个组成部分,检索器和语言模型,并首次精确定义了这两个组件的不同交互模式。
-
提供了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()为一个函数,可以是语言模型或数据处理函数,以x和z为独立变量,RALM的基本架构定义如下:
y = F(x, z)(1)
顺序单次交互
顺序单次交互
顺序单次交互的过程涉及通过检索器 Pη(z|x) 找到与输入 x 相关的前 K 个文档 z,其中 η 是检索器的参数。随后,语言模型 Pθ(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。然后通过加权插值确定输出 y。I() 是插值函数。相关方程表达如下:
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等人(202