深度解读RAG技术发展历程(二):检索 - Retrieval(检索源、检索优化、查询优化、嵌入、适配器)

二、R(检索 - Retrieval)

2.1 检索源(Source)

RAG 依靠外部知识来增强 LLMs,而检索源的类型和检索单元的粒度都会影响最终的生成结果。

  • 数据结构

  • 非结构化数据,如文本,是使用最广泛的检索源,主要是从语料库中收集(或者百科)。

  • 半结构化数据,通常是指包含文本和表格信息组合的数据,如 PDF。

  • 结构化数据,如知识图谱 (KGs),通常经过验证,可以提供更精确的信息。Knowledge pt 生成 KB 搜索查询并将知识存储在个性化的基础上,增强 RAG 模型的知识丰富性。

除了从原始的外部来源进行检索之外,也可以 LLMs 自身产生的内容进行检索和增强。

  • 检索粒度

  • 粗粒度检索单元理论上可以为问题提供更多的相关信息,但它们也可能包含冗余内容,这可能会分散下游任务中检索器和语言模型的注意力;

  • 细粒度检索单元粒度虽然精准划分,但增加了检索的负担,并且不能保证语义完整性和满足所需的知识。

在推理过程中选择合适的检索粒度是提高密集检索器的检索和下游任务性能的一个简单而有效的策略。

2.2 检索优化(Indexing Optimization)

在索引阶段,文档将被处理,分段,并转换成嵌入,存储在矢量数据库中。索引构造的质量决定了在检索阶段是否能够获得正确的上下文。

  • 分块策略

最常用的方法是将文档按固定数量的 token(例如,100、256、512) 分割成块。更大的块可以捕获更多的上下文,但它们也会产生更多的噪音,需要更长的处理时间和更高的成本。虽然较小的块可能无法完全传达必要的上下文,但它们的噪音确实较小。然而,语块导致句子中的截断,促使递归分割和滑动窗口方法的优化,通过跨多个检索过程合并全局相关信息实现分层检索。尽管如此,这些方法仍然不能在语义完整性和上下文长度之间达到平衡。因此,可以使用 Small2Big 方法,其中句子 (小) 作为检索单元,前面和后面的句子(大)作为 LLMs 的上下文。

  • 元数据附件

chunks 可以丰富元数据信息,如页码,文件名,作者,类别时间戳。检索可以基于这些元数据进行过滤,限制检索范围。在检索过程中为文档时间戳分配不同的权重可以实现时间感知的 RAG,确保知识的新鲜性和避免过时的信息。

除了从原始文档中提取元数据之外,还可以人工构造元数据。例如,添加段落摘要,以及引入假设性问题。这种方法也被称为 Reverse HyDE

tip:使用 LLM 生成可以被知识库文档回答的问题,然后在检索过程中计算原问题与假设问题的相似度,以缩小问题与答案之间的语义差距。

  • 结构检索

    提高信息检索的一个有效方法是为文档建立一个层次结构。通过构建结构,RAG 系统可以加快相关数据的检索和处理。

  • 层次索引:文件是按照父子关系排列的,有链接到它们的块。数据汇总存储在每个节点上,帮助快速遍历数据,帮助 RAG 系统决定提取哪些块。这种方法也可以减轻块提取问题造成的错觉。

  • 知识图谱:利用 KG 构建文档的层次结构有助于保持一致性。它描绘了不同概念和实体之间的联系,显著降低了产生错觉的可能性。另一个优点是将信息检索过程转化为 LLM 可以理解的指令,从而提高知识检索的准确性,并使 LLM 能够产生上下文相关的连贯响应,从而提高 RAG 系统的总体效率。为了捕捉文档内容和结构之间的逻辑关系,KGP 提出了一种使用 KG 在多个文档之间建立索引的方法。该 KG 由节点 (表示文档中的段落或结构,如页面和表格) 和边 (表示段落或文档结构中关系之间的语义 / 词汇相似性) 组成,有效地解决了多文档环境中的知识边缘检索和推理问题。

2.3 查询优化(Query Optimization)

Naive RAG 直接依赖用户的原始查询作为检索的基础。制定一个精确而清晰的问题是困难的,有时候,问题本身很复杂,语言也没有很好的组织。同时,语言模型在处理具有多重含义的专门词汇或模糊缩写时经常会遇到困难。例如,他们可能无法辨别 “LLM” 指的是大型语言模型还是法律硕士。

  • 查询扩展

    将单个查询扩展为多个查询,丰富了查询的内容,提供了进一步的上下文,以解决任何缺乏特定细微差别的问题,从而确保生成的答案具有最佳的相关性。

  • 多查询。通过使用提示工程技术通过 LLMs 扩展查询,这些查询可以并行执行。查询的扩展不是随机的,而是精心设计的。

  • 子查询。子问题规划的过程代表了必要的子问题的产生,这些子问题的产生是为了将原始问题与上下文联系起来,并在合并后完全回答原始问题。这个添加相关上下文的过程原则上类似于查询扩展。具体而言,一个复杂的问题可以使用最少到最多的提示方法分解为一系列更简单的子问题。

  • 链式验证 (CoVe)。扩展的查询经过 LLM 的验证,以达到减少幻觉的效果。验证的扩展查询通常表现出更高的可靠性。

  • 查询转换

    核心概念是基于转换后的查询检索对应的 chunks,而不是基于用户的原始查询。

  • Query Rewrite(查询重写)。对于 LLM 检索来说,原始查询并不总是最优的,特别是在现实世界中。因此,我们可以提示 LLM 重写查询。除了使用 LLM 进行查询重写,还有专门的小型语言模型,比如 RRR (Rewrite-retrieve-read)。- 使用 Prompt 工程,让 LLM 基于原始查询生成查询。在 RAG 系统中,回退问题和原始查询都被用于检索,并且这两个结果都被用作语言模型答案生成的基础。

  • 查询路由

    基于不同的查询,路由到不同的 RAG 管道,适合多功能的 RAG 系统设计,以适应不同的情况。

  • 元数据路由 / 过滤器。第一步是从查询中提取关键字 (实体) ,然后根据块中的关键字和元数据进行过滤,以缩小搜索范围。

  • Semantic Router,一种利用查询语义信息的路由方法。

2.4 嵌入(Embedding)

在 RAG 中,检索是通过计算问题与 chunks 二者 Embedding 之间的相似度 (如余弦距离) 来实现的,而嵌入模型的语义表示能力在其中起着关键作用。这主要包括一个稀疏编码器 (BM25) 和一个密集检索器(BERT 架构预训练语言模型)。

一些突出的嵌入模型,如 AngIE、 Voyage、 BGE 等 ,它们都受益于多任务结构调优。另外,C-MTEB 侧重于中文能力,涵盖 6 个任务和 35 个数据集。对于 “使用哪种嵌入模型” 这个问题,没有一个一刀切的答案然而,一些特定的模型更适合特定的用例。

  • 混合 / 混合检索

稀疏和密集的嵌入方法捕获不同的相关性特征,可以通过利用互补的相关性信息相互受益。例如,稀疏检索模型可以用于为培训密集的检索模型提供初始搜索结果。此外,预训练语言模型 (PLMs) 可以用来学习术语权重,以增强稀疏检索。具体地说,稀疏检索模型可以增强密集检索模型的零点检索能力,协助密集检索器处理包含稀疏实体的查询,从而提高鲁棒性。

  • 微调嵌入模型

在上下文明显偏离培训前语料库的情况下,特别是在高度专业化的学科 (如医疗保健、法律实践和其他充满专有术语的部门) ,微调嵌入模型对于减少此类差异至关重要。

除了补充领域知识,微调的另一个目的是校准检索器和生成器,例如,使用 LLM 的结果作为微调的监督信号,称为 LSR (lm 监督检索器)。PROMPTAGATOR 利用 LLM 作为少镜头查询生成器来创建特定于任务的检索器,解决有监督的微调中的挑战,特别是在数据稀缺的领域。

另一种方法 LLM-Embedder 利用 LLMs 在多个下游任务中产生奖励信号。检索器通过两种类型的监督信号进行微调: 数据集的硬标签和来自 LLMs 的软奖励。这种双信号方法促进了更有效的微调过程,使嵌入模型适应不同的下游应用。REPLUG 利用检索器和 LLM 来计算检索文档的概率分布,然后通过计算 KL 发散来执行监督训练。这种直接有效的训练方法通过使用 LM 作为监督信号来提高检索模型的性能,从而消除了对特定交叉注意机制的需求。此外,受 RLHF (人类反馈强化学习) 的启发,利用基于 lm 的反馈通过强化学习来强化检索器。

2.5 适配器(Adapter)

微调模型可能会带来挑战,比如通过 API 进行功能集成,或者解决由于局部计算资源有限而产生的约束。因此,一些方法选择结合外部适配器来帮助对齐。


最后分享

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

5. 大模型面试题

面试,不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

如有侵权,请联系删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值