多模态LLM+RAG:突破生成瓶颈的下一代AI架构革命

通过整合文本、图像、音频等数据,多模态大型语言模型(MLLM)开始突破传统RAG的文本局限,赋予AI感知能力。其核心架构采用CLIP、Whisper等编码器实现跨模态语义统一,通过投影层对齐多模态信息。不过,多模态大型语言模型的评估需要综合检索质量、生成忠实度及跨模态一致性等一系列指标实现。

简介

基于我以前关于LLM、检索增强生成(RAG)和高级RAG技术的文章中的基础概念,本文将着手探讨下一个领域——多模态LLM。

我们将首先揭开多模态LLM核心原理的神秘面纱,探索该领域的突出模型,然后深入研究多模态LLM RAG和关键评估指标的强大组合。

诚然,传统的LLM RAG具有一定的开创性,但也面临着根本的限制,因为它几乎完全以文本为中心。

  • 拥有RAG的大型语言模型可以阅读任何文本,但缺乏对物理世界的感知。他们无法直接解读图像、音频或视频。
  • 许多现实世界的问题和查询都涉及隐式的视觉或听觉信息。如果用户在提供一张出问题的机器的图片的同时询问“这里出了什么问题?”,纯文本的RAG只能处理文字,而无法处理视觉信息。
  • 文本之外还存在大量有价值的信息(例如,医学扫描数据、工程图、监控录像、动物声音)。纯文本的RAG无法直接访问、理解或检索这些丰富的非文本数据源。
  • 要将非文本数据与纯文本RAG结合使用,你必须先将其转换为文本(例如,描述图像、转录音频)。这个过程通常会丢失原始模态中固有的关键细微差别和细节。

多模态大型语言模型通过赋予人工智能“感官”解决了这些问题。

  • 它们集成了专门的编码器(用于图像、音频、视频等),将非文本数据转换为LLM可以理解和处理的数字表示(嵌入)。
  • 然后,融合层将这些多模态嵌入与文本嵌入对齐并组合,从而创建对整个上下文的统一理解。

什么是多模态大型语言模型?

多模态大型语言模型(MLLM)是一种先进的AI模型,能够处理和生成跨多种数据模态的信息。与主要处理文本的传统LLM不同,MLLM可以理解和推理各种类型的数据,例如:

  • 文字:书面语言。
  • 图像:视觉数据。
  • 音频:声音和语音。
  • 视频:图像和音频序列。
  • 以及可能的其他模式,如传感器数据、热图像等。

与单模态LLM的关键区别在于,它能够跨不同形式的输入进行联合理解和推理,有时还能生成多模态输出。

例如,MLLM可以将图像和文本问题作为输入,并给出关于图像的文本答案。一些高级MLLM甚至可以从文本生成图像,或提供视频的文本描述。

使用多模态大型语言模型(LLM),用户的效率将显著提高,因为他们可以自然地进行交流,就像与拥有多种感官的人类专家交流一样。不同信息类型之间的障碍被消除了。

例如,昨天发生了这样的事:我孩子的自行车链条老是掉,而我又不是自行车修理工。

场景1:使用传统的纯文本大型语言模型(LLM)

你的提问:“我家孩子的自行车链条老是掉。我该怎么修?”

LLM的回答:针对各种可能导致链条脱落的原因(例如,变速器调整、链轮弯曲、链条磨损)提供通用的文字说明。它可能会问一些澄清性的问题,例如“这是单速自行车还是变速自行车?链条松了吗?”,这些问题你可能很难用文字准确回答。

你费力地将自己看到的内容转化为大型语言模型(LLM)能够理解的语言,而大型语言模型却无法理解你看到的内容。你可能会遵循错误的指示,或者陷入困境。

场景2:使用多模态大型语言模型(MLLM)

你的提问:(拍了一张自行车后拨链器和链条的照片,并标出了链条脱落的地方)“我孩子的自行车链条总是掉。通常是在他们换挡的时候。”

多模态大型语言模型的回答:

图像理解:处理图像,将自行车识别为齿轮自行车,注意变速器的类型(例如Shimano Tourney),并目视检查链条张力和对准情况。

文本理解:处理你的文本查询,理解“链条不断脱落”和“当它们换档时”。

融合与推理:结合视觉和文本信息来了解具体问题:换档问题可能与变速器调整或电缆张力有关。

回复:“根据你孩子自行车的图片,它配备了Shimano Tourney后拨,并且在变速过程中链条脱落,最常见的原因是后拨调节不当。你可能需要调整H(高)和L(低)限位螺钉,并可能需要调整线管张力调节器。”

找到变速器背面标有“H”和“L”的两个小螺丝。

对于从外面掉下来的链条(最大的齿轮),你可能需要稍微松开“H”螺丝。

对于朝辐条(最小齿轮)脱落的链条,你可能需要稍微松开“L”形螺丝。

还要使用线管调节器检查线管与变速器连接处的张力。如果你需要更多直观的指导,我还可以为你提供一个简短的视频来演示这项具体的调整。

你可以自然地进行交流(展示和讲述)。MLLM课程能够立即理解具体组件类型,并根据你的具体情况提供精准、可操作的步骤,甚至预测后续需求(视频)。这远胜于通用的指导。

多模态大型语言模型(MLLM)的基础模型

基础模型是大规模通用神经网络,基于海量多样化数据集进行训练,旨在为各种下游应用奠定基础。在机器学习学习模型(MLLM)的背景下,这些模型专门用于处理和生成跨多种数据模态(例如文本、图像、音频,有时还有视频)的内容,从而实现更自然、更多样化的AI交互。

以下给出的是有关几个非常知名的多模态大型语言模型模型的简要总结:

来源:代表性MLLM的时间表

  • OpenAI(例如GPT-4o、GPT-4V):实时、语音原生、闪电般快速;擅长对话和交互式应用;被广泛认为是多模态任务中最快、最先进的。

a.GPT-4o(“omni”):OpenAI的最新旗舰产品,专为跨文本、音频和视觉的原生多模态设计,具有令人印象深刻的实时性能。它可以无缝地理解和生成文本、图像和音频。

b.GPT-4V(视觉):GPT-4o视觉功能的前身,允许GPT-4解释和推理作为输入的图像。

  • Google DeepMind(例如Gemini):专为多模态设计。Gemini Pro拥有庞大的上下文窗口和强大的跨模态推理能力。支持视频和音频的“长上下文理解”。

a.Gemini:Google功能最强大、原生的多模态模型,全新设计,可理解并操作文本、代码、音频、图片和视频。它提供多种尺寸(Ultra、Pro、Nano)。

  • Meta(例如Llama家族-Llama 3、Llama 2):多语言、开源,针对多种语言任务和推理进行了优化;非常适合定制和研究。

a.Llama 3.2的多模态模型(11B和90B)可以处理文本和图像。这些模型可以执行图像字幕、视觉推理以及回答有关图像的问题等任务。它还包含适用于边缘设备的轻量级纯文本模型。

b.Llama 3-V是一个独立的开源多模态模型,其性能可与更大的模型相媲美。

  • 阿里云(例如Qwen系列):阿里巴巴推出的一系列强大的开源和专有模型。低延迟、高性能,在代码生成和实时任务方面表现出色;开源灵活性。

a.Qwen-VL:基础视觉语言模型。

b.Qwen-VL-Chat:针对对话功能进行微调的版本,使其更适合交互式多模态应用程序。

  • xAI(Grok):与X(Twitter)集成,实时信息处理,独特的“思考”和“深度搜索”模式;擅长掌握最新的世界知识。

a.Grok-1.5V是我们的第一代多模态模型。除了强大的文本处理能力外,Grok现在还可以处理各种视觉信息,包括文档、图表、截图和照片。

  • Deepseek(例如Deepseek-V2、Deepseek-Coder):开源,擅长推理和长篇内容,效率高,性价比高;在基准测试和RAG任务中表现强劲。
  • Deepseek-VLM将强大的视觉编码器与大型语言模型主干相结合。

多模态大型语言模型(MLLM)架构基础

资料来源:多模态大型语言模型

你可以将多模态大型语言模型想象为针对每种来源数据配备专门的“翻译器”,所有信息都输入到中央“大脑”(大型语言模型的核心架构)。

  • 当你向它展示图像时,视觉编码器(如视觉转换器)会将像素“翻译”成LLM可以理解的语言——丰富的数字表示(嵌入)。
  • 当你播放音频时,音频编码器(如Wav2Vec 2.0或Whisper)会将声波“转换”为数字表示或直接文本。
  • 所有这些翻译后的“感官输入”随后被整合到一个融合层(Fusion Layer)中并进行对齐(例如,使用交叉注意力机制,就像C-Former所实现的那样)。这一层帮助大型语言模型(LLM)理解不同信息之间的相互关联(例如,“这只狗叫的声音与这张狗的图像相关”)。
  • 最后,LLM强大的生成核心处理这种统一的多模态理解,使其能够根据组合输入生成文本、图像甚至新的音频。

典型的多模态大型语言模型(MLLM)架构可以抽象为以下关键组件:

  • 模态编码器:这些是专门的神经网络,负责处理来自不同模态(例如图像、音频、视频)的原始数据,并将其转换为嵌入。其目标是提取与每种模态内容相关的特征。例如:

a.视觉编码器:对于图像输入,通常使用CLIP的Vision、Transformer、ViT或OpenCLIP等模型。这些模型经过预训练,可以将视觉特征与文本描述进行匹配。它们以图像作为输入,并输出一个表示图像内容的固定大小的向量嵌入。

b.音频编码器:对于音频输入,可以使用HuBERT或Whisper等模型。这些模型处理原始音频波形并提取与声音相关的特征,包括语音内容、说话人身份和声学特性。

c.视频编码器:视频编码器通常涉及视觉处理和时间处理的组合。模型可能使用3D、CNN或跨视频帧加入注意力机制,以捕捉空间和时间信息。例如,视频视觉转换器的扩展。

  • 预训练大型语言模型LLM:这是大型语言模型MLLM的核心,它是一个基于Transformer的强大语言模型,已在海量文本数据上进行预训练。它在理解和生成自然语言、推理和语境学习方面拥有强大的能力。例如:

a.Llama 3、GPT-3/4、Mistral、Gemini或Claude 3等模型作为LLM的主干,这些模型在预训练阶段学习了复杂的语言模式和世界知识。通过将来自模态编码器的表征输入到这个预训练的LLM中,可以整合多模态特征。

  • 模态接口(连接器):这是一个关键组件,它连接了模态编码器(模态特定)的表征与预训练的LLM所需的输入格式(通常是token嵌入)。该接口将不同的模态对齐为一个LLM能够理解和推理的共享表征。例如:

a.投影层:一个简单而有效的接口可以是一个或多个线性层(多层感知器:MLP),它们将视觉、音频或视频编码器的输出嵌入投影到与LLM的词嵌入相同的维度空间中。例如,LLaVA使用线性投影将视觉特征映射到LLM的嵌入空间。

b.Q-Former(查询转换器):与BLIP-2中的用法类似,它包含一组可学习的查询标记,这些标记通过交叉注意力机制与视觉特征进行交互。Q-Former的输出是一个固定长度的嵌入序列,可以输入到LLM中。

  • 生成器:一些MLLM被设计用于生成文本以外的模态输出(例如,从文本生成图像)。在这种情况下,一个可选的模态特定生成器会附加到LLM主干上。

例如:

  • 图像生成器:像稳定扩散(Stable Diffusion)或DALL-E的解码器部分这样的模型可以用作图像生成器。LLM的输出(以潜在向量或图像标记的形式)可以输入到该生成器中生成图像。
  • 音频生成器:类似地,可以使用VALL-E或其他文本转语音模型等模型基于LLM的文本生成来生成音频输出。

三种类型的连接器

模态接口(或称“连接器”)在不同模态信息与大型语言模型(LLM)的整合过程中起着至关重要的作用。一般来说,连接器主要有三种类型:

基于投影的连接器(词元级融合)

这些连接器使用相对简单的变换,通常是线性层(多层感知器:MLP),将来自非文本模态(例如图像嵌入)的特征嵌入投影到与LLM的文本词元相同的嵌入空间中。然后,投影的特征被视为伪词元,并与实际的文本词元连接起来,再输入到LLM中。这实现了词元级的融合,因为LLM的Transformer层像处理常规词元嵌入一样处理这些投影的特征。

  • 模态编码器产生特征向量。
  • 该向量通过一个或多个投影层(MLP)。
  • 投影的输出被视为一系列“视觉标记”(或“音频标记”等)。
  • 这些伪标记与嵌入的文本标记连接在一起。
  • 标记的组合序列被输入到LLM中。
举例:

LLaVA利用一到两个线性层来投射来自预训练视觉编码器(CLIP的ViT)的视觉特征,使其维度与Vicuna或Llama LLM的词向量对齐。然后,这些投射的视觉特征会被添加到文本输入的前面。

基于查询的连接器(标记级融合)

这些连接器使用一组可学习的查询向量(通常称为Q-Former),与非文本模态编码器使用交叉注意机制提取的特征进行交互。查询向量“查询”视觉、音频或视频特征以提取相关信息。此交互的输出是一个固定长度的嵌入向量序列,然后将其视为伪标记,并与文本标记一起输入到LLM中。这也是一种标记级融合的形式,因为LLM将这些生成的嵌入向量作为其输入序列的一部分进行处理。

  • 模态编码器产生一组特征向量。
  • 初始化一小组可学习的查询向量。
  • 这些查询向量使用交叉注意层来关注模态特征。
  • 交叉注意层的输出(更新的查询向量)表示非文本模态的压缩和信息表示。
  • 这些查询输出向量被视为“模态标记”序列。
  • 这些伪标记与嵌入的文本标记连接并输入到LLM中。
举例:

BLIP-2使用Q-Former,它将冻结图像编码器的输出和一组可学习的查询嵌入作为输入。通过多个Transformer模块(这些模块对查询具有自注意力机制,并在查询和图像特征之间具有交叉注意力机制),Q-Former提取出图像的固定长度表示。然后,这些嵌入被输入到冻结的LLM中。

基于融合的连接器(特征级融合)

与前两种将非文本模态特征转换为标记以便与文本顺序处理的类型不同,基于融合的连接器能够在LLM自身层内实现更深层次的特征交互和融合。这通常是通过在LLM的Transformer架构中插入新层或修改现有的注意力机制来实现的,以允许文本特征与其他模态特征之间的直接交互。

  • 模态编码器产生特征向量。
  • 文本输入通过LLM的初始层进行处理以获得文本特征嵌入。
  • LLM的Transformer模块中引入了专门的融合层(例如交叉注意力层或改进的自注意力层)。这些层允许文本特征在不同的处理阶段关注非文本模态特征(反之亦然)。
  • 然后,融合的特征由LLM的后续层进行处理,以进行推理和生成。

视觉转换器

视觉转换器(ViT)是一种神经网络架构,它将Transformer模型的自注意力机制直接应用于图像。与使用卷积层处理图像局部区域的传统卷积神经网络(CNN)不同,ViT将图像视为一系列图像块。

资料来源:用于图像分类的视觉转换器

以下是其工作原理的详细说明:

  • 输入图像被分成固定大小、不重叠的方形块网格。
  • 每个二维图像块被展平为一维向量。然后,这些展平的块通过线性变换投影到低维空间,从而创建块嵌入。此步骤类似于在自然语言处理(NLP)中将单词转换为标记嵌入。
  • 为了保留因展平图像块并将其视为序列而丢失的空间信息,我们在图像块嵌入中添加了可学习的位置嵌入。这些编码为模型提供了图像中每个图像块的原始位置信息。
  • 现在,包含位置信息的块嵌入序列将通过标准Transformer编码器进行传输。

该编码器由多层结构组成,每层包含多头自注意力(MSA)和前馈网络(FFN)。MSA机制允许模型关注不同的块,并捕捉它们在整个图像中的关系。FFN则进一步处理这些已关注的特征。

对于图像分类等任务,通常会在序列前面添加一个特殊的可学习分类标记。然后,Transformer编码器与该标记对应的输出会被输入到分类头(通常是一个简单的多层感知器(MLP)中,以预测输出。对于物体检测或分割等其他任务,则使用不同的分类头来处理编码器的输出。

例如:假设你想对一张猫的图像进行分类。ViT会将图像分成多个块(例如,16x16像素)。每个块会被展平并嵌入。位置信息会被添加到这些嵌入中。嵌入的块序列随后会经过Transformer编码器,其中自注意力机制会让模型学习猫的不同部位(例如,耳朵、胡须、尾巴)彼此之间以及与整体图像之间的关系。最后,分类头会使用学习到的表征来确定图像中包含一只猫。

ViT可应用于各种计算机视觉任务,包括:

  • 图像分类:将图像分类为预定义的类别(例如,狗、猫、汽车)。
  • 物体检测:识别和定位图像中的多个物体。
  • 图像分割:根据图像所代表的对象或区域将图像划分为多个片段。
  • 动作识别:识别视频中的人类动作。
  • 图像字幕:为图像生成文本描述。视觉转换器与卷积神经网络之间的根本区别在于它们捕获空间信息和依赖关系的方法:
  • 使用在图像上滑动的卷积滤波器来捕捉局部特征。它们通过逐步将局部特征组合成更深层中更复杂的特征,构建出层次化的表征。CNN对局部性和平移等变性具有归纳性偏好。
  • ViT(视觉转换器):将图像视为一系列图像块,并使用自注意力机制捕捉任意一对图像块之间的全局依赖关系,无论它们之间的距离如何。这类模型的归纳偏差较弱,更依赖于大型数据集来
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

老贾的AI世界

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

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

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

打赏作者

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

抵扣说明:

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

余额充值