【AI大模型RAG】通俗地说说RAG及其与大模型的结合

前言

RAG 全称 Retrieval-Augmented Generation,翻译成中文是检索增强生成。这一年多,在大模型应用领域,RAG频繁地出现。为什么它这么热?需要怎么理解看待RAG?

1、为什么需要RAG

虽然大模型有丰富的知识和理解生成能力,但它的信息量并不够,比如企业的私域信息,它并不知道,有些最新的信息出现在训练完成之后,它也不掌握。如果要针对这些信息提问,就需要把相关的信息也一并交给它,让它结合内容回答。有点命题作文的意思。

这里边有些场景比较简单,比如针对论文,可以把问题和论文一起送给大模型,然后大模型根据论文的内容,把问题的答案输出出来,比较完整。

但实际上,私域的信息量非常大,远超过一次能够提交给模型的内容,这时候,就需要一种技术,把跟问题相关的内容准确的提取出来,送给模型。可以说,内容提取的质量,直接决定大模型的回答质量。

2、向量搜索

向量搜索(Vector Search)也叫矢量搜索。它是用机器学习的方法来捕获非结构化数据(包括文本和图像)的含义和上下文,并将其转换为数字化表示形式。向量搜索常用于语义搜索,通过利用相似最近邻 (ANN) 算法来找到相似数据。与传统的关键字搜索相比,向量搜索产生的结果相关度更高,执行速度也更快。

简单地说,向量搜索有两个关键动作,一个是向量化,就是把一段文本,或图形音频等,通过某种编码格式,变成一个矩阵,这个编码动作,叫Embedding(嵌入)。第二个是搜索,一般用相似最近邻(ANN)算法,来找到距离最近的结果。这个距离最近的结果,就是含义最相近的结果。向量搜索也叫语义搜索。

以上动作,理解过程并记住名字就可以了。为什么距离最近含义就相似,让数学家和算法专家去搞吧,一般人整不明白这个,知道怎么回事就行了。

注:Embedding非常复杂,它不是一个简单的算法,而是用专门的Embedding模型。

下图就是一个比较简单的过程。

3、基于向量搜索的RAG架构

以下是一个最简单的向量搜索RAG架构示意图:

该架构关键有两个:

  1. 预处理文档。将文档的文本抽取出来(最初的大模型只能处理文本,所以只抽文本),分段,然后针对每一段作embedding存入向量数据库。

  2. 查询时,先把问题作Embedding,然后在向量数据库里把和问题最相关的内容(一般取Top K)取出来,将这些内容和原始问题结合,生成新的Prompt送给大模型,由大模型生成答案。

下面这个图更详细,包括了搜索的结果和重新生成prompt的例子

RAG方案,解决了大模型数据不足的问题,而处理数据是个核心需求,所以,备受重视。

实际发展中,针对文档的处理一直在进化。最初的分段(chunks)简单粗暴,就是把文本按长度截取,有些带格式的文档,比如word,pdf,分栏的时候,直接物理抽取,有时候内容就不伦不类,当然,基于这样的分段,大模型的回答也会比较乱。后来,针对各种文档抽取,图形结合的能力不断进步,效果也进步迅速。

4、图搜索RAG

向量搜索的方法一直在进步,但问题也一直在。虽然向量搜索技术能找到相似度很好的,但它无法进一步地理解私有数据中各个有效信息的关系,从而构成自己的知识网络,因此难以提供综合性的见解,也无法全面理解多个私有文献甚至单个文档的全部内容,因此往往无法回答抽象或总结性问题,自然也无法给大模型提供足够好的信息。

当前解决这些问题的办法,是知识图谱。

知识图谱:是结构化的语义知识库,用于描述物理世界中的概念及其相互关系。

知识图谱通过对错综复杂的文档的数据进行有效的加工、处理、整合,转化为简单、清晰的“实体,关系,实体”的三元组,最后聚合大量知识,从而实现知识的快速响应和推理。

原理表达是这样的:

一个具体的例子:

知识图谱已经发展了一些年,如何用于RAG?
微软最近开源了一个新的基于知识图谱构建的 RAG 系统——GraphRAG。Graphrag 框架旨在利用大型语言模型从非结构化文本中提取结构化数据,进而构建具有标签的知识图谱,以支持数据集问题生成、摘要问答等多种应用场景。GraphRAG 的一大特色是利用图机器学习算法针对数据集进行语义聚合和层次化分析。(详见论文1)
它的主要过程是这样的:

相对向量搜索,它在分段后,加入了元素和关系的一系列处理,形成答案,这个答案,已经不是原始内容,而是经过图搜索以后总结内容。
基于图搜索的RAG架构与向量搜索非常相似,只是搜索过程变了一下。

目前看,基于图搜索的RAG有点火,但后续进展,还需要观察。

5、更复杂一点的RAG

上边是一些RAG的简单的原理性的图,比较简单直接。这种简单架构,称之为Naive RAG(朴素RAG,天真RAG?)。实际上,RAG针对不同问题,有不同的解决方案,有一些是复杂一些的,一般叫高级RAG(Advanced RAG),比如下边这个:

它把查询做了更复杂的路由处理,以期取得更好的效果。

下边这个,把向量搜索和图搜索结合在一起:

下图中间的Advaned RAG,进行了检索后处理。检索到相关上下文后,将其与查询有效集成至关重要。后检索过程中的主要方法包括 rerank chunks 和 context compressing。重新对检索到的信息进行排名,将最相关的内容重新定位到提示的边缘是一项关键策略。

RAG 的三种范式之间的比较。(左)Naive RAG 主要由三个部分组成:索引、检索和生成。(中)Advanced RAG 围绕 pre-retrieval 和 post-retrieval 提出了多种优化策略,其过程类似于 Naive RAG,仍然遵循链状结构。(右)模块化 RAG 继承并发展自以前的范式,总体上表现出更大的灵活性。(详见论文2)

6、总结

RAG解决了一个大模型无法实时获取外部数据的问题,是一个非常大的进步。

但RAG方案真的很好吗?我觉得不够好。
打个比方,这个外部查询数据再送给大模型的方法,有点类似于一个教授在写论文,但它依靠的输入是一个小学生查的资料,并且这个资料它还必须用。你说教授能写出好论文?

但当前也没有更好的方案来解决这个问题。所以,在没有更好的方案之前,它仍然是最好的。

最后的最后

感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。

因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

大模型知识脑图

为了成为更好的 AI大模型 开发者,这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

经典书籍阅读

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。

在这里插入图片描述

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

面试资料

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下

在这里插入图片描述

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值