1 介绍
大型语言模型(LLMs)在处理特定领域或高度专业化的查询时存在局限性**,如生成不正确信息或“幻觉”。**缓解这些限制的一种有前途的方法是检索增强生成(RAG),RAG就像是一个外挂,将外部数据检索集成到生成过程中,增强模型提供准确和相关响应的能力。
图1 RAG技术发展科技树
本文主要内容如下:
- 回顾了当前最先进的RAG技术,包括朴素RAG、进阶RAG和模块RAG等范式,并阐述了它们的发展历程。在LLM背景下,本文将RAG研究的更广泛领域进行了全面而系统的探讨。
- 重点讨论了RAG过程中的核心技术,特别是“检索”、“生成”和“增强”这三个方面。文章深入分析了这三个组件如何协同工作,并阐明了它们如何相互协作,形成一个有凝聚力和有效的RAG框架。
- 为RAG构建了一个全面的评估框架,包括评估目标和度量标准,并从多个角度分析了其优缺点,同时预测了其未来发展方向和潜在增强。此外,还强调了解决当前挑战的扩展和生态系统的发展。
2 定义
RAG是一种通过整合外部知识库来增强LLMs的模式,采用协同方法,结合信息检索机制和上下文学习(ICL)来提高LLM的性能。RAG工作流程包括三个关键步骤:首先,语料库被划分为离散块,然后使用编码器模型构建向量索引。其次,RAG根据其与查询和索引块的向量相似性来识别和检索块。最后,模型合成一个响应,条件于检索到的块中获取的上下文信息。这些步骤构成了RAG过程的根本框架,支持其信息检索和上下文感知生成能力。RAG的关键优势在于它不需要为特定任务重新训练LLM,开发人员可以添加外部知识库,丰富输入并从而改进模型输出精度。
图 2 RAG 技术在 QA 问题中的案例
3 RAG框架
RAG研究范式经历了不断演变的过程,主要分为朴素RAG、进阶RAG和模块RAG三种类型。虽然RAG具有成本效益并超过了原生LLM的性能,但也表现出一些局限性。为了应对朴素RAG中的特定缺点,开发了进阶RAG和模块RAG。
3.1 朴素RAG
朴素RAG遵循一个传统流程,包括索引、检索和生成。
**索引。**数据准备过程中的索引是关键初始步骤,涉及多个阶段,从数据清理和提取到文件格式转换和切分,再到嵌入模型转化为向量表示和创建索引。索引为检索阶段的相似性比较提供了便利,并存储了文本部分和它们的向量嵌入作为键值对,为高效和可扩展的搜索能力提供了可能。
**检索。**系统对用户查询进行转码,生成向量的表示形式,并计算查询向量与索引语料库中块之间的相似度分数。系统优先检索出与查询最相似的块,并用作扩展上下文的基础,以响应用户的请求。
**生成。**大型语言模型被用于根据提示合成文档来制定响应,允许它利用参数知识或限制在提供文档中的信息。对话历史也可集成到提示中以进行多轮对话交互。模型回答问题的方法可能因特定任务标准而异。
**Naive RAG 的缺点。**Naive RAG在检索、生成和增强三个关键领域面临挑战。检索质量低,导致不匹配的块、幻觉、空中掉落等问题,阻碍了构建全面响应的能力。生成质量引发幻觉挑战,即模型生成的答案没有基于提供的上下文,存在无关上下文和潜在毒性或偏见的问题。增强过程难以有效地结合检索段落中的上下文与当前生成任务,导致输出不连贯或不一致。重复和冗余也是问题,需要确定检索段落的重要性和相关性,并协调不同的写作风格和语气。生成模型过度依赖增强信息存在风险,可能导致输出仅重申检索到的内容,没有提供新的价值或综合信息。
3.2 进阶RAG
进阶RAG通过增强有针对性的检索策略和改进索引方法来弥补Naive RAG的缺点。它实施了预检索和后检索策略,并采用了滑动窗口、细粒度分割和元数据等技术来改进索引方法。此外,还引入了各种方法来优化检索过程,如ILIN。
**预检索过程。**优化数据索引可以提高索引内容的质量,从而提高RAG系统的性能。这涉及五个主要策略:增强数据粒度、优化索引结构、添加元数据、对齐优化和混合检索。增强数据粒度旨在提高文本标准化的程度和上下文丰富性,优化索引结构包括调整块大小和利用图数据索引整合信息,添加元数据信息用于过滤和整合元数据以提高检索效率,对齐优化处理文档之间的对齐问题和差异。
**检索阶段。**在检索阶段,通过计算查询和块之间的相似性来确定适当的上下文,嵌入模型是核心。微调嵌入模型可以增强特定领域上下文中的检索相关性,动态嵌入会根据使用的上下文进行适应。像BERT这样的转换器模型可以捕获上下文理解,但可能不如最新全尺寸语言模型对上下文敏感。
**后检索过程。**从数据库检索到的有价值上下文与查询合并后,应对上下文窗口限制带来的挑战,对检索到的内容进行重新排名和提示压缩是关键策略。重新排名方法包括根据文档多样性优先级、在上下文窗口的开头和结尾交替放置最好的文档、重新计算相关文本和查询之间的语义相似性等。提示压缩方法包括利用小型语言模型来计算提示的互信息或困惑度,以及设计摘要技术来增强LLM的关键信息感知等。
3.3 模块RAG
图3 RAG 范式对比图
模块RAG结构是一种新型的RAG框架,具有更大的灵活性和适应性,可以整合各种方法来增强功能模块,并解决特定问题。模块RAG范式正逐渐成为常态,允许在多个模块之间进行串行流水线或端到端训练方法。进阶RAG是模块RAG的一种专门形式,而Naive RAG是进阶RAG的一个特殊情况。这三个范式之间的关系是继承和发展关系。
新模块搜索模块针对特定场景定制,并纳入了额外语料库的直接搜索,通过LLM生成的代码、查询语言和其他定制工具实现集成,数据源包括搜索引擎、文本数据、表格数据和知识图谱。
记忆模块利用LLM的记忆能力引导检索,识别与当前输入最相似的记忆,并通过检索增强生成器迭代创建无界记忆池,使文本在推理过程中与数据分布更加一致。
融合方法通过采用多查询方法增强传统搜索系统,使用LLM将用户查询扩展到多个不同的视角,揭示更深层次的变革性知识。融合过程包括对原始和扩展查询的并行向量搜索,智能重新排名以优化结果,并将最佳结果与新查询配对。
RAG系统检索过程利用多种来源,根据情况交替或合并使用,查询路由决定用户查询的后续操作,包括摘要、搜索特定数据库或将不同路径合并为单个响应。查询路由器选择适合查询的数据存储,决策是预定义的,通过LLM调用执行。
预测模块利用LLM生成必要内容,解决检索内容中的冗余和噪声问题,生成的内容更有可能包含相关信息。
任务适配器使RAG适应各种下游任务,UPRISE自动从预构建数据池检索提示,支持零样本任务输入,增强跨任务和模型通用性。PROMPTAGATOR将LLM用作少数样本查询生成器,创建特定于任务检索器,利用少量示例开发特定于任务的端到端检索器。
新模式
模块RAG具有高度的适应性,允许在RAG过程中替换或重新排列模块以适应特定问题情境。当前研究主要探索两种组织范式,一种是添加或替换模块,另一种是调整模块之间的组织流程。这些灵活性使得可以根据需要定制RAG过程,从而有效地处理各种任务。
优化RAG管道
优化RAG管道以提高信息效率和信息质量,通过整合各种搜索技术、改进检索步骤、融入认知回溯、实施多功能的查询策略和利用嵌入相似性,实现检索效率和上下文信息的深度之间的平衡。混合搜索探索、递归检索和查询引擎、后退提示方法、子查询和假设文档嵌入等方法被用于优化RAG管道。这些方法有助于生成对后退提示的响应和最终的答案生成过程。然而,这种方法可能不会始终产生令人满意的结果,特别是当语言模型对主题不熟悉时,可能会导致更多的错误实例。
4 检索
在RAG中,高效检索相关文档的关键在于解决三个问题:1)如何实现精确的语义表示;2)如何协调查询和文档的语义空间;3)如何使检索器的输出与大型语言模型的偏好相协调。
4.1 加强语义表示
RAG中的语义空间对于查询和文档的多维映射至关重要,其检索精度对结果影响显著。本节将介绍两种建立准确语义空间的方法。
块优化
管理外部文档时,确定适当的块大小对于确保检索结果的准确性和相关性至关重要。选择适当的块化策略需要考虑索引内容的性质、嵌入模型、用户查询的预期长度和复杂性以及应用程序的使用情况。目前,RAG领域的研究探索了各种块优化技术,以提高检索效率和准确性。摘要嵌入技术、元数据筛选技术和图索引技术等多样化方法的结合已经取得了显著的进步,从而提高了检索结果和RAG的性能。
微调嵌入模型
一旦确定了块大小,下一步就是使用嵌入模型将块和查询嵌入到语义空间中。嵌入模型的有效性至关重要,因为它会影响模型表示语料库的能力。最近的研究引入了诸如AngIE、Voyage、BGE等著名的嵌入模型。这些模型在广泛的语料库上进行预训练,但在专门领域时,它们准确捕捉特定领域信息的能力可能有限。针对特定任务的嵌入微调对于确保模型能够以内容相关性的方式理解用户查询至关重要。嵌入微调方法主要有两种主要范式:领域知识微调和下游任务的微调。领域知识微调需要使用领域特定的数据集,而模型微调的数据集包括查询、语料库和相关文档。下游任务的微调是提高模型性能的关键步骤,例如PROMPTAGATOR和LLM-Embedder等方法利用LLM的能力对嵌入模型进行微调。
4.2 对齐查询和文档
RAG应用中,检索器可以使用嵌入模型编码查询和文档,或为每个使用不同模型。原始查询可能因不精确措辞和缺乏语义信息而受影响,因此,将用户查询的语义空间与文档的语义空间对齐至关重要。本节介绍两种基本技术实现这种对齐。
查询重写
查询重写是一种用于对齐查询和文档语义的方法,通过将原始查询与额外指导结合来创建伪文档,或使用文本线索构建查询向量以生成“假设”文档,或改变传统的检索和阅读顺序,专注于查询重写,或利用LLM进行高级概念抽象推理和检索。多查询检索方法也利用LLM同时生成并执行多个搜索查询,以处理具有多个子问题的复杂问题。
嵌入变换
LlamaIndex通过引入适配器模块,优化查询嵌入的表示,将其映射到与预期任务更紧密对齐的潜在空间中。SANTA通过两种预训练策略增强检索器对结构化信息的敏感性:首先,利用结构化和非结构化数据之间的内在对齐来指导结构化意识下的预训练方案中的对比学习;其次,实施掩码实体预测,鼓励语言模型预测并填充被掩码的实体,从而促进对结构化数据的深入理解。SANTA特别处理了结构化和非结构化数据之间的差异,通过将查询与结构化外部文档对齐,提高检索器识别结构化信息的能力。
4.3 对齐检索器和LLM
在RAG管道中,提高检索命中率不一定能改善最终结果,因为检索到的文档可能不满足LLMs的需求。本部分将介绍两种将检索器输出与LLMs偏好对齐的方法。
微调检索器
几种研究利用来自语言模型(LLMs)的反馈信号来完善检索模型。其中,Yu等人使用编码器-解码器架构为检索器提供监督信号,通过FiD跨注意力分数识别LM的偏好文档,并使用难负采样和标准交叉熵损失对检索器进行微调。此外,还建议LLMs可能更倾向于关注可读性文档而不是信息丰富的文档。Shi等人利用检索器和LLM来计算检索到的文档的概率分布,通过KL散度进行监督训练。UPRISE使用冻结的LLM来微调检索器,通过LLM提供的分数来监督检索器的训练。此外,还提出了四种监督微调嵌入模型的方法,以提高检索器和LLM之间的协同作用,从而提高检索性能和更准确地响应用户查询。
适配器
微调模型时可能会遇到挑战,如通过API集成功能或解决本地计算资源有限的问题。一些方法选择采用外部适配器来帮助对齐。PRCA通过上下文提取阶段和奖励驱动阶段来训练适配器,并使用基于令牌的自回归策略优化检索器的输出。此外,PKG介绍了一种创新方法,通过指令微调将知识集成到白盒模型中,这种方法有助于解决微调过程中遇到的困难,并提高模型性能。此外,RECOMP引入了提取和生成压缩器,用于摘要生成。
5 生成
RAG的关键组成部分之一是生成器,它负责将检索到的信息转换为连贯、流畅的文本。生成器通过整合检索到的数据来提高准确性和相关性,并受到检索到的文本的指导以确保生成的文本与检索到的信息之间的一致性。这种全面的输入使生成器能够深入了解问题的上下文,提供更有信息和上下文相关的响应。生成器的引入有助于改进大型模型对输入数据的适应能力。
5.1 使用冷冻LLM进行后检索
在不可调用的LLM领域,研究依赖GPT-4等大型模型合成信息,但存在上下文长度限制和易受冗余信息影响的问题。为解决这些问题,研究转向后检索处理,涉及处理、过滤或优化从大型文档数据库中检索的相关信息,以提高检索结果质量,使其更符合用户需求或后续任务。后检索处理中的常见操作包括信息压缩和结果重新排名。
信息压缩
大型语言模型的上下文长度限制是一个挑战,信息压缩对于减少噪音、解决上下文长度限制和增强生成效应具有重要意义。PRCA和RECOMP是两个研究项目,它们分别通过训练信息提取器和使用对比学习训练信息压缩器来解决这个问题。另一个研究项目提出了“Filter-Reranker”范式,结合了LLMs和小语言模型(SLMs)的优势,以减少文档数量以提高模型回答的准确性。
重新排序
重新排序模型在优化检索器检索的文档集合方面起着重要作用,通过重新排列文档记录,优先考虑最相关的项目,从而限制文档总数,提高检索效率和响应速度。这种方法还纳入了上下文压缩,以提供更精确的检索信息。重新排序模型在整个信息检索过程中扮演双重角色,既是优化者又是细化者。
5.2 针对RAG的微调LLM
优化RAG模型中的生成器是关键方面,生成器的角色是接收检索到的信息并生成相关文本。为了适应输入查询和检索到的文档,对模型进行微调变得至关重要。在RAG中,生成器的微调方法与LLM的一般微调方法一致。为了提高生成器的性能,需要后处理检索到的文档,并使用代表性工作进行数据和优化函数的探索。
总体优化过程
总体优化过程的一部分是训练数据通常包括输入-输出对,旨在训练模型根据输入x生成输出y。自我记忆的工作中,采用了一种传统的训练过程,其中给定输入x,检索相关文档z,在整合(x,z)后,模型生成输出y。训练数据通常包括输入-输出对,旨在训练模型根据输入生成输出。在联合编码器和双编码器范式中,使用基于编码器-解码器的标准模型或两个独立的编码器对输入和文档进行编码,然后使用解码器进行双向跨注意力处理。这两种架构都使用Transformer作为基础块并进行优化。
利用对比学习
在训练语言模型时,传统的方法可能导致“曝光偏差”,即模型只根据单个、正确的输出示例进行训练,限制了其对各种可能输出的范围。为了解决这个问题,SURGE提出了使用图-文本对比学习的方法,可以促使模型产生一系列可能且连贯的响应,减少过拟合,加强模型泛化能力。对于涉及结构化数据的检索任务,SANTA框架实施了三部分训练方案,包括检索器、生成器初步训练阶段和生成器训练的另一个阶段,有效地封装了结构和语义的微妙差异,培养了模型对文本数据结构语义的理解,并促进了结构化数据中相关实体的对齐。
6 RAG的增强
RAG发展的三大关键技术:增强阶段、数据来源和过程。图4展示了RAG核心组件的分类。
图4 RAG的核心组件的分类体系
6.1 RAG的增强阶段
RAG是一个知识密集型工作,在语言模型训练的预训练、微调和推理阶段,融入了各种技术方法。
预训练阶段
在预训练阶段,研究人员通过基于检索的策略来加强开放域QA的PTMs。REALM模型采用结构化的可解释方法进行知识嵌入,并利用检索增强进行大规模预训练。RETRO从头开始利用检索增强进行预训练,并减少模型参数以实现困惑度上的超越标准GPT模型。COG引入了一种新颖的文本生成方法,模拟从现有集合复制文本片段。增强预训练方法具有强大的性能和参数利用率,但面临着挑战,如需要大量的预训练数据集和资源,以及随着模型规模增加而减少的更新频率。实证证据突显了这种方法在知识密集型应用中的显著改善。
微调阶段
RAG与微调是强化LLM的重要工具,两者结合能更好地满足特定场景需求。微调检索器能优化语义表示,协调检索与生成模型,提升通用性和适应性。微调生成器则能定制化和风格化输出,适应不同输入格式,构建特定指令数据集。协同微调能增强模型通用性,避免过拟合,但资源消耗较大。虽然微调需要专用数据集和大量计算资源,但能减少预训练资源消耗,定制模型以满足特定需求。总之,微调对RAG模型适应特定任务至关重要,能完善检索与生成器,增强模型多样性和适应性。
推理阶段
RAG模型的推理阶段十分重要,与LLM的集成广泛。传统RAG在推理阶段引入检索内容来指导生成。为改进,先进技术在推理中引入了更丰富语境的信息。DSP框架在frontier LMs和检索模型间进行自然语言文本交换,丰富了上下文,改善了生成结果。PKG方法为LLMs配备了知识引导模块,可检索信息以执行复杂任务,无需修改LLMs参数。CREAICL采用跨语言知识的同步检索来增强上下文,RECITE通过从LLMs中直接采样段落来生成上下文。ITRG通过迭代检索识别正确的推理路径,提高任务适应性。ITERRETGEN采用迭代策略,将检索和生成合并为一个循环过程,交替进行“检索增强生成”和“生成增强检索”。这些增强提供了轻量级、经济高效的替代方案,能利用预训练模型的能力而无需进一步训练。
6.2 增强源
RAG模型需要增强数据源的选择,不同层次的知识和维度需要不同的处理技术。最初,增强主要通过纯文本等非结构化数据实现,后来扩大到包括使用结构化数据进行进一步改进,最近还越来越多地采用利用LLM自身生成的内容进行检索和增强的趋势。这些增强方法对RAG模型的有效性产生重大影响。
结合无结构数据
从语料库中收集的无结构文本用于微调大型模型,提供了细粒度的精度,但增加了检索的复杂性。一种主动检索方法由模型生成低概率单词触发,创建临时句子,用检索到的上下文重新生成句子以预测后续句子。另一种方法使用前一块的上下文指导下一块的生成,保持因果关系,只利用前一个块的最近邻居。这些方法有助于提高文档检索的精度。
结合结构化数据
结构化数据,如知识图谱(KGs),为模型提供了高质量的上下文信息,有助于缓解模型幻觉。RET-LLMs从过去的对话中构建知识图谱记忆,SUGRE使用GNN编码相关的KG子图并确保检索到的信息和生成的文本之间的一致性,KnowledGPT生成KB搜索查询并将知识存储在个性化基础上。
在RAG中利用LLMs生成的文本
为了解决RAG中外部辅助信息存在的局限性,一些研究专注于利用LLM的内部知识。其中,一些方法将问题分为已知或未知,选择性地应用检索增强。其他方法则将LLM生成器用于取代检索器,通过迭代创建与检索增强生成器无界的内存池,使用内存选择器来选择作为原始问题的双重问题的输出,从而自我增强生成模型。
这些方法强调了RAG中创新数据源利用的广泛性,旨在提高模型性能和任务有效性。
6.3 增强过程
在RAG领域,单一检索步骤和生成可能导致效率低下,并出现“迷失在中间”现象。为了解决这些问题,当代研究提出了改进检索过程的方法,包括迭代检索、递归检索和自适应检索。迭代检索增强所获得信息的深度和相关性,递归检索用于处理复杂或多步查询,特别是需要逐步接近最终答案的场景,而自适应检索提供动态调整机制以适应不同任务和情境。
图5 具有不同增强方面的代表性 RAG 研究的技术树图谱
迭代检索
RAG模型中的迭代检索通过多次检索迭代提供额外的上下文参考,增强了后续答案生成的鲁棒性。为了解决特定数据场景,使用递归检索和多跳检索技术。一些方法论将检索和生成的步骤结合起来,利用协同方法,利用所需的内容作为检索相关知识的上下文基础来解决问题,从而促进在随后的迭代中生成改进的响应。
递归检索
递归检索是一种优化搜索结果的反馈循环过程,通过反复改进搜索查询来提高搜索结果的深度和相关性。该过程使用思维链或澄清树等工具来指导检索过程,并使用获得的检索结果来改进思维链或优化查询中的模糊部分。递归检索允许不断学习和适应用户需求,通常能提高搜索结果的满意度。
自适应检索
自适应检索方法通过使LLM主动确定检索的最佳时间和内容来改进RAG框架,从而提高检索信息的效率和相关性。这些方法包括使用强化学习框架、自我反思令牌和自动监测生成过程的置信度等手段。LLM优化引起了人们的极大关注,优化方法包括提示工程、微调(FT)和RAG等,如图6所示,需要根据特定场景的要求和每个方法的固有属性进行选择,RAG和FT的详细比较请参见表1。
图6 RAG与其他模型优化方法的比较
表1 RAG与微调之间的比较
6.4 RAG与微调的比较
RAG和FT是两种不同的信息检索模型训练方法,RAG适合特定查询,FT适合内化知识。FT可以通过强化基础模型知识、调整输出和教授复杂指令来提高模型性能和效率,但不适合整合新知识或快速迭代新用途。RAG和FT并非相互排斥,可以相互补充,在不同层次上增强模型能力。优化涉及RAG和FT的过程可能需要多次迭代才能达到满意结果。
7 RAG评估
自然语言处理领域中RAG的快速发展和广泛应用推动了法律语言学社区的前沿研究。评估的主要目的是理解和优化RAG模型在不同应用场景的性能。评估方法从特定任务评估方法和指标转移到基于其独特属性的现有文献的综合,涵盖了RAG评估的目标、对这些模型进行评估的方面、以及可用于此类评估的基准和工具。目的是提供一个关于RAG模型评估的全面概述。
7.1 评估目标
对RAG模型的评价集中于其检索和生成模块,以全面评估上下文质量和内容质量。
检索质量评估
评估检索质量对于确定检索组件提供的上下文的有效性至关重要。可以使用搜索引擎、推荐系统和信息检索系统的标准指标来衡量RAG检索模块的性能。通常使用命中率、MRR和NDCG等指标来评估检索模块的性能。
生成质量评估
生成质量的评估包括真实性、相关性、非危害性和准确性,可以通过手动或自动评估方法进行。对于未标记的内容,评估还包括上下文相关的答案。对于标记的内容,重点是模型产生的信息的准确性。评估方法可以用于检索和生成的质量评估。
7.2 评估方面
当前评价RAG模型主要关注三个关键质量分数和四个基本能力,这些因素共同影响着模型的检索和生成两大目标。
质量分数
质量分数包括上下文相关性、答案准确性和答案相关性。这些质量分数从信息检索和生成过程中的不同角度评估RAG模型的效率,确保检索到的上下文精确且具有特异性,生成的答案与所提出的问题保持一致并避免矛盾,同时与核心问题直接相关。
所需能力
RAG评估包括噪声鲁棒性、负拒绝、信息整合和反事实鲁棒性四种能力,这些能力对于模型在各种挑战和复杂场景下的性能至关重要。此外,上下文相关性和噪声鲁棒性对于评估检索质量很重要,而答案真实性、答案相关性、负拒绝、信息整合和反事实鲁棒性对于评估生成质量也很重要。表2总结了每个评估方面的具体指标。
表2 适用于评价方面RAG的指标摘要表
7.3 评估基准和工具
RAG模型评估框架包括基准测试和自动化评估工具,这些工具提供了定量指标,可以衡量模型表现并增强对模型在各种评估方面的能力理解。基准测试侧重于评估模型的基本能力,而最先进的自动化工具使用LLM来裁决质量分数。这些工具和基准共同构成了系统评估RAG模型的强大框架,如表3.
表3 评价框架摘要
8 未来展望
这部分探讨了RAG的三个未来展望:未来的挑战、模式扩展和RAG生态系统。
8.1 RAG的未来挑战
RAG技术虽然取得了显著进展,但仍面临一些挑战:
- 上下文长度:RAG效果受限于大型语言模型(LLM)的上下文窗口大小,需要在信息不足和风险较高的信息稀释之间找到平衡。
- 鲁棒性:检索过程中的噪声或矛盾信息可能影响RAG输出质量,提高RAG对抗性或反事实输入的抵抗力是研究热点。
- 混合方法(RAG+FT):将RAG与微调相结合成为主导策略,确定最佳集成方式和利用参数化和非参数化优势值得探索。
- 扩大LLM角色:确定在RAG系统中进一步释放LLMs潜力的方式是研究热点。
- 规模定律:RAG模型中的参数数量落后于LLMs,反规模定律的可能性值得研究。
- 生产就绪的RAG:提高检索效率、在大型知识库中提高文档召回率以及确保数据安全性等关键工程挑战仍需解决。
RAG的模态扩展
RAG已经超越了基于文本的问答,接纳了图像、音频和视频等多种模态数据,催生了创新的多模态模型。在图像领域,RA-CM3和BLIP-2等模型实现了文本和图像的检索和生成,以及零样本图像到文本转换。在音频和视频领域,GSS方法将机器翻译数据转换为语音翻译数据,UEOP在端到端自动语音识别方面取得进展,基于KNN的注意力融合改进了ASR,Vid2Seq使用专门的计时器来增强语言模型,促进事件边界和文本描述的预测以及统一输出序列。在代码领域,RBPS通过编码和频率分析检索与开发人员目标一致的代码示例,在小规模学习任务中表现出色。对于结构化知识,CoK方法首先从知识图中提取与输入查询相关的信息,然后将这些事实作为提示集成到输入中,提高知识图问答任务的性能。
8.2 RAG生态系统
RAG是一种强大的语言模型,能够处理复杂的查询并产生详细的响应。它在开放式问答和事实核查等下游任务中表现出色,提高了响应的精确性、相关性、多样性和深度。RAG在医学、法律和教育等领域的可扩展性和通用性值得进一步研究,可能降低培训成本,提高专业领域知识问题回答的性能。完善RAG的评估框架至关重要,需要开发微妙的指标和评估工具,以衡量上下文相关性、内容创造性以及非恶意性等因素。提高RAG驱动模型的解释性也是一个关键目标,这将有助于建立用户对RAG应用程序的信任和透明度。
技术堆栈
RAG生态系统的发展受到技术堆栈发展的影响,如LangChain和LLamaIndex等关键工具的流行,提供了广泛的RAG相关API。新兴的技术堆栈如FlowiseAI10、HayStack、Meltano11和CohereCoral12也因其独特贡献受到关注。传统的软件和云服务提供商也在扩大服务范围,包括以RAG为中心的服务。RAG模型和技术堆栈的共同增长是显而易见的,技术进步不断为现有基础设施制定新标准。RAG工具包正在汇集成为一个基础技术堆栈,为高级企业应用程序奠定基础。然而,完全集成和全面的平台的概念仍然存在,有待进一步的创新和发展。
图 7 RAG 的生态系统概览