多模态 RAG实现

导言

RAG系统作为减少大模型幻觉以及提供更多垂类专业知识的系统,实现在很大范围之内被使用,目前也有非常多的研究以及系统在支持多模态内容和知识的RAG,本文介绍了主体的RAG实现的思路,通过阅读本文,你能够了解:

  1. 多模态RAG的实现思路

多模态大模型

多模态检索增强生成是一种新兴的设计范式,它允许AI模型与文本、图像、视频等存储进行交互。

在探讨这个主题时,我们首先会介绍检索增强生成(RAG)的概念,多模态的概念,以及如何将这两者结合起来制作现代多模态RAG系统。一旦我们理解了多模态RAG的基本概念,我们将使用Google Gemini和CLIP风格的编码模型来构建一个多模态RAG系统。

这对谁有用? 想了解多模态大模型的所有人

谁能看懂? 尽管多模态RAG处于AI的最前沿,但它在直观上是简单易懂的。这篇文章应该会吸引高级AI研究人员的兴趣,同时也简单到可以让初学者理解。

RAG简要介绍

在我们深入讨论多模 RAG 之前,让我们简要地回顾一下传统的检索增强生成(RAG)。基本上,RAG 的理念是找到与用户查询相关的信息,然后将该信息注入到提示中,并将其传递给语言模型。

RAG 系统的检索通常是语义相关的,因为使用了“嵌入”。基本上,embedding嵌入使我们可以将 AI 模型将信息转换为某种表示该信息的向量。

这个过程是通过一组参考文档以及用户的查询来完成的。可以计算这些向量之间的距离,最接近文档和用户查询之间的距离被认为是最相关的。

一旦 RAG 系统检索到足够的相关信息,用户的查询和相关文档将被用于构建一个增强提示,然后传递给语言模型进行生成。

"根据以下上下文回答客户的提示:``==== 上下文:{文档标题} ====`              `{文档内容}`              `   ``...`              `   ``提示:{提示}"

这个一般系统通常假设整个知识库由可以传递给语言模型的文本组成,但许多知识来源包含的远不止文本。可能还有音频、视频、图像等。这就是多模态RAG 的用武之地。

在我们讨论多模 RAG 之前,让我们简要探讨一下多模性的概念。

多模态

在数据科学中,“模态”本质上是一种数据类型。文本、图像、音频、视频、表格,这些都可以被视为不同的“模态”。长期以来,这些不同类型的数据被视为彼此分离,需要数据科学家创建一个模型来处理文本,另一个模型来处理视频等。近年来,这种概念已经消失,能够理解和处理多种模态的模型变得更加高效和更易获取。这些能够理解多种类型数据的模型通常被称为“多模态模型”。

多模态模型的概念通常围绕着“联合embedding”的想法。基本上,联合embedding是一种模型建模策略,强制模型同时学习不同类型的数据。在这一领域的里程碑论文之一是 CLIP,它能够执行与图像和文本相关的任务。

自从 CLIP 以来,已经创建了各种模型策略,以某种方式对齐图像和文本。各种新模型正在涌现,可以处理多种类型的数据。

多模态和 RAG 的发展引发了人工智能的新趋势:在多种模态中进行 RAG。

多模态RAG

多模态RAG的想法是允许RAG系统以某种方式将多种形式的信息注入到多模态模型中。因此,多模态RAG系统可能检索基于用户提示的文本、图像、视频和其他不同模态的数据,而不仅仅是检索文本片段。

就目前而言,有三种流行的方法可以实现多模态RAG。

方法1:共享向量空间

多模态 RAG 的一种方法是使用一个嵌入空间,该嵌入适用于多种模态(类似于CLIP,如前所述)。基本上,您通过一堆编码器传递数据,这些编码器被设计为相互协作,然后检索出所有模态中与用户查询最相似的数据。

方法2:单一基础模态

多模态 RAG 的另一种方法是将所有数据模态转换为单一模态,通常是文本。

在很多需要精确策略的时候经常会使用该方法(我们称之为“多模态转换”)。虽然这种策略在理论上存在着信息在转换过程中可能会丢失的微妙风险,但实际上我们发现,对于许多应用来说,这种方法可以实现非常高质量的结果,而复杂度相对较低。另外就是方便debug

方法3:分离检索

第三种方法是使用一系列设计用于处理不同形式的模型。在这种情况下,您将在不同的模型之间进行多次检索,然后将它们的结果合并。

如果您有多种模型需要能够构建和优化不同形式,或者如果您只是使用现有建模解决方案中不可用的形式,这可能会很有用。

Google Vertex

实现多模态 RAG

现在我们对多模态 RAG 有了一个大致的了解,让我们用一个简单的例子来实验一下。我们将跨三个信息片段进行检索

  1. 一个音频文件,例如竖琴演奏家是 Turlough O’Carolan

  2. 一张包含洛伦兹吸引子图片的图像

  3. 《西线无战事》维基百科文章的摘录

利用这些数据,我们将构建一个简单的 RAG 系统,可以回答“谁是我的最喜欢的竖琴演奏家?”的问题

文本中的音频定位

可以找到支持音频、图像和文本的编码器,但它们比仅支持图像和文本的编码器更为神秘。

我计划在 Google Vertex 上撰写一篇全面的文章,测试一些这些不太常见的数据科学应用/模态的能力。

不过,为了简化我们的生活,我们将使用语音转文本模型将我们的音频转换为文本。

     **embedding**

现在我们已经将我们的音频转换为文本表示,我们可以使用 CLIP 风格的模型来编码我们的图像和文本。

如果对 CLIP 风格的模型不熟悉,它们是一种可以理解如何表示图像和文本,使得相似的事物具有相似向量的模型。我有一整篇关于这个主题的文章

然后,可以解压这些结果,以获得文本、图像、音频和查询的编码,并计算数据与查询的差异。在这种情况下,我们将使用余弦相似度,这实质上是两个向量之间角度的度量。

对于余弦相似度,如果两个向量指向相同的方向,它们的余弦相似度就很高。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

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

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT猫仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值