f 云原生-|MLLM Series Tutorial @ ACM MM 2024|第二部门:MLLM Architecture & Modality(MLLM - Powered by qidao123.com技术社区

||MLLM Series Tutorial @ ACM MM 2024||第二部门:MLLM Architecture & Mo ...

打印 上一主题 下一主题

主题 1776|帖子 1776|积分 5330

目次

0 完整Tutorial内容
1 内容解说安排
1.1 内容结构:
1.2 说明:
2 多模态模型的核心概念
2.1 当前语言模型的上风:
2.2 初步思绪——以大语言模型LLM作为支点构建MLLM:
3 架构1:将LLM作为离散调理/控制器(Discrete Schedule/Controller)
3.1 LLM扮演角色
3.2 关键特性
3.3 代表模型:
4 架构2:将LLM作为系统的一部门
4.1 LLM扮演角色
4.2 关键特性
4.3 更有远景
4.4 视觉编码器
4.4.1 最流行的视觉编码器
4.4.2 ViT的限定
4.4.3 高分辨率场景的改进——切片计谋:
4.4.4 双分支编码器:
4.4.5 ViT-free
4.5 其他模态编码器:
4.6 统一多模态编码器(Unified Multimodal Encoders):
4.6.1 ImageBind——以图像为中介:
4.6.2 LanguageBind——以语言为中介:
4.7 多模态信号的分词技能(Tokenization)
5 将多模态表现毗连到语言模型(LM)——投影
5.1 投影方法的作用
5.2 一些发现
5.2.1 投影结果
5.2.2 视觉token的数目很重要,尤其是在效率方面:
6 多模态模型(MLLM)依靠于开源的语言模型(LLM)
7 多模态模型解码器端的毗连
7.1 方法一:离散token
7.2 方法二:一连嵌入表现
7.3 方法三:利用代码本(Codebooks):
8 多模态天生
8.1 文本天生
8.2 其他模态天生
8.2.1 方式一:扩散模型(Diffusion Models)
8.2.2 方式二:代码本(Codebook)方法
9 多模态支持的信号模态
10 MLLM在差别模态的明白本领
10.1 图像明白
10.2 视频明白
10.3 3D明白
10.4 音频明白
10.5 X范畴的多模态明白
11 统一的MLLM:分身明白与天生
11.1 单一模态明白的不敷
11.2 图像明白与天生
11.3 视频明白与天生
11.4 音频明白与天生
12 支持多模态交互
12.1 单一模态支持的不敷 
12.2 文本+图片+视频
12.3 文本+图片+视频+音频
12.4 Any-to-Any 多模态交互
13 当前多模态模型的局限性
14 能否通过大规模预训练实现多模态智能?
14.1 大视觉模型
14.2 全主动多模态大模型
15 一些值得探究的问题
15.1 统一MLLM下的最优模型架构是什么? 
15.2 从头开始预训练必要多大规模的数据集?
15.3 怎样缩小纯粹的多模态模型与当前SoTA“LLM+编码器/解码器”架构的mllm在下游任务上的性能差距?
15.4 多模态数据的最佳表现方法是什么? 


0 完整Tutorial内容

本文为"⭐⭐MLLM Tutorial⭐⭐——多模态大语言模型最新教程"——第二部门的学习笔记,完整内容参见:
⭐⭐MLLM Tutorial⭐⭐——多模态大语言模型最新教程-CSDN博客

1 内容解说安排

1.1 内容结构




  • 先容现有架构:梳理当前多模态模型的主流构建方法和常见类别。
  • 总结现有模型:概述重要模型及其在多模态处理中的应用场景。
  • 开放问题:提出一些尚未办理的关键问题,以引发后续讨论。
1.2 说明

教程解说保持在“高条理”先容(high-level),不深入技能细节,确保覆盖更多内容和角度。
2 多模态模型的核心概念

2.1 当前语言模型的上风




  • 受“规模法则”和“涌现行为”的驱动,现有语言模型(如大语言模型)已经具备强盛的语义明白本领。
  • 语言被视为多模态智能的核心模态,相当于多模态系统中的“CPU”或“大脑”,用来协调和处理其他模态的信息。
2.2 初步思绪——以大语言模型LLM作为支点构建MLLM




  • 在大语言模型具备巨大上风的条件下,几乎全部当前的MLLM都是基于LLM作为核心决议模块(即大脑或中央处理器)构建的。
  • 在语言模型底子上,参加其他外部非文本模态(如视觉、音频等),实现多模态感知和操作。
  • 多模态模型通过对多种模态信息的融合,进一步拓展其任务处理本领,实现了迈向更高级智能的下一个里程碑
3 架构1:将LLM作为离散调理/控制器(Discrete Schedule/Controller)

3.1 LLM扮演角色

在这个架构中,LLM的作用是接收文本信号并构建文本下令调用下游模块。
3.2 关键特性


这一架构的核心是通过文本信号接收和输出全部信息,即全部在系统内通报的消息,如“多模态编码器到LLM”或“LLM到下游模块”,都是通过纯文本下令作为前言来实现的。
3.3 代表模型:


4 架构2:将LLM作为系统的一部门

4.1 LLM扮演角色

在这个架构中,LLM的作用是感知多模态信息,并在编码器-LLM-解码器的结构中自行反应。
4.2 关键特性


LLM是系统的关键毗连部门,直接从外部接收多模态信息,并以更流畅的方式将指令委托给解码器/天生器。 
4.3 更有远景




  • 90%以上的MLLM都利用该框架;
  • 更高的上限,更好地集成到统一的模型中。
4.4 视觉编码器

4.4.1 最流行的视觉编码器


CLIP-ViT是视觉语言模型中最流行的选择。


  • 提供与文本空间对齐的图像表现。
  • 在参数和数据方面可以很好地扩展。
除此之外,SigLIP越来越受欢迎(更小更强)
4.4.2 ViT的限定

ViT编码器计划时只支持固定巨细的输入图像(如 224x224 或 512x512 像素),如果输入一张超出这些尺寸的大图,模型大概无法正常处理,或者必要欺压缩放,这会导致图像细节的丢失。
然而,高分辨率感知是必不可少的,特殊是对于OCR功能!低分辨率编码忽略了细粒度的视觉细节!

4.4.3 高分辨率场景的改进——切片计谋

为了办理传统视觉编码器只能处理固定低分辨率图像的问题,提出了切片计谋(Slicing),即将高分辨率图像分割为多个小块以降低信息损失。
例如:一张 1024x1024 的图像可以被分割为 16 个 256x256 的小块,每个小块都通过编码器天生对应的特征,将全部切片的特征重新整合为整幅图像的表现;别的还可以通过resize生存一份全局特征,与上述切片得到的特征拼接后从而实现对高分辨率图像的全面明白。这种整合方式可以是简单的特征拼接,也可以是通过 Transformer 等模型进行更复杂的上下文建模。

应用场景:OCR(光学字符识别)任务中表现尤为重要。
代表性研究:GPT-4V、LLaVA-NeXT等。
结果:在没有新数据的情况下,OCR功能显著进步。

4.4.4 双分支编码器:


双分支编码器(Dual-Branch Encoders)是一种常见的多模态学习架构,尤其是在视觉-语言模型中被广泛应用。它的重要特点是利用两个独立的编码器分别处理差别的模态数据(如图像和文本),然后通过某种机制将两种模态的信息进行融合或对齐,以实现多模态任务的目标。
重要组成部门
1)两个独立的分支(Branch)
每个分支是一个专门的编码器,用于处理特定模态的数据:
视觉分支:通常基于卷积神经网络(CNN)或视觉 Transformer(如 ViT、CLIP)对图像或视频数据进行编码。
语言分支:通常基于预训练的语言模型(如 BERT、GPT)对文本数据进行编码。
2)特征对齐模块
将视觉分支和语言分支提取的特征映射到一个共享的表现空间中,以实现跨模态的信息交互和对齐。
常用方法包括:
投影层(Projection Layer):通过全毗连层将两种模态的特征投影到类似的维度。
留意力机制(Attention Mechanism):捕获模态间的关联,例如交错留意力(Cross-Attention)。
3)融合与预测模块
融合两种模态的特征后,进行下游任务(如分类、天生或检索)的预测。
4.4.5 ViT-free


ViT-free 是一种视觉编码方法,旨在减少 Vision Transformer (ViT) 模型的复杂性,同时保持其在视觉任务中的强盛性能。这种方法通过线性投影将图像的像素块(patches)直接转换为 token 表现,从而省略了 ViT 的一些复杂处理步调。
1)做法比对


  • 传统 ViT 的做法

    • 图像分块(Patch Division):将输入图像分割成巨细固定的小块(如 16x16)。
    • 线性嵌入(Linear Embedding):通过一个全毗连层将每个小块的像素展平后映射到一个高维向量空间(即 token 表现)。
    • 位置编码(Positional Encoding):为每个 token 参加位置信息,使模型能够捕捉空间关系。

  • ViT-free 的改进

    • 通过一个简单的线性投影,直接将图像的像素块映射为 token,而不必要复杂的嵌入层或 Transformer 模块。
    • 省略了传统 ViT 中的位置编码,但仍能通过下游模型捕获一定的空间关系。

2)具体流程

  • 像素分块(Pixel Patches)

    • 将输入图像划分为若干小块,每个小块包罗固定数目的像素。
    • 例如,对于分辨率为 224x224 的图像,划分为 16x16 的小块,共有 (224 / 16)^2 = 196 个块。

  • 线性投影(Linear Projection)

    • 对每个小块的像素进行展平操作(flattening),形成一个向量。
    • 利用一个简单的线性变换(如矩阵乘法)将这些向量投影到模型的 token 表现空间。

  • 天生 token:每个小块经过线性投影后天生一个 token,这些 token 作为后续模型的输入。
3)缺点:
这种方法直接利用线性投影对每个像素块天生 token,缺乏对高维视觉特征的充实建模,因此必要更复杂的后续模块(如自留意力机制)去明白这些 token 表现。这大概导致模型:


  • 必要更多数据:以弥补特征提取的不敷。
  • 必要更大的计算资源:处理更加麋集的 token。
4.5 其他模态编码器

多数多模态模型依靠现有模态特定编码器(Modality-Specific Encoders),这些编码器在多模态时代之前已开辟完成。

4.6 统一多模态编码器(Unified Multimodal Encoders)

通过对全部模态特征对齐到共享表现空间(Shared Representation Space),实现模态间的一致性。
关键技能:基于预训练的统一编码器,典型模型包括 ImageBind 和 LanguageBind。
4.6.1 ImageBind——以图像为中介



  • 将全部模态嵌入到图像的团结表现空间中。
  • 对齐良好的模态表现有利于LLM的明白

4.6.2 LanguageBind——以语言为中介



  • 将全部模态嵌入到语言的团结表现空间中。
  • 对齐良好的模态表现有利于LLM的明白。

4.7 多模态信号的分词技能(Tokenization)

在前面的Encoder中都是将多模态信号直接编码为一连表现,那么能不能量化多模态信号呢?例如将图像、视频等非文本信号表现为离散的“模态词元”(Discrete Tokens),如利用代码本(Codebooks)进行量化。



多模态信号的离散化表现:这是指将多种差别模态(例如图像、文本、音频等)通过某种方式转换成离散的tokens。这些tokens通常被存储在一个“codebook”中,即一个包罗差别tokens的字典或表格。

Codebook:类似于一个词汇表,包罗图像、文本等模态的表现。通过tokenization,将一连的特征表现(例如图像的像素值)转换成更结构化的离散单位,使得模型能够更高效地处理这些信息。
上风:通过将多模态信号转化为离散的tokens,可以在同一个统一的框架下明白和天生这些信号。这种框架通常是自回归的(auto-regressive),也就是模型通过预测下一个token来天生数据(比如文本天生、图像天生等)。 
5 将多模态表现毗连到语言模型(LM)——投影

5.1 投影方法的作用

通过将多模态特征投影到语言空间,模型能够明白并处理这些多模态输入。这一过程使得差别范例的多模态特征(例如,图像、文本等)能够在语言模型中得到统一处理。
有浩繁投影方法,例如:Q-Former、Liner projection、Two-layer MLP等等。

5.2 一些发现

5.2.1 投影结果



  • 根据LlaVA 1.5论文,两层MLP(多层感知器)投影结果优于线性投影。
  • Resampler(重采样器)在某些方面与C-Abstractor (MM1)MLP (LLaVA-UHD) 具有可比性。

   

  • Resampler(重采样器):在多模态模型中,Resampler通常指一种通过对多模态特征进行采样、调整或重排序的方法,以优化特征的表达或提拔模型效率。这个方法大概涉及从差别模态中提取特定的信息并进行重构,以便更好地融合差别模态的数据。
  • C-Abstractor (MM1)C-Abstractor通常是某些多模态系统中用于对特征进行抽象化处理的模块(如抽象或提取关键的特征信息)
  • MLP (LLaVA-UHD)MLP指的是多层感知器(Multi-Layer Perceptron),这是神经网络中的一种基本架构,用于特征的处理与转换。
  5.2.2 视觉token的数目很重要,尤其是在效率方面

在处理图像和其他多模态数据时,视觉token(即图像或视觉内容的离散表现)的数目对模型的效率和结果有显著影响。特殊是在处理高分辨率图像时,视觉token的数目会影响模型的明白本领和计算效率。

1)Resampler/Q-Former/C-Abstractor天生的视觉token少于MLP/Linear
ResamplerQ-FormerC-Abstractor这些方法天生的视觉token数目通常少于MLP(多层感知器)和Linear(线性投影)方法。这意味着,前者大概更注重信息的提取与压缩,而后者则大概天生更多的token以生存更多的细节信息。
2)在高分辨率图像明白中更为有利
在处理高分辨率图像时,减少视觉token的数目大概有助于提拔处理效率。因为高分辨率图像包罗的信息量大,减少token数目有助于降低计算开销,从而进步效率,而不会大幅损失关键信息。
6 多模态模型(MLLM)依靠于开源的语言模型(LLM)

当前,大多数多模态系统依靠于开源的语言模型来处理多模态输入。在多模态社区中,LLaMAVicuna是最为广泛利用的语言模型。

7 多模态模型解码器端的毗连

解码器设置毗连投影。其重要职责是通报消息,将多模态指令转化为下游解码器可明白的信号。
7.1 方法一:离散token


这种方法是标准实践,直接输出离散的文本相应,将指令通报给下游解码器。
这种方法的上风是效率较高,无需额外的训练;
但它的短处是由于其离散性质,失去端到端调优功能。别的,离散的文本token方法的性能上限比较低,因为某些多模态信号(例如图像、视频等的丰富信息)不能通过简单的文本token最优地通报。这意味着这种方法无法完全捕捉和表达某些模态的信息,影响了模型的整体性能。
7.2 方法二:一连嵌入表现

这种方法通过嵌入表现(embedding)来通报信号,能够比离散token携带更多的模态特定特征

上风:
1)利用一连的嵌入表现方法,能够进行端到端的训练调优。这意味着模型的全部部门可以在训练过程中一起优化,整体提拔了多模态信息的明白和通报效率。
2)相比于离散的文本token,一连嵌入表现能够更好地表达和通报复杂的多模态信号,尤其是文本单独无法转达的内容。例如:


  • 视觉数值化:这种表现方法能够更好地处理和表达视觉信息中的数值特征,如图像中的巨细、数目等。
  • 视觉-空间关系语义:它可以更有效地捕捉图像中差别物体之间的空间关系,例如物体的相对位置和方向等,这些信息无法仅通过文本来完整形貌。
7.3 方法三:利用代码本(Codebooks)

这种方法与输入端的token化过程类似,通过天生特殊的token ID来通报给下游解码器。

上风:


  • 支持端到端调优,进步指令通报效率
  • 更擅长表达文本无法捕捉的多模态信号
  • 支持自回归多模态token天生:自回归天生是指在天生下一个token时,模型会基于之前天生的内容进行预测。在这种方法下,代码本能够支持这种自回归的天生过程,使得多模态信息的天生更加顺畅和连贯。
8 多模态天生

8.1 文本天生


支持直接文本天生:多模态模型(MMs)通常基于语言模型(LMs),天然支持直接的文本天生。
8.2 其他模态天生

多模态天生包括图像、视频和音频天生,重要有两种方式:
8.2.1 方式一:扩散模型(Diffusion Models)




  • 过程:结合一连的信号Token(如从多模态嵌入中获取的特征)和扩散模型,系统可以天生图像、视频和音频。
  • 代表性用途:

    • 高质量图像天生
    • 时间序列天生(如视频中的逐帧天生)
    • 声音信号的合成

8.2.2 方式二:代码本(Codebook)方法





  • 过程:

    • 将信号编码到潜在空间中并量化为离散的Token(通过代码本)。
    • 利用解码器将量化后的Token还原为多模态内容(如图像或音频)。
    • Token的天生是自回归的,即渐渐天生下一个Token。

  • 特点:

    • 适合离散化的信号天生。
    • 可以在多种模态间保持一致性。

9 多模态支持的信号模态

当前的多模态模型(MM)通常支持以下几种信号模态:



  • 语言(Language)
  • 视觉(Vision):通常包括图像(Image)视频(Video)
  • 音频(Audio)
  • 3D(3D 模态)
这些模态是目前多模态研究中最常见的范例。
在当前的研究中,许多多模态模型支持这些模态的明白天生本领。

表格总结了各种模型支持的模态,并按它们的多模态明白本领天生本领进行了分类。此中包括一些代表性模型,但这只是一个选择性的总结,实际中有许多差别的多模态模型存在。
10 MLLM在差别模态的明白本领

10.1 图像明白

利用外部图像编码器对输入图像进行编码,天生LLM可明白的视觉特征,然后将其输入LLM。然后,LLM根据输入文本指令解释输入图像并天生文本相应。
代表性的模型如下所示:


10.2 视频明白

利用外部视频编码器对输入视频进行编码,天生LLM可明白的视觉特征,输入到LLM中,LLM根据输入文本指令对输入视频进行解释,并产生文本相应。
代表性的模型如下所示:


10.3 3D明白

利用外部编码器对输入的3D信息进行编码,天生LLM可明白的3D特征,并将其输入到LLM中,然后LLM根据输入的文本指令对输入的3D/点进行解释,并产生文本相应。 
代表性的模型如下:


10.4 音频明白

利用外部编码器对输入音频信号进行编码,天生LLM可明白的信号特征,并将其输入LLM,然后LLM根据输入文本指令解释音频并产生文本相应。
代表性的模型如下:


10.5 X范畴的多模态明白

在生物医学或医疗范畴,有大量的模型和研究工作可以参考,别的,化学、图谱等范畴也有相应的多模态模型。
代表性的模型如下:


11 统一的MLLM:分身明白与天生

在多模态模型(MMS)中,单纯关注模态明白是不敷的,还必要具备天生多模态内容的本领。
11.1 单一模态明白的不敷

传统的多模态模型(MMS)重要支持单一模态的明白,但这并不敷以满足更复杂的需求。研究人员发现,仅关注模态明白是不敷的,还必要模型具备天生多模态内容的本领。
11.2 图像明白与天生

中心的llm将文本和图像作为输入,经过语义明白,天生文本和图像。


11.3 视频明白与天生

中央llm将文本和视频作为输入,经过语义明白,天生文本和视频。


11.4 音频明白与天生

中央llm将文本和音频作为输入,经过语义明白,天生文本和音频。


12 支持多模态交互

12.1 单一模态支持的不敷 


在实际中,模态通常同时具有很强的相互联系。因此,mllm常常必要同时处理多种非文本模态的明白,而不但仅是一种(非文本)模态。 
12.2 文本+图片+视频

中央llm以文本、图像和视频作为输入,经过语义明白,天生文本(也大概是图像和视频,或组合)。


12.3 文本+图片+视频+音频

中央llm以文本、音频、图像和视频作为输入,并天生文本(也大概是音频、图像和视频,或组合)。


12.4 Any-to-Any 多模态交互

中央llm以文本、音频、图像和视频为输入,自由天生文本、音频、图像和视频或组合。能够处理任意组合的输入模态(如视频、音频、文本等)并天生相应的输出。



13 当前多模态模型的局限性

目前,大多数多模态系统依靠语言作为核心,即利用语言明白来加强视觉等其他模态的本领。

LLMs的扩展法则和出现的成功是否可以在多模态中复制,以实现原生多模态LLMs的智能? 
语言智能的依靠是否限定了模型的潜力?
14 能否通过大规模预训练实现多模态智能?

14.1 大视觉模型

LVM(Language-Visual Models) 提出了一个基于视觉的序列建模方法,类似于语言模型的预训练,这允许视觉模型在没有语言数据的情况下学习。
模仿LLM预训练;下一个视觉标记预测。

14.2 全主动多模态大模型

Unified IO2 是一个全主动的多模态模型,经过大规模的预训练,能够处理多种任务,如图像天生、语言明白、视频音频明白等。 

15 一些值得探究的问题

15.1 统一MLLM下的最优模型架构是什么? 

多模态系统是否可以完全去除语言模型,而仅依靠视觉或其他模态?比如,Diffusion模型已被广泛应用于图像天生,但对于其他模态,哪些架构是最优的?

15.2 从头开始预训练必要多大规模的数据集?

例如,Unified IO2 利用了大量的多模态数据进行训练,但仍未表现出真正强盛的多模态智能行为。问题:必要多少数据才气触发“多模态行为”的出现? 

15.3 怎样缩小纯粹的多模态模型与当前SoTA“LLM+编码器/解码器”架构的mllm在下游任务上的性能差距?

目前的多模态系统利用编码器-解码器架构,问题:怎样缩小这种差距,使得纯粹的多模态模型能在实际应用中表现得更好?

15.4 多模态数据的最佳表现方法是什么? 

多模态数据集的表现方法对模型性能至关重要。当前大多数模型依靠patches来表现图像,但这大概会导致问题。


方案:提出了语义等效地域标记器(semantic equivalent region tokenizer)来实现视觉和文本标记之间的语义对齐。 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南七星之家

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表