NEW暗黑模式现已上线 🌓 Label Studio 1.18.0 版本发布

检索增强生成(RAG)简介

指南

作为数据科学家和机器学习工程师,您可能已经敏锐地意识到大型语言模型中存在的不一致性。有时它们能提供精准出色的回答,而其他时候似乎会从训练数据中(或偶尔凭空)生成看似随意或随机的行为。

这正是检索增强生成(RAG)发挥作用的地方。RAG通过将大语言模型与外部知识源(如向量数据库或其他信息系统)相结合,可以充当大语言模型的一种锚点。本质上,这是用具体、可验证且最新的事实来补充它们的输出。

这为您带来两大优势:提升回答的事实准确性,并通过展示生成过程中所利用的来源引入透明度。这种透明度至关重要,因为它允许验证大语言模型的输出,为其回答建立信任基础——在数据科学领域进行训练(微调)和生产时,这是无价的资产。它还有助于防止AI"幻觉",因为模型的回答基于特定资源。

在本文中,我们将简要介绍RAG及其与LLMs的关系,解答何时应考虑使用RAG的问题,并根据当前研究提出一些您选择这条道路时应该注意的挑战。让我们直接开始吧。

大型语言模型(LLMs)快速回顾

大型语言模型(LLMs)代表了人工智能领域的前沿突破,它利用深度学习技术(特别是transformer架构)来模拟类人的文本生成能力。这些复杂系统拥有可能包含数十亿参数的神经网络,并通过从学术文献、博客和社交媒体等多种文本形式中提取的海量数据集进行训练。

In AI applications, LLMs are pivotal, offering unparalleled natural language processing that supports a spectrum of language-related tasks. These range from translating human language for computer understanding to crafting sophisticated chatbot interactions and tailoring content to user preferences. In the commercial sector, LLMs, such as GPT-4.0, have revolutionized the comprehension of human language, leading to the emergence of nuanced, context-sensitive chatbots, the automation of repetitive tasks to boost productivity, and the facilitation of language translation, thus bridging cultural divides.

尽管具备强大能力,大型语言模型仍面临诸多挑战。它们偶尔会在生成富含上下文的内容时出现失误,输出结果可能因不准确或缺乏专业知识而受损——这些缺陷往往反映了其训练数据的质量。此外,这些模型通常受限于训练数据范围,缺乏像人类那样通过常识推理理解概念的内在能力。

检索增强生成(RAG)技术的引入正是为了克服这些缺陷。RAG通过为大型语言模型提供与当前任务相关的补充信息,显著提升了模型生成准确且符合上下文语境回答的能力。该技术使LLM能够通过系统化的流程——包括数据准备、相关信息检索以及基于检索数据的响应生成——来回答超出其原始训练语料范围的问题。这项创新旨在减少错误并降低模型产生看似可信实则错误或无意义内容的"幻觉"现象。

本质上,虽然大语言模型(LLMs)在人工智能领域中是不可或缺的文本处理和生成工具,但它们仍在持续进化。像RAG这样的创新技术正在提升其效能,确保输出结果更加精确且符合上下文关联。接下来,我们将进一步探讨RAG是什么及其优势。

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

检索增强生成(通常缩写为RAG)是一种机器学习框架,它结合了自然语言处理的两个基本方面:信息检索和文本生成。RAG的目标是基于给定的提示或查询,同时利用来自一组预先存在的文档或知识库的外部知识,生成连贯且上下文相关的文本。

RAG由两个协同工作的组件组成:

检索组件

RAG的第一部分是检索组件。该组件负责从与输入查询或提示相关的文本数据集合中查找相关文档或段落。它通常采用密集段落检索(DPR)等技术,将文档编码为高维嵌入向量,然后使用高效的最近邻搜索方法来检索最相关的文档或段落。

换句话说,检索组件需要一个知识数据库,该数据库使用某种编码来捕捉相似性,通常通过向量嵌入模型实现。这个向量编码的数据库成为用于增强LLM知识的基础来源。关于向量嵌入的关键点在于,它们能以数学方式捕捉上下文知识,从而能够识别像"沙洲"和"潜水酒吧"这样的短语之间存在显著差异。

因此,当发起查询时,模型会计算其嵌入向量,然后将其与知识库中的嵌入向量进行比较。利用这些信息,与查询最相关的文档将被用来增强查询。

这之所以有效,有几个原因。首先,LLM的输入缓冲区变得越来越大,你可以添加大量上下文信息来帮助它们生成更好的答案。其次,这与LLM使用的基于Transformer的注意力机制有关,该机制使其能够结合模型的一般知识和语言技能,对缓冲区中的上下文进行操作。

生成组件

RAG的第二部分是生成组件。一旦检索到相关文档或段落,它们将被用作上下文或知识来指导文本生成。这个生成组件可以基于各种语言模型,如GPT-3、GPT-4或其他基于Transformer的模型。检索到的信息可用作生成过程的输入条件,提供上下文并帮助生成更具上下文相关性的响应。

为什么使用检索增强生成?

以下是您可能考虑在项目中使用RAG的几点原因:

  • 整合外部知识:RAG使模型能够生成融合外部来源信息的文本,从而使生成的内容更加准确且信息丰富。
  • 提升上下文相关性:通过利用相关文档或段落,RAG模型能够生成与输入查询或提示在上下文上相关的文本,从而提高响应质量。
  • 灵活性:RAG模型可应用于多种自然语言处理任务,包括问答、文本摘要、内容生成等,通过基于检索信息来调节生成过程。

RAG模型已广泛应用于聊天机器人、内容生成和问答系统等场景,通过整合外部知识,它们能够提供更准确且符合语境的响应。这些模型通常针对特定任务和数据集进行微调,以优化其在具体应用中的性能表现。

微调LLMs如何影响RAG模型性能

虽然RAG不一定需要使用LLM来实现,但在许多情况下,在RAG模型的检索和生成组件中训练LLM会更容易。虽然这可能更耗费资源,但它也可以帮助你更快地启动RAG模型。它还可以为访问外部数据增加适应性和纠正能力,并保持RAG在响应中的透明度,让你两全其美。

Databricks在此案例研究中概述了LLM在RAG应用中的另一个潜在用例。他们利用LLM来评估基于RAG的文档聊天机器人回复的有效性,通过使用GPT4进行零样本学习来建立评分规则,然后在生产环境中使用GPT3.5进行单样本学习来完成评估,取得了显著成效。

那么,微调在这其中扮演什么角色呢?当你将类似ChatGPT4这样的大语言模型(LLM)用于RAG应用时,微调有助于提升模型性能和可靠性。还记得我们提到的适应性和纠错能力吗?正是LLM微调解锁了这些特性。对RAG LLM进行微调可以帮助模型避免重复错误、学习理想的响应风格,或者更有效地处理罕见边缘案例(或提供更准确的聊天机器人结果评估)等诸多方面。

实施RAG时需要考虑和注意的事项

实现RAG并非没有挑战。其中一些问题源于缺乏通用的RAG工作流程和基准测试,但有些则纯粹来自于将检索系统与生成模型整合的固有复杂性。让我们不分先后地深入探讨几个值得注意的例子:

  • 噪声鲁棒性:关键挑战之一是确保LLM能够在嘈杂文档中识别出与查询相关但未直接回答的有用信息。例如,噪声文档可能提供的是相关但不同事件或主题的信息,这会混淆模型并导致错误答案。
  • 负面拒绝:LLMs必须能够识别检索文档中缺乏必要知识的情况,从而拒绝回答查询。这一点尤其困难,因为它要求模型理解其知识的局限性,并向用户清晰地传达这些边界。
  • 信息整合:这涉及大型语言模型从多份文档中综合信息以回答复杂查询的能力。有效的信息整合至关重要,特别是在没有任何单一文档包含所有必要信息时,模型必须将分散在多个来源的碎片化信息拼凑起来。
  • 反事实稳健性:LLMs应能检测并忽略检索文档中已知的事实错误,即使在被警告可能存在不准确信息的情况下。这要求模型在怀疑与信任自身存储知识之间取得平衡,优先于可能有缺陷的外部信息。
  • 上下文相关性与查询匹配:RAG系统的有效性很大程度上取决于查询与向量数据库中文档匹配的精确度。如果相似性搜索受限于嵌入向量所采用的度量标准,检索到的上下文可能不完全相关,从而导致不完整或错误的响应。
  • 数据的定期索引:维护向量数据库需要定期更新以包含新数据。这对于RAG系统检索最新且相关的查询文档至关重要。然而,这一过程可能消耗大量资源,需要制定一致的策略来确保知识库保持最新和全面。
  • 缺乏足够的基准测试:此外,在评估RAG应用方面存在显著差距,主要原因是缺乏行业通用标准。这导致了对劳动密集型人工评分的依赖,效率难以扩展。虽然有人提出使用LLM作为自动评判工具来解决这个问题,但如何使其评估与人类偏好保持一致,并确保评估指标在不同RAG用例间的可迁移性仍是一个挑战。这表明需要为不同的RAG应用制定具体且严格的基准测试,以确保跨任务的可靠性能。
  • 聊天机器人响应评估:由于缺乏行业标准,确立聊天机器人响应质量(这对RAG应用至关重要)十分困难,导致组织不得不依赖耗时且难以扩展的人工评分机制。

结论与展望

检索增强生成技术在帮助克服当前大型语言模型的诸多限制方面展现出巨大潜力。随着RAG方法和基准测试的持续发展,这项技术可能成为关键一步,使我们更接近让AI生成内容与人类创作内容难以区分的境界。

这让我们谈到HumanSignal以及我们对RAG的立场。我们相信RAG将在NLP和LLM的持续演进中发挥重要作用。目前,我们支持多种微调基础模型的方法,包括六月份发布的排序器接口,使Label Studio成为微调LLM以配合RAG应用的宝贵工具。如果您有兴趣,我们的平台还提供多个相关标注模板帮助您快速入门。

展望未来,HumanSignal团队正在积极探索平台内对RAG(检索增强生成)的支持,包括我们的数据探索功能。这尤其令我们振奋,因为RAG可以通过嵌入向量实现,而数据探索功能正好支持嵌入向量的添加与查询——当这项能力与我们的标注和微调功能相结合时,将形成完美组合。请持续关注我们的最新动态!在此期间,如果您想了解更多关于我们平台的信息(包括微调聊天机器人和大语言模型的能力),我们专业的人工团队随时乐意为您解答。

相关内容

  • 每个人都在(无意中)作弊

    AI基准测试正在悄然失效。研究表明,数据泄露、排行榜操纵和激励错配正在夸大模型性能。本文探讨了改革的四大支柱:治理、透明度、广谱指标和监督,并概述了企业如何通过集中式基准管理平台建立信任。

    尼古拉·柳比莫夫

    2025年5月13日

  • 提升标注质量和速度的3种标注团队操作手册

    每个机器学习团队都不尽相同,您的标注工作流程也应如此。本指南将解析三种常见的标注团队配置方案,以及如何定制您的工具和流程来提升质量、速度和规模。

    Alec Harris

    2025年5月7日

  • 您的RAG系统可能失败的七种情况及解决方法

    RAG系统承诺提供更准确的人工智能响应,但由于检索错误、幻觉和不完整答案等问题,它们往往表现不佳。本文探讨了七种常见的RAG系统故障——从遗漏排名靠前的文档到格式错误——并提供了实用解决方案来提高检索准确性、排序质量和响应质量。了解如何优化您的RAG系统,确保其提供可靠、具备上下文感知能力的人工智能响应

    米凯拉·卡普兰

    2025年3月19日