多模态大模型是指能够处理和理解来自多种模式或类型数据的模型,这些模式包括文本、图像、声音等。

1. 什么是多模态?

多模态(Multimodality)是指集成和处理两种或两种以上不同类型的信息或数据的方法和技术。在机器学习和人工智能领域,多模态涉及的数据类型通常包括但不限于文本、图像、视频、音频和传感器数据。多模态系统的目的是利用来自多种模态的信息来提高任务的性能,提供更丰富的用户体验,或者获得更全面的数据分析结果。
顾名思义,多模态研究的就是这些不同类型的数据的融合的问题。
多模态研究的是视觉语言问题,其任务是关于图像和文字的分类、问答、匹配、排序、定位等问题。
多种模态融合的方式有哪些?

通过NLP的预训练模型,可以得到文本的嵌入表示;
再结合图像和视觉领域的预训练模型,可以得到图像的嵌入表示;

  • 【1】点乘或者直接追加。此种方式将文本和图像分别进行Embedding,之后将各自的向量进行追加或者点乘。
  • 2】另外一种模态交叉的方式是最近用得比较多的Transformer。其好处是利用了Transformer架构,能够更好地进行图像特征和文本特征的表示。缺点是占用空间大,计算成本较高。

2.Multimodal Large Language Models 为什么仍称为Language Models?

多模态大型语言模型(Multimodal Large Language Models,简称 MLLMs)是在大型语言模型(LLMs)基础上进行能力拓展的一类模型,它结合了语言处理能力和对非语言模态(如视觉、音频等)的理解与生成能力。MLLMs 可同时接收和输出文本、图片、语音等多种形式的信息,实现更自然和多样化的交互方式。这些模型的核心在于,能够将多种模态中的信息进行有效融合,完成复杂的理解或生成任务。例如,模型能够阅读一幅图像并用文字进行精准描述,或依据文字生成符合语义的图像。这种跨模态能力让其在自动驾驶、智能问答、推荐系统、教育等领域展现出巨大的潜力。
在这里插入图片描述
从结构上看,MLLMs 包含以下几个主要模块:

  • 模态编码器:用于提取不同模态的特征表示
  • 输入投影器:将不同模态的特征映射到共享的表示空间
  • 大型语言模型:处理文本相关的推理与生成
  • 输出投影器:将语言模型的输出转换为目标模态的特征
  • 模态生成器:生成对应模态的输出内容;

3、Modality Encoder 模态编码器

模态编码器是多模态模型体系中的关键模块之一,其职责是将不同类型的输入数据转化为统一的特征表示,使后续模型模块能够理解并处理这些数据。这个模块的功能相当于一个“翻译中介”,负责将各类输入形式(如图像、音频、文本、视频等)转换成机器可读的中间语义表示。
常用的模态编码器有:

  • 模态编码器:如 NFNet、ViT、CLIP ViT 等,这些模型将视觉信息转换为向量形式,供后续模型使用;在这里插入图片描述
  • 输入投影器:如 Whisper、CLAP 等,通常通过傅里叶变换或 MFCC 特征等手段将声音信号转换为频域特征;
  • 大型语言模型:同时处理图像内容与时序变化,它们既提取每帧图像的视觉特征,也建模帧之间的时序关系,代表模型有 ViViT、VideoPrism 等;

4、Input Projector 输入投影器

输入投影器在多模态大模型中起着将不同模态的表示统一到共享语义空间的关键作用。虽然模态编码器已经将各类输入数据转换成特征,但这些特征往往位于不同的空间,彼此之间缺乏兼容性。
输入投影器的工作原理:是将这些来自图像、音频、文本等模态的特征,通过特定的映射方式(例如线性层、多层感知器 MLP、交叉注意力等),统一投影到一个通用的表示空间中,使得后续语言模型能够统一处理这些信息。
该模块对于模型能否实现高效的跨模态信息融合有着直接影响,它在多模态问答、图像文字生成等应用中发挥着关键作用。

5、Output Projector 输出投影器

输出投影器主要负责将语言模型生成的输出内容,转换为其他模态生成模块能够理解的形式。
由于大型语言模型的输出一般为自然语言 token,但实际生成图像、视频或音频内容时,需要的输入往往是特定的向量表示,因此输出投影器承担了模态间的桥接任务。
在实际实现中,输出投影器通常会使用 Tiny Transformer、MLP 等结构,将语言模型的输出结果映射为目标模态生成器所需的输入特征。
例如在 NExT-GPT 架构中,存在专门用于图像、音频、视频的输出投影器模块,支持“指令对齐”生成能力。通过这些输出桥梁,模型可以根据语言模型的输出自由转换成不同模态的生成任务,提升多模态生成的统一性与准确性。
在这里插入图片描述

6、Modality Generator 模态生成器

模态生成器是多模态大模型中实现内容输出的模块,负责根据语言模型的指令和输出特征,生成所需模态的最终结果,如图像、音频或视频。
根据目标模态的不同,常用的生成器包括:

  • 图像生成器:如 Stable Diffusion,能够从文本或向量生成高质量图片;
  • 视频生成器:如 Zeroscope,专门生成动态影像序列;
  • 音频生成器:如 AudioLDM,用于生成语音、音乐等音频信号;.

在多模态大模型中,模态生成器是实现模态转换和内容生成的关键技术,它使得模型能够灵活地处理和生成多种类型的数据,为用户提供更加丰富和自然的交互体验。

7、知乎上对多模态的解释

本节内容转自知乎,具体内容详见以下链接:
https://www.zhihu.com/question/501003463/answer/1889701548482864556

7.1 多模态LLM的用例

什么是多模态 LLM?正如介绍中提到的,多模态 LLM 是能够处理多种类型输入的大型语言模型,其中每种“模态”指的是特定类型的数据 - 例如文本(如传统 LLM 中)、声音、图像、视频等。为简单起见,我们将主要关注文本输入伴随图像的模态。多模态 LLM 的一个经典而直观的应用是图像字幕:您提供输入图像,模型生成该图像的描述,如下图所示。
在这里插入图片描述

7.2、构建多模态 LLM 的常见方法

构建多模态 LLM 主要有两种方法:

  • A. 统一嵌入解码器架构方法(a Unified Embedding Decoder Architecture approach);
  • B. 跨模态注意力架构方法(a Cross-modality Attention Architecture approach)。

在这里插入图片描述
如上图所示,
统一嵌入解码器架构采用单个解码器模型,与未经修改的 LLM 架构(例如 GPT-2 或 Llama 3.2)非常相似。在这种方法中,图像被转换为​​与原始文本token具有相同embedding大小的token,从而允许 LLM 在连接后同时处理文本和图像输入token。
跨模态注意力架构采用交叉注意力机制,将图像和文本embedding直接集成在注意力层中。在以下部分中,我们将从概念层面探讨这些方法的工作原理。然后,我们将查看有关多模态 LLM 的最新研究论文,了解它们在实践中的应用。

7.2.1、方法 A:统一嵌入解码器架构

在这里插入图片描述
统一嵌入解码器架构说明:它是一种未经修改的解码器样式的 LLM(如 GPT-2、Phi-3、Gemma 或 Llama 3.2),接收由图像token和文本token embedding组成的输入。
在统一嵌入解码器架构中,图像被转换为​​embedding向量,类似于在标准纯文本 LLM 中输入文本被转换为embedding的方式。对于典型的处理文本的纯文本 LLM,文本输入通常被token(例如,使用字节对编码),然后通过embedding层,如下图所示。
在这里插入图片描述
上图说明:对文本进行token化并将其转换为token embedding向量的标准过程进行说明,这些向量随后在训练和推理期间传递给 LLM。

图像编码器

与文本的token化和embedding类似,图像embedding是使用图像编码器模块(而不是token器)生成的,如下图所示。
在这里插入图片描述
上图展示的是将图像编码为图像块embedding的过程的说明。为了处理图像,我们首先将其分成更小的块,就像在token化过程中将单词分解为子单词一样。然后,这些块由预训练的视觉转换器 (ViT) 进行编码,如下图所示。
在这里插入图片描述
请注意,ViT 通常用于分类任务,因此我在上图中包括了分类头。但是,在这种情况下,我们只需要图像编码器部分。

图像与文本token化

下图中图像token和embedding(左)以及文本token和embedding(右)并排。
在这里插入图片描述
如上图所示,在图像编码器后面添加了一个附加投影模块。该投影通常只是另一个线性投影层。其目的是将图像编码器输出投影到与文本token的embedding尺寸相匹配的尺寸中,如下图所示(图像token化和文本token化之间的另一个并排比较,其中投影的作用是匹配文本token的embedding维度。)
在这里插入图片描述
图像块embedding具有与文本token embedding相同的embedding维度,我们可以简单地将它们连接起来作为 LLM 的输入,如本节开头的图所示。
在这里插入图片描述
在本节中讨论的图像编码器通常是经过预训练的视觉转换器。一个流行的选择是CLIP或OpenCLIP。

不过方法A也有直接对patch块进行操作的版本,比如下图所示的Fuyu 。带注释的 Fuyu 多模态 LLM 图,它直接在图像块上进行操作,无需图像编码器。
在这里插入图片描述
Fuyu 将输入补丁直接传递到线性投影(或embedding层)中,以学习其自己的图像patch embedding,而不是像其他模型和方法那样依赖于额外的预训练图像编码器。这大大简化了架构和训练设置。

7.2.2、方法 B:跨模态注意力架构

在这里插入图片描述
在上图所示的跨模态注意力架构方法中,我们仍然使用之前讨论过的图像编码器设置。但是,我们不是将patch编码为 LLM 的输入,而是通过交叉注意力机制将输入patch连接到多头注意力层中。
这个想法是相关的,可以追溯到 2017 年《Attention Is All You Need》论文中的原始 transformer 架构,如下图所示。
在这里插入图片描述
上图中所示的原始“Attention Is All You Need”转换器最初是为语言翻译而开发的。因此,它由一个文本编码器(图左侧)组成,该编码器接收要翻译的句子并通过文本解码器生成翻译(图右侧)。在多模态 LLM 的背景下,编码器是图像编码器而不是文本编码器,但同样的想法适用。
下图为常规自注意力机制内部发生的情况的概念图。
在这里插入图片描述
在上图中,x 是输入,Wq是用于生成查询 ( Q ) 的权重矩阵。同样,K代表键,V代表值。A 表示注意力得分矩阵,Z是转换为输出上下文向量的输入 (x)。
交叉注意力中,与自注意力相反,我们有两个不同的输入源,如下图所示。
在这里插入图片描述

如前两张图所示,在自注意力机制中,我们使用相同的输入序列。在交叉注意力机制中,我们混合或组合两个不同的输入序列。

在《Attention Is All You Need 》论文中的原始 Transformer 架构中,两个输入x 1和x 2分别对应于左侧编码器模块返回的序列 ( x 2 ) 和右侧解码器部分正在处理的输入序列 ( x 1 )。在多模 LLM 中,x 2是图像编码器的输出。(请注意,查询通常来自解码器,而键和值通常来自编码器。)

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐