赞
踩
RAG 是检索增强生成(Retrieval-Augmented Generation)的简称,是当前最火热的大语言模型应用落地的关键技术,主要用于提高语言模型的效果和准确性。它结合了两种主要的NLP方法:检索(Retrieval)和生成(Generation)。
RAG模型的关键在于它结合了这两种方法的优点:检索系统能提供具体、相关的事实和数据,而生成模型则能够灵活地构建回答,并融入更广泛的语境和信息。这种结合使得RAG模型在处理复杂的查询和生成信息丰富的回答方面非常有效。这种技术在问答系统、对话系统和其他需要理解和生成自然语言的应用中非常有用。
RAG于2020年中期由Lewis等人提出,是LLMs领域中的一种范式,可增强生成任务。具体而言,RAG包括一个初始的检索步骤,LLMs在此步骤中查询外部数据源以获取相关信息,然后才回答问题或生成文本。这个过程不仅为后续的生成阶段提供信息,还确保回答基于检索到的证据,从而显著提高了输出的准确性和相关性。
在推断阶段动态检索来自知识库的信息使RAG能够解决生成事实错误内容的问题,通常被称为“幻觉”。将RAG整合到LLMs中已经迅速被采用,并成为完善聊天机器人能力和使LLMs更适用于实际应用的关键技术。
RAG的演进轨迹在四个不同阶段展开,如下图所示。
在2017年的创始阶段,与Transformer架构的出现相一致,主要重点是通过预训练模型(PTM)来吸收额外的知识以增强语言模型。这个时代见证了RAG的基础工作主要集中在优化预训练方法上。在这个初始阶段之后,出现了相对沉寂的时期,与RAG相关的研究进展较少。随后ChatGPT的出现标志着LLMs领域的重要时刻,社区的重点转向利用LLMs的能力来实现更高的可控性和解决不断变化的需求。
因此,大部分RAG工作集中在推断上,只有少数工作致力于微调过程。随着LLMs能力的不断提高,特别是GPT-4的推出,RAG技术的格局发生了重大变化。重点转向了RAG和微调的优势相结合的混合方法,同时也有少数人继续关注优化预训练方法。
下图中展示了一个典型的 RAG 应用工作流程:
用户向 ChatGPT 查询最近引起广泛关注的事件,这些事件引发了大量的公众讨论。作为最著名和广泛使用的LLMs,受限于其预训练数据,ChatGPT缺乏对最新事件的了解。RAG通过从外部知识库中检索最新的文档摘录来解决这一问题。在这种情况下,它获取了与查询相关的一些新闻文章。这些文章连同最初的问题被合并成一个丰富的提示,使ChatGPT能够合成一个知情的回答。
这个示例说明了RAG的过程,展示了它通过实时信息检索来增强模型的响应能力。从技术上讲,RAG已经通过各种创新方法得到丰富,这些方法解决了关键问题,例如“要检索什么”、“何时检索”和“如何使用检索到的信息”。
关于“要检索什么”的研究已经从简单的标记检索和实体检索发展到更复杂的结构,如块和知识图研究重点放在检索的粒度和数据结构的级别上。粗粒度带来更多的信息,但精度较低。检索结构化文本提供了更多信息,但效率较低。关于“何时检索”的问题已经产生了各种策略,从单一检索到自适应检索和多次检索,再到高频率检索的方法。
RAG研究范式不断发展,我们将其分为三种类型:基础RAG(Naive RAG)、高级RAG(Advanced RAG)和模块化RAG(Modular RAG)。下图简单的说明了这三种RAG的工作流程:
基础RAG是检索增强生成(RAG)范式的最早形式之一,其基本概念是将外部检索与大型语言模型(LLMs)的生成能力结合在一起。在基础RAG中,检索通常是基于查询的,并且用于检索外部知识库或数据源中的相关信息。一旦获得了检索到的信息,它们可以与LLMs的内部知识结合在一起,以生成更准确和相关的文本或回答。
然而,基础RAG虽然在改善LLMs的性能方面取得了一定的成功,但也存在一些限制和不足之处。其中一些主要限制包括:
由于这些限制,研究人员开始探索更高级的RAG范式,以克服这些问题并提高RAG的性能和适用性。这导致了高级RAG和模块化RAG的发展,这些范式在各种应用中得到了广泛的应用。
高级RAG是检索增强生成(RAG)范式的进化形式,其目的是克服基础RAG的一些限制,并进一步提高性能和适用性。在高级RAG中,研究人员采用了一系列创新性方法和技术,以应对复杂的自然语言处理任务和挑战。
以下是高级RAG的一些关键特点和创新:
高级RAG代表了RAG范式的进一步发展,具有更广泛的应用领域和更强大的性能。它在自然语言处理和人工智能领域中取得了重要的突破,并在各种实际应用中得到了广泛的采用。
模块化RAG是检索增强生成(RAG)的另一种演进形式,目的是提供更大的定制性和灵活性,以满足不同应用场景的需求。与基础RAG和高级RAG相比,模块化RAG更注重将RAG系统分解为各种独立的组件,每个组件负责特定的任务或功能。
以下是模块化RAG的一些关键特点和概念:
模块化RAG强调了灵活性和可定制性,使研究人员和开发者能够更好地适应不同的应用需求。这种方法在构建复杂的自然语言处理系统时非常有用,可以根据具体任务的要求构建定制的RAG系统。
RAG的核心组件分为三个部分检索(Retrieval)、增强(Augmentation)、生成(Generation),其分类结构如下图:
检索是检索增强生成(RAG)框架的核心组件之一,它负责从外部数据源或知识库中获取与用户查询相关的信息。检索的质量和效率对于RAG系统的性能至关重要,因为它直接影响生成的文本或回答的准确性和相关性。
以下是与检索相关的一些关键概念和技术:
在RAG框架中,检索与生成和增强技术密切合作,以生成最终的文本或回答。因此,检索的质量和效率对于整个RAG系统的性能和效果至关重要。
RAG中的增强技术是RAG框架的第二个核心组件,它的作用是进一步提升生成的质量和效果,以确保生成的文本或回答准确、相关且合乎要求。增强技术通过不同方式与检索和生成协同工作,以优化RAG系统的性能。
以下是与RAG中的增强技术相关的一些关键概念和方法:
增强技术的选择和应用取决于特定任务和应用场景的要求。通过合理利用增强技术,RAG系统可以提供更具洞察力和相关性的生成文本,从而提高用户满意度和系统的实用性。
生成是检索增强生成(RAG)框架的另一个核心组件,它负责根据检索到的信息和用户查询生成最终的文本或回答。生成的质量和效果直接影响着RAG系统的性能和可用性。
以下是与生成相关的一些关键概念和技术:
在RAG框架中,生成与检索和增强技术协同工作,以生成最终的输出。生成的能力和质量对于RAG系统的整体性能和用户体验至关重要。
RAG(检索增强生成)与微调(Fine-Tuning)是两种不同的大型语言模(LLM)优化方法,它们在应用和效果上有所不同:
RAG与其他模型优化方法的比较:
RAG的优势:
微调的优势:
总的来说,RAG和微调各有其优势和适用场景,RAG 的优势在于通用性、知识引用、即时性和可解释性,而微调在特定任务上可能更适用,但同时需要更多的任务特定数据和训练。选择使用哪种方法,应根据具体的应用需求和任务来决定。未来的发展可能会探索两种方法的结合,以充分利用它们的优势,并改进大型语言模型的性能。
RAG(检索增强生成)系统的评估是确保其性能和效果的关键步骤。这里将介绍RAG系统的评估方法和指标,以帮助衡量其生成文本或回答的质量和相关性。
以下是与RAG评估相关的一些关键概念和方法:
评估方法和指标的选择取决于具体的任务和应用场景。综合使用多种评估方法可以更全面地了解RAG系统的性能和效果。评估结果可以指导系统的改进和优化,以满足用户的需求。
RAG(检索增强生成)技术在不断发展和演进,未来有许多潜在的发展方向和前景。
总的来说,RAG技术具有广阔的研究前景和应用前景。未来的研究将继续探索新的方法和技术,以不断改进和扩展RAG系统的功能和性能,从而更好地满足各种知识密集型任务和应用场景的需求。
参考论文:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。