RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述

发布于 2024-9-12 10:46
浏览
0收藏

大型语言模型(LLMs)在自然语言处理(NLP)领域促进了重大进展,但它们也面临着诸如幻觉和需要特定领域知识等挑战。为了缓解这些问题,最近的一些方法将从外部资源检索到的信息与LLMs相结合,显著提高了它们在NLP任务中的表现,但是缺乏对检索增强型语言模型(RALM)全面概述。

因此,对包括检索增强生成(RAG)和检索增强理解(RAU),提供了对它们的范式、演变、分类和应用的深入、全面综述。

图1:RALM研究总体概述

RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述-AI.x社区

一、RALM是什么?

  1. 检索增强语言模型(RALM):RALM是通过使用检索到的信息来改进语言模型的输出,以获得用户满意的结果的过程。RALM可以分类为检索增强生成(Retrieval-Augmented Generation, RAG)和检索增强理解(Retrieval-Augmented Understanding, RAU)。
  2. 交互方式:RALM的交互方式主要分为三种,如图2所示:

顺序单次交互:检索器找到与输入最相关的文档,然后语言模型接收这些文档和输入,产生输出。

顺序多次交互:在长对话生成和解决多跳问题时,可能需要在语言模型和检索器之间进行多次交互。

并行交互:检索器和语言模型独立工作,输出通过加权插值确定。

  1. 基本架构:RALM的基本架构可以表示为一个函数 y=F(x,z),其中 x 是输入,y 是输出,z 是检索到的信息,F()是一个函数,可以是语言模型或数据处理函数。
  2. 顺序单次交互:在这种模式下,语言模型接收输入 x 和相关文档 z,然后输出第 i 个标记 yi。
  3. 顺序多次交互:对于需要多次检索的任务,如长对话生成,语言模型先生成输出,然后在需要检索时使用已输出的内容进行检索。
  4. 并行交互:检索器和语言模型并行工作,独立处理输入 x,然后通过插值函数 I()确定输出 y。

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

RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述-AI.x社区

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

RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述-AI.x社区

二、检索器(Retriever)

检索增强语言模型(RALM)中检索器(Retriever)的作用和分类:

  1. 检索器的作用:检索器在RALM架构中扮演着至关重要的角色,通过检索相关信息显著提升语言模型的准确性和输出质量。
  2. 检索方法分类:检索方法被分为四个主要类别:

稀疏检索(Sparse Retrieval):依赖于简单的术语匹配,如TF-IDF和BM25算法,适用于基于知识的检索任务。

密集检索(Dense Retrieval):使用深度学习技术,通过双编码器架构生成密集的嵌入向量,以提高检索的准确性。

互联网检索(Internet Retrieval):利用互联网搜索技术,允许非专业人士使用RALM,适合开放领域和泛化。

混合检索(Hybrid Retrieval):结合不同检索技术的优势,以提高RALM架构的有效性和鲁棒性。

  1. 稀疏检索:进一步细分为词频(Word Frequency)和稀疏向量表示(Sparse Vector Representation),涉及使用机器学习方法来改善检索性能。
  2. 密集检索:包括词嵌入(Word Embedding)、多模态检索(Multimodal Retrieval)和知识蒸馏(Knowledge Distillation)技术,利用深度学习模型来增强检索能力。
  3. 互联网检索:讨论了如何利用互联网作为检索工具,包括使用商业搜索引擎API和公共爬取快照构建的查找表。
  4. 混合检索:通过结合不同的检索方法,如kNN搜索、BM25和翻译模型,来提高检索性能。
  5. 检索器的优化:研究人员通过提高检索质量控制和优化检索时间来提升检索器的性能。

RALM工作中检索器的总结

RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述-AI.x社区

RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述-AI.x社区


三、语言模型(Language Model, LM)

检索增强语言模型(RALM)中语言模型(Language Model, LM)的作用和分类:

  1. 语言模型的作用:语言模型在RALM中扮演着核心角色,它们的发展极大地推动了自然语言处理(NLP)领域,使语言模型更加强大和有创造力。
  2. 语言模型的分类:在RALM架构中,语言模型通常被分为以下几类:

自编码器语言模型(AutoEncoder Language Model):这类模型通过无监督学习来捕捉输入文本的关键特征,常用于理解任务。

自回归语言模型(AutoRegressive Language Model):这些模型旨在预测下一个词,基于前面的词,适用于生成任务,如对话生成和机器翻译。

编码器-解码器语言模型(Encoder-Decoder Language Model):这类模型使用编码器-解码器架构来处理文本,适用于需要同时理解源文本和生成目标文本的任务。

  1. 自编码器语言模型:详细介绍了BERT等模型如何通过遮蔽语言模型(Masked Language Model, MLM)来学习,以及它们在NLU任务中的应用。
  2. 自回归语言模型:讨论了GPT系列模型和其他自回归模型在NLP任务中的重要性,尤其是在生成文本方面。
  3. 编码器-解码器语言模型:介绍了Transformer架构和它的变种,如T5和BART,它们如何通过编码器和解码器来处理复杂的文本转换任务。
  4. 语言模型的优化:探讨了如何通过指令调整(instruction tuning)和结构模型优化来提高语言模型的性能。
  5. 后生成输出增强:讨论了如何通过后处理来增强语言模型的输出,例如使用KNN-LM(K-Nearest Neighbor Language Model)来改进输出质量。
  6. 端到端训练:介绍了端到端训练方法,这种方法通过最小化手动干预并专注于数据来优化RALM。
  7. 中间模块:讨论了构建中间模块以协调检索器和语言模型活动的尝试,以解决空间限制或大型语言模型的黑盒问题。
  8. 未来研究方向:提出了未来研究的方向,包括提高模型的鲁棒性、改进检索技术、考虑成本效益的解决方案,以及扩展应用领域。

RALM方法中的语言模型总结​

RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述-AI.x社区

RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述-AI.x社区

四、增强组件(RALM Enhancement )

如何通过增强组件来提升检索增强语言模型(RALM)的输出质量?

  1. 检索器增强(Retriever Enhancement):介绍了如何通过提高检索质量控制和优化检索时机来增强检索器的性能。这包括使用更精细的检索技术,如自然语言推理和摘要模型,以及通过分类信息来提高检索的相关性。
  2. 语言模型增强(LM Enhancement):在语言模型方面的增强工作,包括预生成检索处理、结构模型优化和生成后输出增强。这些方法旨在提高语言模型的生成能力和理解能力。
  3. 整体增强(Overall Enhancement):对RALM架构整体的改进,包括端到端训练和构建中间模块。端到端训练方法旨在最小化手动干预,而中间模块则用于协调检索器和语言模型的活动。

RALM增强方法的分类​

RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述-AI.x社区

五、数据源(Data Sources)

检索增强语言模型(RALM)中使用的常见数据源,并根据数据的结构化程度对它们进行了分类:

  1. 结构化数据(Structured Data):这类数据具有明确的结构,如表格和知识图谱,通常用于存储数字、日期、文本等数据类型。结构化数据易于使用结构化查询语言(如SQL)进行查询、分析和处理。​
  2. 非结构化数据(Unstructured Data):与结构化数据相对,非结构化数据没有明确定义的数据结构,包括文本、图像和音频等多种形式。这类数据需要自然语言处理和图像识别等技术来解析和理解。
RALM数据源的分类

RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述-AI.x社区

六、应用(Applications)

检索增强语言模型(RALM)在自然语言处理(NLP)中的各种应用:

  1. RALM在NLG任务上的应用:涉及生成任务,如机器翻译、数学教学和对话生成。这些应用主要依赖于模型的生成能力。​
  2. RALM在NLU任务上的应用:涉及理解任务,如槽位填充、图像生成和事实检查。这些任务主要依赖于模型的理解能力。​
  3. RALM在NLU和NLG任务上的综合应用:涉及同时需要生成和理解能力的任务,如文本摘要和问答系统。

                                                RALM应用的分类

RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述-AI.x社区

七、评估方法与基准(Evaluation)

检索增强语言模型(RALM)的评估方法和基准:

  1. 评估方法:介绍了用于评估RALM性能的多种方法,包括通用基准测试和特定于RALM的评估指标。
  2. 基准测试:使用不同的数据集来测试RALM在各种任务上的表现,如WikiEval、LLM-generated、MMLU-Med等。
  3. 评估指标:包括检索质量、生成质量、上下文相关性、答案相关性、鲁棒性、信息整合、错误检测等。
  4. 评估模型:介绍了各种评估模型,如RAGAS、RGB、CRUD-RAG、ARES、MIRAGE和RECALL,它们各自关注不同的评估方面。
  5. RAGAS:使用WikiEval数据集来评估RALM的忠实度、答案相关性和上下文相关性。
  6. RGB:开发了一个双语中文和英文的评估系统,使用准确性、拒绝率和错误检测率等指标。
  7. CRUD-RAG:考虑了检索组件和构建外部知识库的影响,这些之前未被充分考虑。
  8. ARES:使用轻量级语言模型来确定RALM各个组件的质量,并使用人工标注的数据点进行预测驱动的推理。
  9. MIRAGE:专注于医疗领域的评估,整合了五个数据集,包括MMLU-Med,来评估医疗RALM的能力。
  10. RECALL:通过在现有数据集中引入不准确信息,然后测试RALM是否容易受到这些不准确信息的影响。

                                               RALM中评估方法的总结

RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述-AI.x社区

八、局限性与未来展望(Evaluation)

检索增强语言模型(RALM)目前面临的一些限制:

  1. 鲁棒性不足:RALM系统虽然在多个领域表现出性能优势,但由于引入了检索技术,也引入了多种不确定性。例如,通过简单的前缀攻击,可以降低RALM输出的相关性和准确性,甚至改变检索器的检索策略。
  2. 检索结果质量不佳:尽管提出了多种模型来优化输出质量,但检索结果的质量仍不能完全与语言模型对齐。特别是当使用互联网作为检索工具时,互联网来源的质量参差不齐,如果未能适当考虑,可能会引入噪声或误导性信息。
  3. 成本过高:一些现有的RALM需要进行大量的模型更改以及复杂的预训练和微调操作,这大大增加了时间和空间开销,降低了RALM的可扩展性。此外,随着检索规模的增加,存储和访问数据源的复杂性也随之增加。
  4. 应用范围有限:尽管RALM在多个领域提高了语言模型的性能,但从应用角度来看,改进并不显著。RALM仍然在执行一些早期语言模型的常规工作,例如问答和摘要。虽然最近有一些有趣的应用方向,如数学教学和槽位填充,但这还不够。

当前RALM模型的局限性和未来展望的总结

RAG+RAU:对检索增强型语言模型(RALM)进行全面、深入综述-AI.x社区

RAG and RAU: A Survey on Retrieval-Augmented Language Model in Natural Language Processing
https://arxiv.org/pdf/2404.19543
https://github.com/2471023025/RALM_Survey

本文转载自 PaperAgent​,作者: PaperAgent

收藏
回复
举报
回复
相关推荐