多模态大模型 (Multimodal LLMs)
概述
多模态大模型 (Multimodal Large Language Models, MLLMs) 的核心目标是让 LLM 具备处理多种模态(图像、视频、音频等)的能力。当前主流方案是将视觉编码器与 LLM 连接,让 LLM 同时理解文本和视觉信息。
核心问题:如何将视觉特征送入 LLM 的语义空间?
根据连接方式的不同,MLLMs 的架构可以分为三大类:
MLLMs 架构分类:
1. 投影式:Vision Encoder → MLP Projector → LLM
(简单直接,代表:LLaVA)
2. 压缩式:Vision Encoder → Q-Former / Resampler → LLM
(压缩视觉 token 数量,代表:BLIP-2, Flamingo)
3. One-Backbone:Image + Text tokens → 统一 Transformer
(原生多模态,代表:Fuyu, Gemini)
投影式架构
核心思想
用一个简单的投影层(通常是 MLP)将视觉编码器的输出映射到 LLM 的 embedding 空间,然后将视觉 token 和文本 token 拼接后输入 LLM。
投影式架构:
Image → Vision Encoder (CLIP ViT) → Visual Features [N tokens]
↓
MLP Projector
↓
Visual Tokens [N tokens]
↓
User Text → Tokenizer → Text Tokens → [Visual Tokens; Text Tokens] → LLM → Response
优势:结构简单,训练高效,视觉信息保留完整。
劣势:视觉 token 数量多(如 ViT-L/14 输出 576 个 token),占用 LLM 的上下文窗口。
LLaVA (Large Language and Vision Assistant)
Liu et al. (2023) 提出的 LLaVA 是投影式架构最经典的代表。
架构:CLIP ViT-L/14 (视觉编码器) + 2-layer MLP (投影层) + Vicuna/LLaMA (LLM)
两阶段训练:
| 阶段 | 训练数据 | 可训练模块 | 目的 |
|---|---|---|---|
| Stage 1: Pretrain | 558K 图文对 (CC3M 子集) | 仅 MLP Projector | 对齐视觉-语言空间 |
| Stage 2: Finetune | 158K 指令跟随数据 | Projector + LLM | 学习多模态指令跟随 |
Stage 1 冻结 Vision Encoder 和 LLM,只训练 MLP Projector,使视觉特征与 LLM 的 word embedding 空间对齐。Stage 2 解冻 LLM,使用 GPT-4 生成的多模态指令数据微调。
LLaVA-1.5 改进:
- MLP 改为 2-layer MLP with GELU activation
- 使用更高分辨率(336x336)
- 加入更多学术任务数据(VQA, OCR 等)
LLaVA-NeXT / LLaVA-OneVision:
- 支持动态分辨率:将高分辨率图像切分为多个子图 + 一个全局缩略图
- 支持视频输入:将视频帧作为多图像输入
- 性能在开源 MLLMs 中持续领先
DeepSeek-VL
- 使用 SigLIP 作为视觉编码器
- 混合分辨率策略:低分辨率全局 + 高分辨率局部
- 在文档理解和 OCR 任务上表现优异
Qwen-VL / Qwen2-VL
- 阿里出品的多模态大模型系列
- Qwen2-VL 支持动态分辨率和任意长宽比
- 引入 Naive Dynamic Resolution:根据图像原始分辨率动态决定 token 数量
- 支持视频理解,能处理 20 分钟以上的视频
压缩式架构
核心思想
在视觉编码器和 LLM 之间加入一个 “压缩模块”,将大量的视觉 token 压缩为少量的 “查询 token”,再输入 LLM。
压缩式架构:
Image → Vision Encoder → Visual Features [N tokens, e.g. 576]
↓
压缩模块 (Q-Former / Resampler)
+ Learnable Queries [M tokens, e.g. 32]
↓
Compressed Visual Tokens [M tokens]
↓
[Compressed Visual Tokens; Text Tokens] → LLM → Response
优势:大幅减少视觉 token 数量,降低 LLM 的计算负担。
劣势:信息压缩可能导致细节丢失,尤其在需要精细理解的任务上。
BLIP-2 (Q-Former)
Li et al. (2023) 提出 BLIP-2,核心创新是 Q-Former (Querying Transformer)。
Q-Former 架构:
Q-Former 结构:
Learnable Queries (32 个)
↓
[Self-Attention] ←→ [Cross-Attention] ← Visual Features (from frozen ViT)
↓
Compressed Visual Representation (32 tokens)
↓
FC Layer → LLM Input Space
Q-Former 本质上是一个轻量级 Transformer,包含:
- 一组 learnable query embeddings(32 个)
- Self-attention 层:query 之间的交互
- Cross-attention 层:query 从视觉特征中提取信息
- 共享的 self-attention 层也可以与文本交互
三阶段预训练:
- Image-Text Contrastive (ITC):对齐视觉 query 与文本表示
- Image-Text Matching (ITM):二分类判断图文是否匹配
- Image-grounded Text Generation (ITG):基于视觉生成文本描述
Q-Former 的设计使得 BLIP-2 可以连接任意 frozen LLM(如 OPT, FlanT5),实现即插即用。
Flamingo (Perceiver Resampler)
Alayrac et al. (2022) 提出的 Flamingo 是多模态 few-shot learning 的先驱。
Perceiver Resampler:
Perceiver Resampler:
Visual Features [N tokens] →
Learnable Latent Queries [M tokens]
通过 Cross-Attention 从 visual features 中聚合信息
→ Fixed-size Visual Tokens [M tokens]
与 Q-Former 的区别:Perceiver Resampler 结构更简洁,只用 cross-attention 做信息压缩。
Flamingo 的另一个创新:Gated Cross-Attention
在 LLM 的每一层之间插入 gated cross-attention 层,让 LLM 在生成每个 token 时都能关注视觉信息:
其中 \(\alpha\) 初始化为 0,让模型从纯 LLM 行为开始,逐步学习利用视觉信息。
Flamingo 的强项:支持多图像 + 多轮对话的 few-shot 场景。
One-Backbone 架构
核心思想
不再是 “视觉编码器 + LLM 拼接”,而是:
让图像 token 和文本 token 从第一层开始就在同一个 Transformer 里混合计算。
这是真正意义上的 “一个模型吃所有模态”。
One-Backbone 架构:
Image → Patch Embedding → Image Tokens ─┐
├→ 统一 Transformer → Output
Text → Token Embedding → Text Tokens ─┘
代表模型
Fuyu (Adept, 2023):
- 去掉独立的视觉编码器,直接将图像 patch 线性投影到 Transformer 的输入空间
- 结构极其简洁
- 可处理任意分辨率的图像
Gemini (Google, 2024):
- 原生多模态 Foundation Model
- 图像、视频、音频、文本从训练之初就在同一个模型中联合建模
- 不是 “先训练 LLM 再加视觉”,而是一开始就是多模态的
优势:模态间信息交互更充分,避免了 projector 的信息瓶颈。
劣势:需要从头训练,无法复用已有的 LLM 和 Vision Encoder。
重要闭源模型
GPT-4V / GPT-4o
GPT-4V (GPT-4 with Vision, 2023):
- OpenAI 的多模态大模型,支持图像输入
- 在复杂视觉推理、图表理解、OCR 等任务上表现卓越
- 架构未公开
GPT-4o (2024):
- “o” 代表 “omni”(全能)
- 原生多模态:统一处理文本、图像、音频
- 支持实时语音对话,响应延迟极低
- 推测为 One-Backbone 或深度融合架构
Gemini 系列
| 模型 | 特点 |
|---|---|
| Gemini 1.0 Pro/Ultra | 原生多模态,支持文本、图像、音频、视频 |
| Gemini 1.5 Pro | 支持 100 万 token 上下文,可处理长视频 |
| Gemini 2.0 Flash | 低延迟推理,支持实时多模态交互 |
Gemini 的核心差异化在于 “原生多模态”:多模态能力不是后加的,而是从预训练阶段就内置的。
重要开源模型
| 模型 | 机构 | 架构类型 | 视觉编码器 | LLM 基座 | 特点 |
|---|---|---|---|---|---|
| LLaVA-NeXT | 多机构 | 投影式 | CLIP/SigLIP | LLaMA/Qwen | 动态分辨率,持续迭代 |
| InternVL 2.5 | 上海 AI Lab | 投影式 | InternViT-6B | InternLM2 | 超大视觉编码器 |
| Qwen2-VL | 阿里 | 投影式 | ViT (自研) | Qwen2 | 动态分辨率,视频理解 |
| DeepSeek-VL2 | 深度求索 | 投影式 | SigLIP | DeepSeek MoE | MoE + 多模态 |
| Phi-3 Vision | Microsoft | 投影式 | CLIP | Phi-3 | 小模型强性能 |
| CogVLM2 | 智谱 | 带额外视觉 expert | EVA2-CLIP | CogLM | 视觉 expert 层 |
MoE 多模态
将 MoE (Mixture of Experts) 架构引入多模态大模型,实现更高效的参数利用。具体参见 Scaling 与架构笔记 中 MoE 的详细介绍。
核心思路:
- 不同模态的输入可以路由到不同的专家
- 视觉 token 和文本 token 可能激活不同的 FFN 专家
- 在保持大参数量的同时控制推理成本
生成式多模态
生成式多模态模型不止 “看图说话”,而是能:
- 理解图像、视频、音频
- 生成图像、视频、音频
- 编辑和修改多模态内容
核心思想(两种路线)
路线 A:LLM 做大脑 + 外接生成模型(Diffusion / Flow)
路线 A:
输入 (文本/图像) → 理解模块 → LLM (规划+推理) → 生成指令
↓
外接生成模型 (SD / DALL-E) → 生成结果
代表:Visual ChatGPT, NExT-GPT
路线 B:统一离散 token (VQ) 体系,让 LLM 直接预测多模态 token
路线 B:
Image → VQ Tokenizer → Discrete Tokens ─┐
├→ Unified Transformer → Output Tokens → Detokenizer
Text → BPE Tokenizer → Text Tokens ─┘
代表:Chameleon (Meta), Emu3
典型模型
- GPT-4o:强 omni 代表,文本 + 图像 + 音频的统一理解与生成
- Gemini 系:多模态全家桶,原生支持多模态输入输出
- Janus (DeepSeek):将理解和生成解耦为两条路径,共享 LLM backbone
评估基准
| 基准 | 评估内容 | 特点 |
|---|---|---|
| MMBench | 多维度视觉理解 | 覆盖感知、推理、知识等 20+ 维度 |
| MMMU | 多学科多模态理解 | 大学水平的多模态问答 |
| MME | 感知 + 认知能力 | 是/否问答格式,评分清晰 |
| SEED-Bench | 多模态理解 (图像+视频) | 涵盖 12 个评估维度 |
| MathVista | 数学视觉推理 | 图表、几何等数学相关视觉推理 |
| OCRBench | OCR 和文档理解 | 文字识别、表格理解、文档问答 |
| RealWorldQA | 现实世界理解 | 真实场景下的视觉问答 |
| Video-MME | 视频理解 | 不同时长视频的多维度评估 |
总结
多模态大模型的发展路径清晰:
- 投影式 凭借简单高效成为主流,LLaVA 及其后续工作证明了 MLP projector 的有效性
- 压缩式 在需要控制 token 数量的场景下仍有价值
- One-Backbone 代表了未来方向,原生多模态避免了模块间的信息瓶颈
- 生成式多模态正在从 “理解” 走向 “理解 + 生成” 的统一
当前 MLLMs 的核心趋势:更高分辨率、更长视频、更多模态、更强推理。