关注我们.

人工智能

深入探讨法学硕士的检索增强生成

mm
使用 Midjourney 检索增强生成插图

想象一下您是一名分析师,并且您可以访问大型语言模型。 您对它为您的工作流程带来的前景感到兴奋。 但是,当你向它询问最新的股票价格或当前的通货膨胀率时,它会告诉你:

“很抱歉,我无法提供实时或截止后的数据。 我的最后一次训练数据仅截至 2022 年 XNUMX 月。”

大型语言模型尽管具有所有语言能力,但缺乏掌握“现在'。 在快节奏的世界里,'现在' 就是一切。

研究表明,大型预训练语言模型 (LLM) 也是事实知识的宝库。

他们接受了大量数据的培训,吸收了大量的事实和数据。 经过微调,它们可以在各种 NLP 任务上取得显着的结果。

但问题是:他们访问和操纵这些存储的知识的能力有时并不完美。 特别是当手头的任务是知识密集型时,这些模型可能落后于更专业的架构。 这就像拥有一个拥有世界上所有书籍的图书馆,但没有目录来查找您需要的内容。

OpenAI 的 ChatGPT 获得浏览升级

OpenAI 最近宣布的 ChatGPT 浏览功能是检索增强生成 (RAG) 方向的重大飞跃。 ChatGPT 现在能够在互联网上搜索最新的权威信息,它反映了从外部源动态提取数据以提供丰富响应的 RAG 方法。

OpenAI 目前可供 Plus 和 Enterprise 用户使用,并计划很快向所有用户推出此功能。 用户可以通过选择 GPT-4 选项下的“使用 Bing 浏览”来激活此功能。

Chatgpt新浏览功能

Chatgpt 新的“Bing”浏览功能

 及时工程是有效的,但还不够

提示是通往 LLM 知识的门户。 它们指导模型,为响应提供方向。 然而,制定有效的提示并不是从法学硕士获得你想要的东西的成熟解决方案。 尽管如此,让我们在编写提示时考虑一些好的做法:

  1. 明晰:明确定义的提示可以消除歧义。 它应该简单明了,确保模型理解用户的意图。 这种清晰度通常会转化为更加连贯和相关的响应。
  2. 语境:特别是对于大量输入,指令的放置会影响输出。 例如,将指令移至长提示的末尾通常可以产生更好的结果。
  3. 教学精准:问题的力量通常通过“谁、什么、哪里、何时、为什么、如何”框架来传达,可以引导模型做出更有针对性的响应。 此外,指定所需的输出格式或大小可以进一步细化模型的输出。
  4. 处理不确定性:指导模型在不确定时如何应对至关重要。 例如,指示模型在不确定时回答“我不知道”可以防止它生成不准确的或“产生幻觉”的回应。
  5. 循序渐进的思考:对于复杂的指令,引导模型系统思考或将任务分解为子任务可以带来更全面、更准确的输出。

关于提示在指导 ChatGPT 中的重要性,可以在以下位置的一篇文章中找到一篇综合文章: 联合人工智能.

生成人工智能模型的挑战

快速工程涉及微调为模型提供的指令以增强其性能。 这是一种非常经济有效的方式来提高生成式人工智能应用程序的准确性,只需要进行少量的代码调整。 虽然即时工程可以显着提高输出,但了解大型语言模型 (LLM) 的固有局限性至关重要。 两个主要挑战是 幻觉知识界限.

  • 幻觉:这是指模型自信地返回错误或捏造响应的情况。 尽管高级法学硕士具有识别和避免此类输出的内置机制。
LLM 中的幻觉

LLM中的幻觉

  • 知识截止点:每个法学硕士模型都有一个培训结束日期,之后它不知道事件或发展。 此限制意味着模型的知识被冻结在最后一次训练日期。 例如,训练到 2022 年的模型将不知道 2023 年发生的事件。
LLMS 中的知识截止

LLM知识截止

检索增强生成 (RAG) 为这些挑战提供了解决方案。 它允许模型访问外部信息,通过提供对专有或特定领域数据的访问来减轻幻觉问题。 对于知识截止,RAG 可以访问模型训练日期之外的当前信息,确保输出是最新的。

它还允许法学硕士从各种外部来源实时提取数据。 这可能是知识库、数据库,甚至是广阔的互联网。

检索增强生成简介

检索增强生成(RAG)是一个框架,而不是一项特定技术,使大型语言模型能够利用未经训练的数据。 实施 RAG 的方法有多种,最适合的方法取决于您的具体任务和数据的性质。

RAG 框架以结构化方式运行:

提示输入

该过程从用户的输入或提示开始。 这可以是寻求特定信息的问题或陈述。

从外部来源检索

该模型不是根据其训练直接生成响应,而是在检索器组件的帮助下搜索外部数据源。 这些来源的范围可以从知识库、数据库和文档存储到可通过互联网访问的数据。

了解检索

从本质上讲,检索反映了搜索操作。 它是为了响应用户的输入而提取最相关的信息。 这个过程可以分为两个阶段:

  1. 索引:可以说,整个 RAG 旅程中最具挑战性的部分是索引您的知识库。 索引过程大致可以分为两个阶段:加载和拆分。在像LangChain这样的工具中,这些过程被称为“装载机“和”分离器”。 加载器从各种来源获取内容,无论是网页还是 PDF。 一旦获取,分割器就会将该内容分割成小块,优化它们以进行嵌入和搜索。
  2. 查询:这是根据搜索词提取最相关的知识片段的行为。

虽然检索的方法有很多,从简单的文本匹配到使用 Google 等搜索引擎,但现代检索增强生成 (RAG) 系统依赖于语义搜索。 语义搜索的核心是嵌入的概念。

嵌入是大型语言模型 (LLM) 如何理解语言的核心。 当人类试图阐明他们如何从词语中获取意义时,解释往往会回到固有的理解。 在我们的认知结构深处,我们认识到“孩子”和“孩子”是同义词,或者“红色”和“绿色”都表示颜色。

增强提示

然后将检索到的信息与原始提示相结合,创建增强或扩展的提示。 这种增强的提示为模型提供了额外的上下文,如果数据是特定于领域的或者不属于模型原始训练语料库的一部分,则这一点尤其有价值。

生成完成

有了增强提示,模型就会生成完成或响应。 该响应不仅基于模型的训练,还基于检索到的实时数据。

检索增强生成

检索增强生成

第一个 RAG LLM 的架构

Meta于2020年发表的研究论文《知识密集型NLP任务的检索增强生成”深入研究了这项技术。 检索增强生成模型通过外部检索或搜索机制增强了传统的生成过程。 这使得模型能够从大量数据中提取相关信息,从而增强其生成上下文准确响应的能力。

以下是它的工作原理:

  1. 参数记忆:这是传统的语言模型,例如 seq2seq 模型。 它接受过大量数据的训练并且了解很多。
  2. 非参数内存:将其视为搜索引擎。 它是维基百科的密集向量索引,可以使用神经检索器进行访问。

当两者结合起来时,就会创建一个准确的模型。 RAG 模型首先从其非参数存储器中检索相关信息,然后使用其参数知识给出一致的响应。

META 的 RAG 原始模型

Meta 的原始 RAG 模型

1. 两步法:

RAG LLM 的运作分为两个步骤:

  • 恢复:模型首先从大型数据集中搜索相关文档或段落。 这是使用密集检索机制来完成的,该机制使用嵌入来表示查询和文档。 然后使用嵌入来计算相似性分数,并检索排名靠前的文档。
  • 信号生成:掌握了前 k 个相关文档后,它们就会与初始查询一起被引导到序列到序列生成器中。 然后,该生成器精心制作最终输出,从查询和获取的文档中提取上下文。

2. 密集检索:

传统的检索系统通常依赖于 TF-IDF 等稀疏表示。 然而,RAG LLM 采用密集表示,其中查询和文档都嵌入到连续向量空间中。 这允许进行更细致的相似性比较,捕获超越单纯关键字匹配的语义关系。

3. 序列到序列生成:

检索到的文档充当生成模型的扩展上下文。 该模型通常基于 Transformers 等架构,然后生成最终输出,确保其连贯且与上下文相关。

文件搜寻

文档索引和检索

为了有效地检索信息,特别是从大型文档中检索信息,数据通常存储在矢量数据库中。 每条数据或文档都基于嵌入向量进行索引,该向量捕获内容的语义本质。 高效的索引确保根据输入提示快速检索相关信息。

矢量数据库

矢量数据库

来源: Redis的

矢量数据库,有时称为矢量存储,是擅长存储和获取矢量数据的定制数据库。 在人工智能和计算机科学领域,向量本质上是表示多维空间中的点的数字列表。 与更适合表格数据的传统数据库不同,矢量数据库在管理自然适合矢量格式的数据方面表现出色,例如来自人工智能模型的嵌入。

一些著名的矢量数据库包括 Annoy、 法斯 通过元, 米尔武斯松球。 这些数据库在人工智能应用中至关重要,有助于完成从推荐系统到图像搜索等任务。 AWS 等平台还提供针对矢量数据库需求量身定制的服务,例如 Amazon OpenSearch Service 和 Amazon RDS for PostgreSQL。 这些服务针对特定用例进行了优化,确保高效的索引和查询。

相关性分块

鉴于许多文档可能很广泛,因此经常使用一种称为“分块”的技术。 这涉及将大文档分解成更小的、语义连贯的块。 然后根据需要对这些块进行索引和检索,确保文档中最相关的部分用于及时扩充。

上下文窗口注意事项

每个法学硕士都在一个上下文窗口内运行,这本质上是它一次可以考虑的最大信息量。 如果外部数据源提供的信息超出此窗口,则需要将其分解为适合模型上下文窗口的较小块。

利用检索增强生成的好处

  1. 提高精度:通过利用外部数据源,RAG LLM 不仅可以基于其训练数据生成响应,还可以根据检索语料库中最相关和最新的信息来生成响应。
  2. 克服知识差距:RAG 有效地解决了 LLM 固有的知识限制,无论是由于模型的训练截止还是其训练语料库中缺乏特定领域的数据。
  3. 多功能:RAG 可以与各种外部数据源集成,从组织内的专有数据库到可公开访问的互联网数据。 这使其能够适应广泛的应用和行业。
  4. 减少幻觉:法学硕士面临的挑战之一是可能出现“幻觉”或产生事实上不正确或捏造的信息。 通过提供实时数据上下文,RAG 可以显着减少此类输出的机会。
  5. 可扩展性:RAG LLM 的主要优势之一是其扩展能力。 通过分离检索和生成过程,该模型可以有效地处理海量数据集,使其适合数据丰富的实际应用。

挑战和考虑

  • 计算开销:两步过程可能需要大量计算,尤其是在处理大型数据集时。
  • 数据依赖:检索文档的质量直接影响生成质量。 因此,拥有一个全面且精心策划的检索语料库至关重要。

结语

通过集成检索和生成过程,检索增强生成为知识密集型任务提供了强大的解决方案,确保输出内容丰富且与上下文相关。

RAG 的真正前景在于其潜在的现实应用。 对于医疗保健等行业来说,及时、准确的信息至关重要,RAG 提供了从大量医学文献中无缝提取和生成见解的能力。 在市场瞬息万变的金融领域,RAG 可以提供实时数据驱动的见解,帮助做出明智的决策。 此外,在学术界和研究领域,学者们可以利用RAG扫描海量的信息库,使文献综述和数据分析更加高效。

在过去的五年里,我一直沉浸在机器学习和深度学习的迷人世界中。 我的热情和专业知识使我为 50 多个不同的软件工程项目做出了贡献,特别关注人工智能/机器学习。 我持续的好奇心也吸引了我对自然语言处理的兴趣,这是我渴望进一步探索的领域。