什么是检索增强生成 (RAG)?

检索增强生成 (RAG) 定义

检索增强生成 (RAG) 是一种技术,它使用来自私有或专有数据源的信息来补充文本生成。 它将检索模型(旨在搜索大型数据集或知识库)与生成模型(例如 大型语言模型 (LLM))相结合,后者获取这些信息并生成可读的文本响应。

检索增强生成可以通过添加来自其他数据源的上下文并补充 LLM 从训练中获得的原始知识库来提高搜索体验的相关性。这增强了大型语言模型的输出,而无需重新训练模型。附加信息源可以包括 LLM 未经训练的互联网上的新信息,专有业务上下文,或者属于企业的机密内部文档。

RAG 对问答和内容生成等任务很有价值,因为它使 生成式 AI 系统能够使用外部信息源来生成更准确、更具上下文意识的响应。它实施搜索检索方法 - 通常是 语义搜索 或混合搜索 - 来响应用户意图并提供更相关的结果。

深入了解检索增强生成 (RAG) 以及这种方法如何将您的专有实时数据链接到生成式 AI 模型,以获得更好的最终用户体验和准确性。

那么,什么是信息检索呢?

信息检索 (IR) 指的是从知识源或数据集中搜索和提取相关信息的流程。这很像使用 搜索引擎 在互联网上查找信息。您输入查询,系统会检索并向您展示最有可能包含您要查找信息的文档或网页。

信息检索 包括有效地索引和搜索大型数据集的技术;这使得人们更容易从大量可用数据中访问他们需要的特定信息。除了网络搜索引擎之外,IR 系统还经常用于数字图书馆、文档管理系统和各种信息访问应用程序中。

AI 语言模型的演变

AI language model evolution diagram

AI 语言模型近年来发生了显著的演变

  • 在 1950 年代和 1960 年代,该领域还处于起步阶段,只有基本的基于规则的系统,其语言理解能力有限。
  • 1970 年代和 1980 年代引入了专家系统:这些系统将人类知识编码用于解决问题,但其语言能力非常有限。
  • 1990 年代见证了统计方法的兴起,这些方法使用数据驱动的方法来处理语言任务。
  • 到 2000 年代,机器学习技术 如支持 向量机(在高维空间中对不同类型的文本数据进行分类)已经出现,但深度学习仍处于早期阶段。
  • 2010 年代标志着深度学习的重大转变。Transformer 架构通过使用注意力机制改变了自然语言处理,该机制允许模型在处理输入序列时关注输入序列的不同部分。

如今,Transformer 模型以可以模拟人类语音的方式处理数据,通过预测单词序列中下一个单词来实现。这些模型彻底改变了该领域,并导致了 LLM 的兴起,例如谷歌的 BERT(来自 Transformer 的双向编码器表示)。

我们看到大型预训练模型和针对特定任务设计的专业模型相结合。RAG 等模型继续获得关注,将 生成式 AI 语言模型的范围扩展到标准训练的限制之外。2022 年,OpenAI 推出了 ChatGPT,这可能是基于 Transformer 架构的最著名的 LLM。其竞争对手包括基于聊天的基础模型,例如谷歌 Bard 和微软的必应聊天。Meta 的 LLaMa 2 并非消费者聊天机器人,而是一个开源 LLM,可供熟悉 LLM 工作原理的研究人员免费使用。

AI supply chain connecting pre-trained models and open-source LLMs

相关:选择 LLM:2024 年开源 LLM 入门指南

检索增强生成是如何工作的?

检索增强生成是一个多步骤过程,从检索开始,然后进行生成。以下是它的工作原理

检索

  • RAG 从输入查询开始。这可以是用户的疑问,也可以是需要详细响应的任何文本。
  • 检索模型从知识库、数据库或外部来源(或一次从多个来源)中获取相关信息。模型搜索的位置取决于输入查询的询问内容。现在,检索到的信息将作为模型所需任何事实和上下文的参考来源。
  • 检索到的信息被转换为高维空间中的向量。这些知识向量存储在向量数据库中。
  • 检索模型根据检索到的信息与输入查询的相关性对检索到的信息进行排名。得分最高的文档或段落将被选中以进行进一步处理。

生成

  • 接下来,生成模型(例如 LLM)使用检索到的信息生成文本响应。
  • 生成的文本可能会经过额外的后处理步骤,以确保其语法正确且连贯。
  • 总的来说,这些响应更加准确,并且在上下文中更有意义,因为它们已经通过检索模型提供的补充信息进行了塑造。这种能力在公共互联网数据不足的专业领域尤其重要。

检索增强生成的优势

检索增强生成比孤立工作的语言模型具有多个优势。以下是它改进文本生成和响应的一些方式

  • RAG 确保您的模型可以访问最新、最及时的事实和相关信息,因为它可以定期更新其外部参考。这确保了它生成的响应包含可能与进行查询的用户相关的最新信息。您还可以实施文档级安全性来控制对数据流中数据的访问,并将安全权限限制在特定文档。
  • RAG 是一种更具成本效益的选择,因为它需要更少的计算和存储,这意味着您不必拥有自己的 LLM 也不必花费时间和金钱来微调您的模型。
  • 声称准确性是一回事,但实际上证明它又是另一回事。RAG 可以引用其外部来源并将其提供给用户以支持其响应。如果用户愿意,他们可以评估来源以确认他们收到的响应是准确的。
  • 虽然 LLM 支持的聊天机器人可以比早期的脚本化响应制作出更个性化的答案,但 RAG 可以更进一步地定制其答案。这是因为它能够使用搜索检索方法(通常是语义搜索)来参考一系列上下文信息点,在综合其答案时通过衡量意图来参考这些点。
  • 当遇到一个它没有经过训练的复杂查询时,LLM 有时会“幻觉”,提供不准确的响应。通过将响应与来自相关数据源的额外参考结合起来,RAG 可以更准确地响应模棱两可的查询。
  • RAG 模型用途广泛,可以应用于各种自然语言处理任务,包括对话系统、内容生成和信息检索。
  • 偏差可能是任何人工 AI 中的一个问题。通过依赖经过验证的外部来源,RAG 可以帮助减少其响应中的偏差。

检索增强生成与微调

检索增强生成和微调是训练 AI 语言模型的两种不同方法。虽然 RAG 将大量外部知识的检索与文本生成相结合,但微调专注于针对特定目的的狭窄范围的数据。

在微调中,预训练模型将在专门的数据上进一步训练,以使其适应一组任务。它涉及根据新数据集修改模型的权重和参数,使其能够学习特定于任务的模式,同时保留其初始预训练中的知识。

微调可用于各种 AI。一个基本示例是学习在识别互联网上猫的照片的背景下识别小猫。在基于语言的模型中,微调可以帮助进行文本分类、情感分析和命名实体识别,以及文本生成。但是,此过程可能非常耗时且昂贵。RAG 加快了此过程,并通过更少的计算和存储需求来整合这些成本。

由于 RAG 可以访问外部资源,因此当任务需要从网络或企业知识库中整合实时或动态信息以生成有根据的响应时,它特别有用。微调有不同的优势:如果手头的任务定义明确,目标是仅优化该任务的性能,则微调可以非常有效。这两种技术都具有不必为每个任务从头开始训练 LLM 的优势。

检索增强生成的挑战和局限性

虽然 RAG 提供了显著的优势,但它也面临着一些挑战和局限性

  • RAG 依赖于外部知识。如果检索到的信息不正确,它可能会产生不准确的结果。
  • RAG 的检索部分涉及搜索大型知识库或网络,这在计算上可能很昂贵且缓慢——尽管仍然比微调更快且成本更低。
  • 无缝集成检索和生成组件需要仔细的设计和优化,这可能会导致训练和部署方面的潜在困难。
  • 从外部来源检索信息在处理敏感数据时可能会引发隐私问题。遵守隐私和合规性要求也可能会限制 RAG 可以访问的来源。但是,这可以通过文档级访问来解决,您可以在其中授予特定角色访问权限和安全权限。
  • RAG 基于事实准确性。它可能难以生成富有想象力或虚构的内容,这限制了它在创意内容生成中的使用。

使用 Elasticsearch 进行检索增强生成

使用Elasticsearch Relevance Engine,您可以为您的生成式 AI 应用程序、网站、客户或员工体验构建支持 RAG 的搜索。Elasticsearch 提供了一个全面的工具包,使您能够

  • 存储和搜索专有数据和其他外部知识库,以从中获取上下文
  • 使用多种方法从您的数据中生成高度相关的搜索结果:文本、向量、混合或语义搜索
  • 为您的用户创建更准确的响应和更具吸引力的体验

了解 Elasticsearch 如何改善您企业的生成式 AI

您接下来应该做什么

无论何时准备好... 以下四种方法可以帮助您利用企业数据的洞察力

  1. 开始免费试用,看看 Elastic 如何帮助您的企业。
  2. 浏览我们的解决方案,了解 Elasticsearch 平台的工作原理以及它们如何满足您的需求。
  3. 了解如何在企业中交付生成式 AI.
  4. 与您认识的可能喜欢阅读这篇文章的人分享。通过电子邮件、LinkedIn、Twitter 或 Facebook 与他们分享。