问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

更高级的 RAG 架构:提升 AI 大模型回答准确性的前沿技术

创作时间:
作者:
@小白创作中心

更高级的 RAG 架构:提升 AI 大模型回答准确性的前沿技术

引用
1
来源
1.
https://uee.ai/427/%E6%9B%B4%E9%AB%98%E7%BA%A7%E7%9A%84-rag-%E6%9E%B6%E6%9E%84%EF%BC%9A%E6%8F%90%E5%8D%87-ai-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%9B%9E%E7%AD%94%E5%87%86%E7%A1%AE%E6%80%A7%E7%9A%84%E5%89%8D%E6%B2%BF%E6%8A%80/

RAG(检索增强生成)技术通过将大量外部数据与基础模型相结合,显著提升了AI大模型的回答准确性。本文将深入探讨RAG的工作原理、优势以及几种更高级的RAG架构,帮助读者全面了解这一前沿技术。

RAG 的工作原理

  1. 查询:通过虚拟助手或界面将文本格式的问题发送到RAG流程中。
  2. 文档搜索(即Retrieval):LLM从外部资源(如数据库、文档或搜索引擎结果)中搜集相关信息。
  3. 增强(Augmentation):将搜索阶段获取的信息与原始输入或提示语结合,并通过提示工程技术转换为LLM可理解和处理的格式。
  4. 生成(Generation):LLM评估接收到的信息和原始输入,生成准确的输出文本。
  5. 回答:LLM将最终回答发送给用户。

RAG通过整合外部信息,可以提供比传统模型更准确和信息丰富的回答。

RAG 与传统方法的区别

基于分类的传统模型

传统自然语言模型通过输入查询,从预定义的响应集中选择一个适当响应。这些模型通过测量输入和标记响应之间的相似性来确定最适合的响应。

基于 RAG 的模型

生成式AI从头开始创建答案或内容,使用复杂的算法(通常基于神经网络)来生成更接近真人表达的文本或响应。这些模型可以预测下一个单词或一系列单词来学习并生成新的且上下文相关的回答。

RAG 的优势

  1. 上下文相关性:RAG系统能够生成更具有上下文相关性和信息丰富的回答。
  2. 事实核查与验证:通过从可靠外部来源获取信息,RAG系统可以在生成过程中进行事实核查与验证。
  3. 优化知识整合:RAG系统能够有效利用外部知识库或文档来优化其回答。
  4. 灵活性和适应性:通过从各种资源或渠道获取信息,RAG系统更具灵活性和适应性。
  5. 处理分布外输入:RAG系统可以利用向量数据库中的文档堆栈处理未见过或不常见的输入。
  6. 控制内容生成:通过引导文档搜索过程并指定来源,开发人员可以控制模型用来生成响应的信息类型和质量。
  7. 减少偏见:文档搜索机制可以帮助减少内容中的偏见。

尽管RAG具有显著优势,但也需要注意潜在的挑战和考虑因素,如处理不同来源的复杂信息以及平衡文档搜索结果的准确性和效率。

RAG 与其他生成式 AI 的不同之处

主要区别在于数据的存储和使用方式。以使用公司数据为例:

  • 微调:使用公司数据重新训练一个已知的LLM,并更改模型配置来满足需求。
  • RAG:从外部存储的公司文档中检索数据,并将其提供给LLM来指导生成回答。

微调是一个耗时且昂贵的过程,并不适合处理频繁变更的公司文档。

RAG 实施挑战

尽管RAG非常强大,但在实施和管理方面也带来了一些挑战:

  1. 多渠道/来源整合:当有多个不同格式的外部数据源时,复杂性会增加。需要对这些数据进行预处理或检查,以避免数据集之间的重复。
  2. 数据质量:数据应保持一致并能良好地传达信息。在整合数据源之前,需要确保高质量的数据。
  3. 可扩展性:随着数据量的增加,管理RAG系统的性能变得困难。应使用如向量数据库等解决方案。
  4. 搜索优化:从向量数据库进行相似性搜索这一步必须具有高性能。如果向量搜索的结果选择了缺失或者不正确的内容,那么,在下一步增强的时候,就无法将其转换为合适的、并且可以让LLM理解和处理的格式。

更复杂的 RAG 系统

文档分块 Document Chunking

在自然语言处理中,“分块”是指将文本分割成小的、简明的、有意义的部分。RAG系统可以在较小的文本片段中更快、更准确地找到相关上下文。

为了确定最佳块的大小,需要在捕获所有重要信息和保证处理速度之间取得平衡。虽然较大的块可以捕获更多的上下文,但它们也会引入更多的噪音,并需要更多的时间和计算成本来处理。较小的块噪音较少,但可能无法完全捕获所需的上下文。重叠部分是一种平衡这两种约束的方法。

CRAG

CRAG,C 代表的是 “Check” 或 “Cross-Check”。我们可以将 CRAG 视为验证或改进搜索结果,这是 RAG 工作流程中的第一步。

RAG 过程中的普遍问题是,在搜索阶段无法从文档堆栈中获得预期结果。如果没有能够获得所需的最准确文档会导致发送给 LLM 的表达不完整,并在最后一步,即在 LLM 中误导语言模型。

如果一开始的搜索就有问题,那么在随后的步骤中,产生的结果的区别和偏差会更加明显。在这种情况下,检查搜索结果是否实际生成了正确的文档至关重要。

CRAG 就可以作为这类问题的解决方案。通过为所有搜索结果定义阈值的上限和下限,将结果分类为“正确”、“错误”或者“不确定”。

如果至少一个文档与查询的接近度超过阈值,搜索过程被视为正确。如果找到的所有文档的得分都低于下限阈值,则认为搜索过程不正确。不确定状态涵盖介于上限阈值和下限阈值之间的其他情况。

对于假设搜索结果正确的文档,应用另一个分块,并通过清理包含噪音的文本和丰富内容来强化文档。在结果不正确的情况下,使用内容和查询进行网络搜索,并从在线环境中获取更多详细信息,对分类错误的文档进行修正。在不确定的情况下,同时重复并进行正确和错误的处理过程。

CRAG 确保只使用相关和可靠的信息,并将错误或误导性结果的风险降至最低,从而产生更准确和可靠的回答。

RAG 融合 RAG Fusion

在传统的搜索系统中,用户通常输入单个查询来查找信息。尽管这种方法简单,但它存在一些限制。单个查询可能无法涵盖用户兴趣主题的全部范围,或者可能过于狭窄,无法产生全面的结果。

在这种情况下,从不同角度创建多个查询就显得尤为重要。RAG Fusion 通过创建多个查询并重新排序结果来解决 RAG 的固有局限性。它可以弥补用户提出的问题与他们真正想问的问题之间的差距。

它通过大量的多样化的问题来提供对问题的最佳理解。简而言之,可以将 RAG Fusion 比作在做决定前坚持听取每个人意见的人。

RAG Fusion 利用互惠序列融合技术(RRF)来提供强大的支持。互惠排名融合(Reciprocal Rank Fusion,RRF)是一种用于组合多个搜索结果列表的技术。它通过将不同搜索系统或算法产生的排名列表融合在一起,创建一个综合的排名列表,从而提供更可靠和优质的搜索结果。

可以想想那些我们不知道自己确实需要的信息,直到遇到它们。通过使用更广泛的查询,系统可以发现那些尽管不是明确寻找的但却是很关键的信息。这使得 RAG Fusion 区别于其他传统的搜索模型。

不过,RAG Fusion 的深度有时会导致信息泛滥。输出可能非常详细,以至于令人不知所措。可以将 RAG Fusion 比作一个过度解释事情的信息伴侣,可能会分散用户对于原始意图的注意力。为了减轻这一问题,可以通过在请求工程中指示模型给予原始查询更多的权重来加以控制。

HyDE

HyDE 是一种在自然语言处理领域中使用的技术,其核心思想是通过生成临时的虚拟答案或文档来帮助理解和处理输入问题。这个方法特别适用于那些问题描述不清晰、细节不足或缺乏明显可识别元素的情况。

比如,假设用户问了一个模糊的问题:“能拍出好照片的手机价格是多少?”这句话虽然是在问价格,但是主体肯定是手机,HyDE 系统会生成一个虚拟文档,其中可能包含对于能够拍出好照片的手机的描述。然后,系统利用这个虚拟文档在数据库中查找相关信息,最终返回一个更相关的回答。

然而,这种方法也有一个缺点:因为它并不总能给出好的结果。如果讨论的话题完全超出语言模型的知识范围,这种方法就无效,甚至还有可能导致错误信息的增加。

层次索引 Hierarchical Indexing

层次索引(Hierarchical Indexing)是一种用于组织和管理文档或数据的结构化方法,通过将信息分层次进行分类来提高数据检索的效率和准确性。这种方法特别适用于需要处理大量文档或复杂数据集的场景。

可以将文档层次结构视为 RAG 系统的目录。它以一种结构化的方式组织各个部分的内容,使 RAG 系统能够有效地检索和处理相关数据。

那么,如果 LLM 能够理解文档中的内容,我们为什么还需要文档层次结构?上文提到:将文档层次结构视为目录或文件目录。尽管 LLM 可以从向量数据库中提取相关的文本片段,但使用文档层次结构作为预处理步骤来找到最相关的文本片段,可以提高搜索过程的速度和可靠性。这种策略可以减少由于片段提取问题引起的幻觉。

LLM 的“幻觉”是指 LLM 在生成文本时,提供了看似合理但实际上错误、不准确或完全虚构的信息。这是当前自然语言处理技术中一个已知的问题。

总结

本文介绍了更高级的 RAG 架构,也详细介绍了更多的 RAG 技术,希望对你有所帮助。RAG 技术依然还在快速发展中,也还存在诸多挑战。前段时间微软发布了 GraphRAG 让 RAG 的应用延伸到了图领域。我相信,在今后 RAG 的应用将会越来越广泛,与 LLM 的结合越来越紧密,我们所使用的 AI 功能也肯定会更加强大。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号