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领域的典型发展模式:从一个简单的想法出发,经过架构创新、数据工程、训练策略的多轮迭代,最终形成强大的实用系统。这个领域的技术进步速度令人印象深刻,而更激动人心的是,我们可能只是站在了变革的起点。

参考文献

  1. Radford, A., et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. ICML 2021.
  2. Liu, H., et al. (2023). Visual Instruction Tuning. NeurIPS 2023.
  3. Liu, H., et al. (2024). Improved Baselines with Visual Instruction Tuning. CVPR 2024.
  4. Li, J., et al. (2023). BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models. ICML 2023.
  5. Alayrac, J.B., et al. (2022). Flamingo: a Visual Language Model for Few-Shot Learning. NeurIPS 2022.
  6. 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.
  7. Chen, Z., et al. (2024). Expanding Performance Boundaries of Open-Source Multimodal Models with Model, Data, and Test-Time Scaling. arXiv:2412.05271.
  8. Dosovitskiy, A., et al. (2021). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR 2021.
  9. Jaegle, A., et al. (2021). Perceiver: General Perception with Iterative Attention. ICML 2021.
  10. Schuhmann, C., et al. (2021). LAION-400M: Open Dataset of CLIP-Filtered 400 Million Image-Text Pairs. NeurIPS 2021 Datasets Track.