2021年1月5日,OpenAI发布了一篇看似普通的论文。论文标题很长——《Learning Transferable Visual Models From Natural Language Supervision》,但核心贡献可以用一句话概括:用4亿对网络图片和描述文本,训练出了一个能"看懂"图像的模型。这个模型叫CLIP,它没有在当时引起轰动,却在随后的五年里重塑了整个人工智能领域的技术路线。
CLIP的意义不在于它能做什么,而在于它揭示了一个可能性:视觉和语言这两种截然不同的信息模态,可以通过一种简单而优雅的方式被拉入同一个语义空间。这个发现为后来的GPT-4V、Gemini等多模态大模型奠定了基础。但CLIP只是一个起点,真正让多模态大模型成为现实的,是后续一系列架构创新的累积。
CLIP的跨模态对齐革命
CLIP的核心架构出奇地简单:两个独立的编码器,一个处理图像,一个处理文本。图像编码器可以是ResNet或Vision Transformer(ViT),文本编码器是一个12层的Transformer。它们各自将输入映射到一个共同的嵌入空间,然后通过对比学习让配对的图像和文本靠近,让不配对的远离。
这种设计的数学表达如下:给定一个批次的$N$个图像-文本对,图像编码器$f_I$和文本编码器$f_T$分别输出图像嵌入$I_i = f_I(\text{image}_i)$和文本嵌入$T_i = f_T(\text{text}_i)$。经过投影和L2归一化后,计算相似度矩阵$S = I \cdot T^T$,其中$S_{ij}$表示第$i$张图像和第$j$段文本的余弦相似度。
对比学习目标函数定义为:
$$\mathcal{L} = -\frac{1}{2N}\sum_{i=1}^{N}\left(\log\frac{\exp(S_{ii}/\tau)}{\sum_{j=1}^{N}\exp(S_{ij}/\tau)} + \log\frac{\exp(S_{ii}/\tau)}{\sum_{j=1}^{N}\exp(S_{ji}/\tau)}\right)$$其中$\tau$是可学习的温度参数。这个目标函数同时优化图像到文本和文本到图像的检索准确率,本质上是一个对称的多分类交叉熵损失。
flowchart TB
subgraph CLIP["CLIP 双编码器架构"]
I[图像输入] --> VE[视觉编码器<br/>ResNet / ViT]
T[文本输入] --> TE[文本编码器<br/>Transformer]
VE --> IP[图像投影层]
TE --> TP[文本投影层]
IP --> E[共享嵌入空间<br/>512维]
TP --> E
E --> CL[对比学习<br/>InfoNCE Loss]
end
CLIP的革命性在于它的训练数据——WebImageText数据集包含4亿对从互联网收集的图像-文本对,覆盖了50万个不同的文本查询。这种大规模、多样化的数据让模型学会了极其丰富的视觉概念,从而实现了真正的零样本迁移:只需用自然语言描述类别,模型就能识别从未见过的物体。
但CLIP有一个根本性的局限:它只能对齐,不能融合。图像和文本被映射到同一个空间,但模型无法理解"这张图片里的猫在做什么"这样的问题——它只知道这张图片和"一只猫在睡觉"的文本相似度很高。要实现真正的视觉语言理解,需要更深层次的融合机制。
从对齐到融合:三条技术路线的分化
CLIP之后,多模态模型的演进分化出了三条主要技术路线。每条路线都试图解决同一个问题:如何让语言模型"看见"图像,但采用的方法截然不同。
LLaVA路线:最简单的连接器
2023年4月,威斯康星大学麦迪逊分校的团队发布了LLaVA(Large Language and Vision Assistant)。它的架构堪称极简主义的典范:一个冻结的CLIP视觉编码器(ViT-L/14),一个冻结的语言模型(Vicuna),中间用一层线性投影矩阵连接。
具体来说,CLIP视觉编码器输出$N$个patch的嵌入向量$V \in \mathbb{R}^{N \times d}$,其中$N$是patch数量,$d$是嵌入维度。LLaVA用一个可学习的投影矩阵$W \in \mathbb{R}^{d \times h}$将视觉特征映射到语言模型的嵌入空间:
$$H_v = V \cdot W$$其中$H_v \in \mathbb{R}^{N \times h}$被直接作为语言模型的输入token,与文本token一起参与自回归生成。
flowchart LR
subgraph LLaVA["LLaVA 架构"]
IMG[图像] --> VIT[CLIP ViT-L/14<br/>冻结]
VIT --> VF[视觉特征<br/>N×d]
VF --> MLP[MLP投影层<br/>可训练]
MLP --> VT[视觉Token<br/>N×h]
TXT[文本] --> TE[文本嵌入]
VT --> LLM[Vicuna LLM]
TE --> LLM
LLM --> OUT[输出]
end
LLaVA的关键创新不在架构,而在数据。团队用GPT-4生成了15万条视觉指令数据,包含对话、详细描述和复杂推理三种类型。这种"用强模型为弱模型生成训练数据"的范式,后来被称为"视觉指令微调"(Visual Instruction Tuning)。
2023年10月发布的LLaVA-1.5做了几个关键改进:将线性投影升级为两层MLP(带GELU激活),将输入分辨率从224×224提升到336×336,将训练数据从15万扩展到66.5万。这些看似简单的改进带来了性能的显著提升——在VQAv2基准上准确率从65.0%提升到78.5%。
BLIP-2路线:Q-Former的精妙设计
2023年1月,Salesforce研究院发布了BLIP-2。它的核心贡献是Q-Former——一种轻量级的桥接模块,能够在冻结视觉编码器和语言模型的情况下实现高效的模态对齐。
Q-Former的设计源于一个关键洞察:视觉编码器输出的特征数量(ViT通常输出256个patch)对语言模型来说太多了,而且其中大部分信息对当前任务无关。Q-Former用一组可学习的查询向量$Q \in \mathbb{R}^{K \times d}$来"提取"最相关的视觉信息,其中$K$是一个远小于patch数量的常数(通常为32)。
Q-Former包含两个子模块:图像-文本匹配模块和语言建模模块。在第一阶段(视觉-语言表示学习),Q-Former通过交叉注意力与冻结的视觉编码器交互:
$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$其中$K$和$V$来自视觉特征,$Q$是可学习的查询向量。通过对比学习目标,Q-Former学会了提取与文本最相关的视觉特征。
在第二阶段(视觉-语言生成学习),Q-Former与冻结的语言模型连接,通过自回归目标学习生成能力。整个过程中,视觉编码器和语言模型保持冻结,只有Q-Former的参数被更新——这大大降低了训练成本。
flowchart TB
subgraph BLIP2["BLIP-2 架构"]
IMG[图像] --> VIT[ViT 视觉编码器<br/>冻结]
VIT --> VF[视觉特征]
VF --> QF[Q-Former<br/>32个可学习查询]
QF --> CF[压缩特征<br/>32个Token]
CF --> LLM[冻结LLM<br/>OPT/FlanT5]
TXT[文本] --> LLM
LLM --> OUT[输出]
end
BLIP-2的另一个优势是灵活性:由于视觉编码器和语言模型都是冻结的,可以轻松替换不同的组件。论文中实验了ViT-L/14、ViT-G/14等视觉编码器,以及OPT、FlanT5等语言模型,证明了这种架构的通用性。
Flamingo路线:Perceiver Resampler的序列建模
2022年4月,DeepMind发布了Flamingo。它的设计目标是处理交错的图像-文本序列,支持少样本学习。Flamingo的架构比LLaVA和BLIP-2都更复杂,但也更强大。
Flamingo的核心组件是Perceiver Resampler,它借鉴了Perceiver架构的思想:用一组固定数量的潜在向量$Z \in \mathbb{R}^{L \times d}$作为查询,通过交叉注意力从变长的视觉特征中提取信息:
$$Z' = \text{LayerNorm}(Z + \text{CrossAttn}(Z, X_v, X_v))$$$$Z'' = \text{LayerNorm}(Z' + \text{FFN}(Z'))$$其中$X_v$是视觉编码器输出的特征,$L$是输出token数量(论文中设为64)。这种设计允许模型处理任意数量的输入图像,同时保持输出维度不变。
Flamingo的另一个创新是门控交叉注意力(Gated Cross-Attention)。在冻结的预训练语言模型中插入新的交叉注意力层时,用tanh门控机制:
$$\text{output} = \text{input} + \tanh(\alpha) \cdot \text{CrossAttn}(\text{input}, Z, Z)$$其中$\alpha$是一个可学习的标量,初始化为0。这样,模型在初始化时完全等价于原始语言模型,避免了训练初期的输出崩溃。
Flamingo证明了少样本学习的威力:在COCO数据集上,只用32个示例,Flamingo-80B的性能就超过了在50万样本上微调的专用模型。这个结果展示了大规模预训练模型的泛化潜力。
视觉编码器的进化:从ViT到动态分辨率
多模态大模型的性能很大程度上取决于视觉编码器的质量。CLIP使用的是ViT-L/14,将图像分割成14×14像素的patch,总patch数量取决于输入分辨率。但ViT的固定分辨率设计在处理高分辨率图像时遇到了瓶颈。
分辨率困境
标准的ViT将输入图像resize到固定尺寸(如224×224或336×336),然后分割成固定大小的patch。这种设计有两个问题:
第一,信息损失。一张4K分辨率的图像被压缩到336×336后,细节几乎完全丢失。对于OCR、细粒度识别等任务,这是致命的。
第二,长宽比扭曲。将非正方形图像强行resize为正方形会导致严重的几何变形,影响模型对物体位置和比例的理解。
LLaVA-HD的多尺度策略
LLaVA-1.5-HD提出了一种简单但有效的解决方案:将大图像分割成多个336×336的patch,分别编码后拼接。同时保留一个下采样的全局视图,提供整体上下文。
具体实现中,输入图像首先被缩放到最接近的合适尺寸,然后分割成若干个336×336的patch。每个patch独立通过CLIP编码,输出特征被拼接成一个序列。为了保留全局信息,还会生成一个缩略图(336×336),其特征作为"全局token"放在序列开头。
这种方法的代价是增加了视觉token数量——一张1024×1024的图像可能产生数百个token,远高于原来的256个。但对于现代语言模型来说,这点增加完全可以接受。
InternVL的动态分辨率策略
2024年发布的InternVL 1.5提出了一种更精细的动态分辨率策略。它不再强制将图像分割成固定大小的patch,而是根据图像的实际长宽比和分辨率,动态选择最优的分割方案。
InternVL使用448×448作为基础分辨率,根据输入图像的长宽比,将其分割成1到12个不等数量的tile。每个tile独立编码,然后通过pixel unshuffle操作进一步降低分辨率。
Pixel unshuffle是一种空间到通道的重排操作:将$H \times W \times C$的特征图重排为$H/s \times W/s \times Cs^2$,其中$s$是缩小因子。这种操作不丢失任何信息,只是改变了特征的形状。
InternVL 2.5进一步将tile数量上限提升到40,能够处理高达4K分辨率的图像。这种能力对于文档理解、医学影像分析等专业领域至关重要。
模态对齐的深层挑战
架构设计只是问题的一部分。真正让多模态大模型"理解"图像,还需要解决一系列深层的技术挑战。
视觉token的数量爆炸
ViT-L/14在336×336分辨率下输出576个token(24×24个patch),在224×224分辨率下输出256个token。对于语言模型来说,这个数量是可以接受的。但当分辨率提升到448×448或更高时,视觉token数量可能超过1000,这不仅增加了计算成本,还可能导致注意力机制的"稀释"——文本token需要关注的视觉token太多了。
Flamingo的Perceiver Resampler通过压缩到固定数量的token(64个)来解决这个问题。但压缩意味着信息损失——64个token能否保留足够丰富的视觉细节?
研究表明,不同任务对视觉token数量的需求差异很大。简单的图像描述任务可能只需要32个token,而OCR和细粒度识别可能需要256个甚至更多。这是一个需要根据具体应用场景权衡的设计选择。
训练数据的质量瓶颈
多模态大模型的性能高度依赖于训练数据的质量。CLIP使用4亿对网络图文对,但这些数据存在明显的质量问题:文本描述可能过于简短、不准确,甚至与图像内容完全不相关。
LLaVA团队发现,用GPT-4生成的数据比直接使用网络爬取的数据效果好得多。这揭示了一个重要原则:训练数据的质量远比数量重要。后来的工作如ShareGPT4V、ALLaVA等,都采用了类似的数据生成策略。
数据过滤也是一个关键环节。BLIP论文提出了一种基于图像-文本匹配分数的过滤方法,只保留语义一致性高的配对。LAION数据集则使用CLIP分数进行过滤,并提供了多种预过滤版本供研究者选择。
跨模态迁移的知识衰减
一个潜在的问题是:在视觉指令微调过程中,语言模型原本的语言能力是否会退化?
LLaVA-1.5的解决方案是在训练数据中混入纯文本指令数据(约4万条)。这些数据来自ShareGPT,包含多轮对话、代码生成、数学推理等多种任务。实验表明,这种混合策略能够有效保持语言模型的能力,甚至在某些纯文本任务上还有所提升。
另一个角度的解决方案是参数高效微调(PEFT)。LLaVA在第一阶段只训练投影层,第二阶段才解冻语言模型。这种策略保留了预训练知识,同时赋予模型视觉理解能力。
性能对比与技术趋势
截至2025年初,开源多模态大模型已经取得了显著进展。下表展示了几个代表性模型在关键基准上的性能对比:
| 模型 | 视觉编码器 | LLM | VQAv2 | GQA | TextVQA | MMMU |
|---|---|---|---|---|---|---|
| LLaVA-1.5-7B | CLIP ViT-L/14-336 | Vicuna-7B | 78.5 | 62.0 | 58.2 | 36.4 |
| LLaVA-1.5-13B | CLIP ViT-L/14-336 | Vicuna-13B | 80.0 | 63.3 | 61.3 | 36.2 |
| InternVL2-8B | InternViT-300M | Qwen2-7B | 82.3 | 68.0 | 73.5 | 51.8 |
| InternVL2.5-78B | InternViT-6B | Qwen2.5-72B | 88.6 | 76.2 | 82.4 | 70.1 |
可以看到,InternVL系列模型在各项基准上都显著领先于LLaVA-1.5。这种领先来自多个因素的综合作用:更强的视觉编码器(InternViT专门为多模态任务设计)、更大的语言模型、更高质量的训练数据、以及动态分辨率策略。
特别值得注意的是MMMU基准——这是一个测试多模态多领域理解能力的综合基准,涵盖艺术、工程、管理、医学等多个学科。InternVL2.5-78B在这个基准上首次突破了70%大关,达到了与GPT-4V相当的水平。
未来方向与开放问题
多模态大模型的演进远未结束。几个关键的技术方向仍在快速发展:
视频理解。现有模型大多专注于静态图像,但真实世界的信息大量以视频形式存在。视频理解的挑战在于:如何高效编码时序信息?如何在有限的上下文窗口中处理长视频?如何理解动作和因果关系?
多模态生成。理解只是第一步,更高级的能力是多模态生成——能够生成图像、视频、音频等多种模态的内容。这需要模型具备跨模态的生成能力,目前的进展还比较有限。
统一架构。当前的多模态模型大多是"拼接"架构——视觉编码器和语言模型的组合。一个根本性的问题是:是否存在一种统一的架构,能够原生地处理所有模态,而不需要额外的对齐模块?
效率与规模的平衡。InternVL2.5-78B的性能确实惊人,但78B参数的部署成本极高。如何在保持性能的同时降低模型规模,是一个重要的工程问题。
从CLIP到LLaVA到InternVL,多模态大模型的五年演进展示了AI领域的典型发展模式:从一个简单的想法出发,经过架构创新、数据工程、训练策略的多轮迭代,最终形成强大的实用系统。这个领域的技术进步速度令人印象深刻,而更激动人心的是,我们可能只是站在了变革的起点。
参考文献
- Radford, A., et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. ICML 2021.
- Liu, H., et al. (2023). Visual Instruction Tuning. NeurIPS 2023.
- Liu, H., et al. (2024). Improved Baselines with Visual Instruction Tuning. CVPR 2024.
- Li, J., et al. (2023). BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models. ICML 2023.
- Alayrac, J.B., et al. (2022). Flamingo: a Visual Language Model for Few-Shot Learning. NeurIPS 2022.
- Chen, Z., et al. (2024). How Far Are We to GPT-4V? Closing the Gap to Commercial Multimodal Models with Open-Source Suites. arXiv:2404.16821.
- Chen, Z., et al. (2024). Expanding Performance Boundaries of Open-Source Multimodal Models with Model, Data, and Test-Time Scaling. arXiv:2412.05271.
- Dosovitskiy, A., et al. (2021). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR 2021.
- Jaegle, A., et al. (2021). Perceiver: General Perception with Iterative Attention. ICML 2021.
- Schuhmann, C., et al. (2021). LAION-400M: Open Dataset of CLIP-Filtered 400 Million Image-Text Pairs. NeurIPS 2021 Datasets Track.