ESC
输入关键词搜索文章
目录

LLaVA

NeurIPS 2023 · UW / Microsoft
极简架构 + GPT-4 数据,确立 MLLM 基础范式
158KGPT-4 生成指令数据
MLP连接器设计
3数据类型
VicunaLLM 基座
问题
多模态模型为什么不能"像人一样对话"?

BLIP-2 和 Flamingo 解决了"如何让冻结 LLM 理解图像"的问题,但它们的交互方式仍是任务特异的——VQA 就回答问题,captioning 就生成描述。用户需要针对不同任务使用不同的 prompt 模板。

与此同时,NLP 领域的 instruction tuning 已经证明了:用多样化的指令数据微调 LLM,可以让模型学会按人的意图行动,而非机械地完成单一任务。InstructGPT、ChatGPT 都是这条路线的成功案例。

LLaVA 问了一个简单的问题:能不能把 instruction tuning 扩展到多模态空间?让模型不仅能看图说话,还能根据用户的自然语言指令完成各种视觉任务——描述、推理、比较、分析。

核心思想
极简架构:为什么 MLP 就够了?

LLaVA 的架构简单到令人惊讶:

CLIP ViT-L/14(冻结)→ 简单线性层 / MLP(可训练)→ Vicuna LLM(可训练)

没有 Q-Former 的信息瓶颈,没有 Perceiver Resampler 的 learned queries,没有 Gated XAttn 的复杂注入机制。就是一个 MLP。

为什么这么简单还能工作?

答案在数据。LLaVA 的核心创新不在于架构,而在于训练数据。当数据质量足够好(GPT-4 生成)、LLM 足够强(Vicuna)时,复杂的连接器设计是多余的——MLP 足以把 CLIP 的视觉特征投影到 LLM 的语义空间。

反直觉发现:LLaVA 的简单 MLP 连接器在很多任务上表现优异,说明连接器复杂度不是瓶颈——数据质量和 LLM 能力更关键。这个发现直接影响了后续几乎所有 MLLM 的设计选择:大家都用简单投影层,不再追求复杂的桥接模块。

两阶段训练

Stage 1: 预训练对齐。用 CC3M 的 595K 图文对训练 MLP 连接器,冻结 ViT 和 LLM。目标是让 MLP 学会把 CLIP 视觉特征"翻译"成 LLM 能理解的 embedding。

Stage 2: 指令微调。解冻 LLM,用 GPT-4 生成的 158K 多模态指令数据训练。目标是让模型学会根据用户指令完成各种视觉任务。

数据
GPT-4 当老师:自动生成多模态指令数据

LLaVA 最核心的贡献是数据生成方法论。用纯语言的 GPT-4 将 COCO 的 image-text pairs 转化为多模态指令跟随数据:

类型数量描述
Conversation58K多轮对话,关于图像内容
Detail Description23K详细描述图像内容
Complex Reasoning77K需要逻辑推理的问题

这个方法的巧妙之处在于:GPT-4 虽然看不见图,但它能根据图像的文本描述(COCO caption)生成合理的"关于这张图的对话"。生成的数据质量远高于 web 爬取的噪声数据,且覆盖了从简单描述到复杂推理的多种能力层级。

这个范式——用强 LLM 生成训练数据来训练多模态模型——成为了后续几乎所有 MLLM 的标准操作。LLaVA-NeXT、InstructBLIP、Qwen-VL 等都沿用了这条路线。

实验
与 SOTA 的对比

ScienceQA(多模态科学问答)

LLaVA-13B 在 ScienceQA 上达到了 92.53% 的准确率,在此数据集上首次超越了人类的 88.48%。

指令跟随能力

LLaVA 在 GPT-4 评分的指令跟随评估中表现强劲,证明模型确实学会了"按人的意图行动",而非机械地回答问题。

消融实验

  • MLP > Linear:两层的 MLP 连接器比单层线性层更好,但更深的 MLP 没有额外收益。
  • GPT-4 数据 > COCO 原始数据:用 GPT-4 生成的指令数据训练,比直接用 COCO caption 训练效果显著更好。
  • 推理数据最有价值:77K Complex Reasoning 数据对模型能力的提升最大。
定位
在 VLP 演进中的角色

LLaVA 的贡献不在于架构创新(MLP 是最简单的连接器),而在于范式的确立

  1. CLIP encoder + 投影层 + LLM 成为了 MLLM 的标准架构。后续的 LLaVA-NeXT、InternVL、Qwen-VL 等几乎都沿用了这个范式。
  2. 用强 LLM 生成训练数据 成为标准的数据工程方法。
  3. 指令微调 成为多模态模型的标配训练步骤。

LLaVA 与 BLIP-2 的对比揭示了一个深层规律:BLIP-2 用精心设计的 Q-Former 来弥补弱 LLM 的不足;LLaVA 用强 LLM(Vicuna)来弥补简单连接器的不足。两个方向都能工作,但 LLaVA 的路线更简单、更可扩展——因为 LLM 的进步速度远快于连接器设计的进步。

补强 · 机制图解
LLaVA 的重点不是连接器,而是数据范式
图 1:LLaVA 的重点不是连接器,而是数据范式(代码绘制)
图 1:LLaVA 的重点不是连接器,而是数据范式(代码绘制)

LLaVA 最反直觉的地方是连接器极其简单。与 Q-Former、Perceiver Resampler 相比,MLP projector 几乎没有结构设计。它只是把 CLIP 视觉特征映射到 Vicuna 的 embedding 空间。但这件事能工作,说明瓶颈已经从“如何设计复杂连接器”转移到“如何获得高质量多模态指令数据”。GPT-4 在这里扮演教师。它虽然不能直接看图,但可以基于 COCO caption 和 region description 生成围绕图像的多轮问答、详细描述和复杂推理。最终 158K 数据中,Conversation 58K,Detail Description 23K,Complex Reasoning 77K。推理数据尤其重要,因为它让模型不止复述可见对象,还学会根据视觉线索组织答案。

图 2:关键数据或机制展开(代码绘制)
图 2:关键数据或机制展开(代码绘制)
graph LR
  A[输入] --> B[核心模块]
  B --> C[对齐 / 压缩 / 训练]
  C --> D[下游能力]
  D --> E[实验验证]
图 3:关键结果摘要(代码绘制)
图 3:关键结果摘要(代码绘制)
补强 · 读法
LLaVA 改变了多模态模型的工程重心

LLaVA 之前,很多工作把精力放在如何设计视觉语言连接器上。LLaVA 的实验给出一个很务实的判断:在强视觉编码器和强 LLM 已经存在的前提下,连接器只要完成基本坐标变换即可,真正决定模型“像不像助手”的,是指令数据。

这也是为什么 GPT-4 生成数据如此重要。传统 caption 数据只告诉模型“图里有什么”,指令数据则告诉模型“用户可能怎么问、应该怎么答、如何解释、如何推理”。从这个角度看,LLaVA 不是把图像接进 LLM 这么简单,而是把多模态任务重新组织成对话式监督。

当然,LLaVA 的极简路线也有代价。CLIP 视觉特征分辨率有限,细粒度 OCR、复杂空间关系和小物体识别容易成为短板。后续 LLaVA-NeXT 等工作通过更高分辨率、多图输入、更强数据和更细视觉 token 来弥补这些问题。但基础范式已经由 LLaVA 确立。

论文原图更新
从 arXiv HTML 提取 LLaVA 原始图
LLaVA architecture 原图
图 A:LLaVA 架构原图,展示 Vision Encoder、Projection W、LLM、视觉输入与语言指令的连接关系(来源:LLaVA arXiv HTML Fig.1;MiniMax MCP 已辅助理解)
LLaVA example 原图
图 B:LLaVA 多模态指令示例原图,用于展示图像输入与语言指令如何共同驱动回答(来源:LLaVA arXiv HTML)

MiniMax 对图 A 的理解确认:图像输入 \(X_v\) 经 Vision Encoder 得到 \(Z_v\),再经 Projection \(W\) 得到 \(H_v\);语言指令 \(X_q\) 变成 \(H_q\),二者共同输入语言模型 \(f_\phi\),生成回答 \(X_a\)。图中没有明确冻结状态,也没有展示 projector 在后续版本中可能是 MLP,这是正文需要补充说明的地方。

参考来源