key points
- 归纳了现在多模态大模型的整体架构设计方向
- 提供了现有主流的 26 个多模态大模型
- 总结了提升多模态大模型性能的关键方法
1 Introduction
多模态大模型脱胎于大模型的发展,传统的多模态模型面临着巨大的计算开销,而 LLMs 在大量训练后掌握了关于世界的“先验知识”,因而一种自然的想法就是使用 LLMs 作为多模态大模型的先验知识与认知推动力,来加强多模态模型的性能并且降低其计算开销,从而多模态大模型这一“新领域”应运而生。
作为在语言模态上得到了良好训练的 LLMs,MM LLMs 面对的主要任务是如何有效的将 LLMs 与其他模态的信息进行结合,使其可以综合多模态的信息进行协作推理,并且最终使得 MM LLMs 的输出与人类价值观保持一致。
2 Model Architecture
多模态大模型的整体架构可以被归类为如下图的五个部分:
多模态理解
- 多模态编码器
- 输入投影
- 大模型主干
多模态生成
- 输出投影
- 多模态生成器
通常在训练过程中,多模态的编码器、生成器与大模型的参数一般都冻结,不用于训练,主要优化的重点是输入投影与输出投影,而这两部分一般参数量仅占总体参数的 2%。
下面分模块的介绍这5个部分。
2.1 Modality Encoder
多模态编码器(ME)的任务就是将各种模态的输入编码成对应的features:
已经存在有各种模态的编码器,包括image, video, audio, 3D。
Visual Modality,包括ViT、CLIP、SAM、DINO等,而对于视频而言,常用的方法是将视频均匀采样五帧,再进行与图像相同的输入编码;
Audio Modality,包括CFormer、HuBERT、CLAP等;
3D Point Cloud Modality(3D点云),主要是ULIP-2。
还有一些能处理多种模态的编码器例如ImageBind。
2.2 Input Projector
输入投影Θ_{X→T}主要用于将编码器编码得到的特征向量对齐到大模型擅长的文本模态空间。
F_X投影后被认为是prompt,和文本特征一起输入到LLM中。目标函数就是最小化X-conditioned text generation loss。
模型选择上,可以是线性投影或MLP,或者交叉注意力(使用一组可训练向量作为query,编码的特征 F_X 作为key,将特征序列压缩为固定长度。然后将压缩表示直接馈送到 LLM 或进一步用于 X-Text 交叉注意融合。)
还有Q-former、P-former、MQ-former等方式。
2.3 LLM Backbone
MM-LLM能继承一些LLM的性质:zero-shot泛化, few-shot ICL, Chain-of-Thought (CoT), 以及 instruction following指令跟随。
大模型的输出是文本t,和用于指示是否生成其他模态内容的信号S_X。
P_X可以被当作是soft Prompt-tuning。
一些工作引入了Parameter-Efficient Fine-Tuning (PEFT),例如LORA和LayerNorm tuning。这些方法需要训练的参数规模很小。
常用的LLM包括PaLM、LLaMA、Vicuna、Qwen等。
2.4 Output Projector
输出映射Θ{T →X}将LLM输出的信号S_X映射成模态生成器MG_X可以理解的特征H_X。
为了促进这种对齐,目标函数被设置为最小化H_X,和MG_X的条件文本表示的距离。
投射器通常用Tiny Transformer或MLP或交叉注意力。
输出投影器的设计对于MM-LLMs的性能至关重要,因为它们直接影响到模型生成内容的质量。
2.5 Modality Generator
模态生成器MG。根据LLM主干的输出生成特定模态的输出,例如图像、视频、音频。
对于图像,可以使用基于扩散模型(如Stable Diffusion)的生成器;对于视频,可以使用基于时间序列的生成器(如Zeroscope);对于音频,可以使用基于音频变换器的生成器(如AudioLDM)。
在训练中,生成结果的ground truth被一个训练好的VAE转换为latent feature z_0,然后添加噪声,得到扰动后的feature z_t, 再经由一个U-Net(该过程详细参考其他博主的diffusion原理文章)计算LDM loss。
这一训练过程中,输入和输出投影器通常是轻量级组件,而LLM主干则是模型的核心,通常保持冻结状态,以减少训练成本。
3 Training
分两步:MM PT and MM IT
3.1 MM PT 多模态预训练
目标:在这个阶段,目标是通过训练输入和输出投影器(IP和OP)来实现不同模态之间的对齐,以便LLM主干能够有效地处理多模态输入。
对于理解大模型,通常只需要关注目标(IP):
对于生成大模型,还需要关注目标(IP和OP):
数据集:通常使用X-Text数据集,这些数据集包含图像-文本(Image-Text)、视频-文本(Video-Text)和音频-文本(Audio-Text)对,以及交错的图像-文本语料库(interleaved Image-Text corpus)。
优化:训练过程中,主要优化的是IP和OP的参数,以最小化条件文本生成损失(Ltxt-gen)。这通常涉及到将模态编码器的输出特征(FX)与文本特征(FT)对齐,生成的对齐特征(PX)作为LLM主干的输入。
3.2 MM IT 多模态指令调优
目标:在MM IT阶段,目标是通过指令格式化的数据集对预训练的MM-LLM进行微调,以提高模型遵循新指令的能力,从而增强其在未见任务上的性能。
方法:MM IT包括监督式微调(SFT)和基于人类反馈的强化学习(RLHF)。SFT将PT阶段的数据转换为指令感知格式,而RLHF则依赖于对模型响应的人类反馈(如自然语言反馈NLF)进行进一步微调。
数据集:MM IT使用的数据集通常包括视觉问答(VQA)、指令遵循任务等,这些数据集结构可以是单轮问答或多轮对话。RLHF阶段特别关注于整合非可微分的NLF,通过强化学习算法训练模型以生成与NLF条件相对应的响应。
在MM PT阶段,模型主要关注于理解和对齐不同模态的信息。而在MM IT阶段,模型则通过遵循新的指令来增强其交互能力和任务执行能力。通过这种方式,MM-LLMs能够在保持对文本任务的高效处理能力的同时,扩展到更广泛的多模态应用场景。
3.3 训练策略(Training Strategies)
参数效率微调(PEFT)
通过在保持LLM主干冻结的情况下,仅调整少量额外参数,来提高模型的性能。
下面描述几种主流PEFT,x表示输入,h表示原模型的输出,h’表示微调后的模型的输出。
Prefix-tuning
涉及向注意力模块的键和值添加可学习的tokens,公式描述:
Adapter
通常是一个残差块,由一个下投影矩阵a、一个非线性激活函数σ(·)和一个上投影矩阵b组成。它可以插入到预训练的LLM的任何一层:
LoRA
是最常用的 PEFT 方法。它假设参数的变化发生在低秩空间中。给定一个预训练的矩阵 W ∈ Rc×d,LoRA 学习增量更新 ΔW ,并将 ΔW 分解为两个低秩矩阵 A ∈ Rc×r 和 B ∈ Rr×d 之间的矩阵乘法,其中 r ≪min(c, d)。
LayerNorm tuning
一种有效的将LLM转换为MM-LLM的策略,该策略对注意力块中的LayerNorm进行了调优,与全参数调优或LoRA相比,获得了更强的MM性能。
指令调优(Instruction Tuning)
通过使用指令格式化的数据集对模型进行微调,以提高其遵循新指令的能力。
4 SOTA MM-LLMs
"Tool-using"表示将LLM视为黑盒,为MM专家系统提供接口;
"Endto-End"表示整个模型以端到端方式联合训练。
目前的趋势:
- 从专门强调MM理解到生成特定模态,并进一步演变为任意到任意模态转换;
- 从MM PT到SFT再到RLHF,训练管道不断完善,力求更好地符合人类意图,增强模型的会话交互能力;
- 采用多样化的模态扩展;
- 纳入更高质量的训练数据集;
- 采用更高效的模型架构。
5 Benckmarks and Performance
评估指标(Evaluation Metrics):
准确性(Accuracy):在分类任务中,准确率是衡量模型预测正确性的常用指标。
一致性(Consistency):在图像描述任务中,模型生成的描述与真实描述的一致性是重要的评估指标。
相关性(Relevance):在VQA任务中,模型回答的相关性是评估其理解图像内容和问题的能力。
多样性(Diversity):在生成任务中,模型输出的多样性也是一个重要的考量因素,尤其是在需要创造性回答的场景中。
基准数据集
这些基准测试覆盖了多种视觉语言(VL)任务,如图像描述、视觉问答(VQA)、图像分类等。
6 Future Directions
未来方向是多模态大型语言模型(MM-LLMs)领域持续发展的关键,以下是一些潜在的研究方向和趋势:
扩展模态(Expanding Modalities):
目前MM-LLMs主要支持图像、视频、音频和文本等模态。未来的研究可以探索如何将模型扩展到其他模态,如网页、热图、图表和文档内容,以提高模型的通用性和适用性。
多样化LLMs(Diversifying LLMs):
使用不同类型和规模的LLMs可以为研究人员提供更多选择,以根据特定任务的需求定制模型。这包括尝试不同的预训练策略和模型架构。
提高MM IT数据集质量(Improving MM IT Dataset Quality):
MM IT数据集的质量直接影响模型的性能。未来的工作可以集中在创建更多样化、更具挑战性的指令集,以及提高数据集的真实性和多样性。
加强MM生成能力(Strengthening MM Generation Capabilities):
尽管一些MM-LLMs已经具备生成能力,但生成质量仍有提升空间。研究可以集中在如何整合检索式方法来补充生成过程,以及如何提高生成内容的质量和多样性。
更具挑战性的基准测试(More Challenging Benchmarks):
当前基准测试可能无法充分挑战MM-LLMs的能力,因为许多数据集在预训练或指令调优阶段已经出现过。开发新的、更大规模的基准测试,涵盖更多模态和统一的评估标准,对于推动模型性能的提升至关重要。
移动/轻量级部署(Mobile/Lightweight Deployment):
在资源受限的平台上部署MM-LLMs,如移动设备和物联网设备,需要模型更加轻量化。研究可以集中在如何有效地缩小模型规模,同时保持性能。
持续IT(Continual Instruction Tuning):
MM-LLMs需要能够适应新任务和不断变化的数据。研究可以探索如何实现模型的持续学习,避免灾难性遗忘(catastrophic forgetting)和负向迁移(negative transfer)。
Embodied Intelligence(具身智能):
具身智能旨在通过理解环境、识别对象和规划任务来复制人类的感知和交互。研究可以集中在如何将MM-LLMs与机器人等实体结合,提高其自主性和决策能力。
模型可解释性和透明度(Model Interpretability and Transparency):
提高模型的可解释性和透明度,使得用户和开发者能够理解模型的决策过程,这对于建立信任和确保模型的公平性和安全性至关重要。
伦理和社会责任(Ethics and Social Responsibility):
随着MM-LLMs在社会中的应用越来越广泛,研究需要关注模型的伦理影响,确保其在处理敏感数据和执行关键任务时的安全性和公正性。
个人碎碎念
多模态是AGI的必经之路,AGI的实现很大程度上需要模仿人类的学习方式,而只从语言中学习是不符合人类的学习方式的,文本、图像、视频、音频都是AI进化的养料。
如今的MLLM如本文所说,借助了LLMs在文本数据上学习到的先验知识和所谓“涌现”能力。打个比方就像LLM是大脑,而各种其他模态的编码器就像人的眼睛+视觉神经,或者耳朵+听觉神经。与其叫多模态MLLM,不如叫但LLM with the ability to understand MM。
个人觉得真正强大的MLLM不应该是这种以大语言模型LLM为主的学习模式,而应该是平衡的,甚至语言应该只是辅助,只是prompt。用一个模型,去端到端的,用各种模态的数据从头训练,这样得到的才是真正强大的MLLM。
笔者更多的多模态相关笔记:
阿里文档理解大模型mplug1.5
LLaVA原文精读,最经典的开源多模态大模型
InternLM-XComposer2-4KHD精读,8B文档理解新SOTA