跳转至

LLaVA - 把 GPT-4 生成的视觉指令变成开源多模态助手

2023 年 4 月 17 日,Haotian Liu、Chunyuan Li、Qingyang Wu、Yong Jae Lee 四位作者把 arXiv:2304.08485 上传到 arXiv,标题很朴素:Visual Instruction Tuning。 这篇 NeurIPS 2023 Oral 没有训练一个从头开始的视觉大模型,而是把 CLIP ViT-L/14 的图像 token 通过一个线性投影接到 Vicuna,再让 GPT-4 根据 COCO caption 与检测框合成 158K 条视觉指令数据。它真正打开的门是:在 GPT-4V 尚未公开、闭源多模态能力只能观看 demo 的 2023 年春天,开源社区第一次有了一个能自己跑、自己改、自己评测的多模态 ChatGPT 雏形。

一句话总结

Liu、Li、Wu、Lee 四位作者 2023 年在 NeurIPS Oral 发表的 LLaVA,把多模态助手问题改写成一个极简的视觉指令微调问题:冻结 CLIP ViT-L/14 和 Vicuna/LLaMA,只学习一个投影 \(Z_v = W\,\mathrm{CLIP}(I)\),再用 GPT-4 根据 caption、检测框和图像上下文生成 conversation / detail description / complex reasoning 三类 158K 指令数据,用自回归损失 \(\mathcal{L}=-\sum_t\log p(y_t\mid y_{<t}, Z_v, x)\) 对齐图像 token 与语言 token。它替代的不是某个单一模型,而是 2022 年前后的三类失败 baseline:caption/VQA 系统只能回答窄任务,Flamingo/BLIP-2 能连接视觉和语言却不开源或不够会聊天,MiniGPT-4 展示了聊天能力但指令规模和评测体系都太薄。LLaVA 的关键数字很直接:595K 图文对做预对齐,158K 视觉指令做微调,在多模态聊天评测中达到 GPT-4 约 85.1% 的相对分数,并在 ScienceQA 上与 GPT-4 协同达到 92.53%。它继承 LLaMA (2023) 的开源语言底座,也把后来的 InstructBLIP、Qwen-VL、LLaVA-1.5、LLaVA-NeXT、GPT-4V 时代开源 MLLM 评测文化串了起来;反直觉 lesson 是:2023 年多模态助手的第一道门槛不是更复杂的跨模态架构,而是把足够像“人会怎样问图像”的指令数据喂给一个已经很强的 LLM。


历史背景

2023 年春天,多模态能力还在玻璃后面

2023 年 3 月 GPT-4 技术报告发布时,最让研究者眼热的不是文本成绩,而是报告里那几页多模态例子:识别梗图、解释图表、读草图、从手写网站草图生成 HTML。问题是,GPT-4 的图像输入当时并没有开放给普通研究者;OpenAI 展示了能力,却没有给出权重、API 或可复现实验。对学术界来说,这等于把“多模态 ChatGPT”这个方向钉在了墙上,但玻璃门还没打开。

同一时间,语言模型一侧刚发生巨变。LLaMA 在 2023 年 2 月发布,3 月权重泄露,Vicuna、Alpaca 等指令微调模型迅速出现。开源社区第一次有了一个足够强、足够便宜、足够可改的对话底座。视觉侧也不缺材料:CLIP 已经证明图像和文本可以在同一语义空间中对齐,BLIP-2 证明冻结视觉编码器和冻结大语言模型之间可以用一个小模块打通。真正缺的是第三块拼图:怎样让语言模型不仅“看见”图像,而且用人类对话的方式围绕图像回答问题、解释细节、推理关系。

LLaVA 的历史位置就在这个缝隙里。它不是第一个把图像接到 LLM 的工作,也不是第一个视觉问答模型;它的关键是把“instruction tuning”这个 ChatGPT 之后最有效的语言模型驯化手段,第一次系统地迁移到视觉语言场景。换句话说,LLaVA 不是在问“图像特征怎样更好”,而是在问“如果 GPT-4 是一个老师,它能不能把看图说话这件事教给一个开源学生”。

直接前序:从 CLIP 到 BLIP-2,再到 Vicuna

LLaVA 站在三条线的交叉处。第一条线是 CLIP。Radford 等作者 2021 年证明,大规模图文对比学习可以产出一个强视觉编码器,图像不再只是 CNN 分类器的输入,而是可以映射到接近自然语言概念的表示空间。LLaVA 直接使用 CLIP ViT-L/14,把它当作“眼睛”,没有重新训练视觉 backbone。

第二条线是 Flamingo 与 BLIP-2。Flamingo 2022 年通过 Perceiver Resampler 和 cross-attention 把视觉 token 接入冻结语言模型,少样本视觉语言能力很强,但系统闭源、训练成本高、实现复杂。BLIP-2 2023 年用 Q-Former 在冻结图像编码器和冻结 LLM 中间做桥接,进一步降低训练成本。它们共同证明:不必从头训练一个巨大多模态模型,只要找到合适的连接器,视觉和语言可以在冻结基础模型之间流动。

第三条线是 LLaMA/Vicuna。LLaMA 给出开源 base,Vicuna 用 ShareGPT 对话数据把它变成更像 ChatGPT 的聊天模型。LLaVA 选 Vicuna 作为语言端,不是偶然:它已经学会了多轮对话、礼貌解释、指令遵循。这样视觉侧只需要把图像压成一串“语言模型能消化的软 token”,而不是重新教模型怎样说话。

作者团队与问题判断

Haotian Liu 与 Yong Jae Lee 来自 UW-Madison,长期关注视觉理解、开放词汇识别和具身/交互式视觉系统;Chunyuan Li 在 Microsoft Research 做视觉语言预训练与多模态基础模型;Qingyang Wu 参与了语言模型与视觉问答交叉方向。这个组合很关键:他们既理解 CLIP/BLIP 这类视觉语言预训练,也敏感于 ChatGPT 之后 instruction tuning 的产品冲击。

论文的判断非常冷静:如果目标是做一个可复现的多模态助手,那么 2023 年最稀缺的资源不是新 backbone,而是高质量、对话式、视觉依赖的指令数据。真实人工标注太慢,闭源 GPT-4V 不可用,普通 caption 又太浅;于是作者用 GPT-4 作为文本教师,把 COCO 图像的 captions 和 object boxes 转写成三类数据:多轮对话、详细描述、复杂推理。GPT-4 本身并没有看图,但它读到了图像的文字代理,因此能生成比普通模板更自然的问答。

这一步在当时有一点“借火”的味道:闭源模型掌握了强语言和推理能力,开源模型掌握了可改可跑的部署空间,LLaVA 用 GPT-4 生成的数据把两者接起来。它既承认闭源模型的能力优势,又把这种优势蒸馏成开源社区可以继续迭代的训练集和代码。

研究背景与动机

领域现状:视觉语言模型会看,但不太会聊

到 2023 年初,视觉语言模型已经能做很多单点任务。图像描述模型会生成 caption,VQA 模型会回答短问题,OCR/VQA 系统会读文字,CLIP 会做零样本分类,BLIP-2 能把图像接到 LLM 上。但这些能力常常被任务边界切碎:一个模型擅长一句 caption,另一个模型擅长选择题,第三个模型擅长检索。它们不像 ChatGPT 那样接受开放指令、追问上下文、解释原因、承认不确定性。

另一方面,ChatGPT 让所有人看到 instruction tuning 的威力:同一个 base LM,只要经过高质量对话和人类偏好数据,就会从“续写器”变成“助手”。LLaVA 的动机就是把这件事搬到视觉语言上:让模型的输入不再只是文本 instruction,而是“图像 + instruction”;让输出不再只是标签或短答案,而是自然语言助手式回答。

核心矛盾:视觉对齐容易,视觉指令难

把 CLIP 图像特征投到 LLM embedding 空间并不难,难的是让模型知道什么时候必须依赖图像、怎样引用视觉证据、怎样在多轮对话中保持同一张图的上下文。传统图文对训练可以学到“这张图大概是什么”,但学不到“用户问这个局部对象为什么奇怪时该如何解释”。这就是视觉 instruction tuning 的必要性。

LLaVA 的研究问题可以压缩成一句话:能否用一个便宜的连接器 + GPT-4 合成视觉指令数据,把开源 LLM 变成可用的多模态助手? 这个问题的答案如果是肯定的,后果很大:多模态助手研究就不再被 GPT-4V、Gemini 这类闭源系统锁住;任何实验室都可以复现、改数据、换 LLM、换视觉编码器、做评测。

目标:先做可复现的 ChatGPT-for-images

LLaVA 没有试图一次性解决所有多模态问题。它不追求视频,不追求高分辨率文档 OCR,不追求复杂 grounding,也不做端到端视觉 backbone 训练。它的目标更像一个最小可行系统:用现成的 CLIP 作为眼睛,用现成的 Vicuna 作为大脑,用一个线性层作为神经接口,再用 GPT-4 生成视觉指令作为训练环境。

这种取舍看似保守,实际很锋利。因为它把研究社区最难复现的部分全部避开了:不用私有图像数据,不用千卡训练,不用闭源模型推理时参与,只在数据生成阶段借用 GPT-4。最终发布的是代码、模型、数据配方和评测方式。这套配方足够简单,才会在 2023 年被快速复制成 MiniGPT-4、InstructBLIP、Qwen-VL、LLaVA-1.5 以及一长串开源 MLLM。


方法详解

LLaVA 的方法非常像一个“最小可用多模态助手”的工程答案:不重新训练视觉 encoder,不重新训练语言模型,不设计复杂 cross-attention 堆栈,只把图像特征投到语言模型的 embedding 空间,再用视觉指令数据让 LLM 学会把这些 token 当成对话上下文。它的简洁不是因为问题简单,而是因为 2023 年最有价值的实验是证明:多模态助手能力可以由开源 LLM + 冻结视觉 encoder + 合成指令数据引导出来。

整体架构

LLaVA 的网络由三块组成:CLIP ViT-L/14 视觉编码器、可训练线性投影层、Vicuna/LLaMA 语言模型。图像先被 CLIP 切成 patch token 并编码成视觉序列,投影层把视觉维度映射到 LLM embedding 维度,最后把这些视觉 token 插入到文本 prompt 前后,让语言模型按普通自回归方式生成答案。

Image I
  -> CLIP ViT-L/14 visual encoder (frozen)
  -> visual patch features V
  -> linear projector W (trainable)
  -> visual tokens Z_v in LLM embedding space
  -> concatenate with instruction tokens x
  -> Vicuna/LLaMA decoder (mostly frozen in pre-alignment, tuned in instruction stage)
  -> assistant answer y

这张图看起来“太简单”,正是 LLaVA 的力量。相比 Flamingo 的 Perceiver Resampler + cross-attention,LLaVA 不在 LLM 内部插新模块;相比 BLIP-2 的 Q-Former,LLaVA 不额外训练一个查询 transformer;相比端到端多模态模型,它也不碰视觉 backbone。它把复杂度尽量压到一个矩阵 \(W\) 和一套数据流程上。

模块 具体选择 是否训练 作用
视觉 encoder CLIP ViT-L/14 冻结 提供强图文语义先验
连接器 线性投影 \(W\) 训练 把视觉特征映射到 LLM token 空间
语言模型 Vicuna / LLaMA 指令阶段微调 负责对话、推理、自然语言生成
数据教师 GPT-4 不部署 合成视觉指令和回答

核心公式可以写成两步。视觉特征先被投影:

\[ Z_v = W \cdot f_{\mathrm{CLIP}}(I), \qquad Z_v \in \mathbb{R}^{n_v \times d_{\mathrm{LLM}}}. \]

随后语言模型在图像 token 与文本 instruction 条件下做标准 next-token prediction:

\[ \mathcal{L} = -\sum_{t=1}^{T} \log p_\theta(y_t \mid y_{<t}, Z_v, x). \]

关键设计 1:用 GPT-4 合成视觉指令,而不是人工穷举

LLaVA 最重要的贡献不是线性投影,而是数据生成范式。作者从 COCO 图像出发,拿到 caption 和 object boxes,把这些文本代理喂给 GPT-4,请它生成三类视觉指令:conversation(多轮日常问答)、detailed description(详细描述)、complex reasoning(需要关系推理的问题)。GPT-4 不直接看图,却能根据 caption 和检测框写出比模板更像人类的问题。

这解决了一个实际瓶颈:如果人工写 158K 条视觉对话,成本高、速度慢、覆盖面窄;如果用模板,语言太死,训练出来的模型会像 VQA 分类器。GPT-4 合成让数据同时有规模、多样性和对话风格。它也把闭源模型的语言能力转化成开源模型的训练材料。

数据类型 目标能力 GPT-4 输入 训练信号
Conversation 多轮互动 caption + boxes 追问、确认、上下文保持
Detailed description 细粒度描述 caption + boxes 场景组织、属性展开
Complex reasoning 关系推理 caption + boxes 因果、空间关系、常识解释
ScienceQA 选择题推理 图像 + 问题 + 选项 学科知识与视觉证据结合

反直觉点在这里:LLaVA 的教师 GPT-4 在数据生成时并没有图像输入。它只看到文本化的图像代理。按直觉这会限制视觉细节,但从 instruction tuning 角度看,它已经足够教会学生“视觉问题应当怎样被问和怎样被回答”。真正的像素细节由 CLIP token 在训练时补上。

关键设计 2:两阶段训练把“对齐”和“会聊”拆开

LLaVA 使用两阶段训练。第一阶段是 feature alignment:用约 595K 个图文对,让投影层学会把 CLIP patch features 放到 LLM embedding 空间中。这个阶段更像翻译接口校准,目标是让视觉 token 不至于成为语言模型的噪声。第二阶段是 visual instruction tuning:用 158K GPT-4 生成的指令数据微调模型,让它学会根据图像回答开放问题。

这种拆分很重要。如果一开始就用复杂指令训练,模型可能同时在学“图像 token 是什么”和“对话格式是什么”,优化信号混在一起。先做 alignment,相当于把视觉特征接上线;再做 instruction tuning,才教它如何在聊天中使用这条线。

阶段 数据规模 更新参数 学到什么
Feature alignment 约 595K 图文对 主要更新投影层 视觉 token 与语言 embedding 对齐
Visual instruction tuning 约 158K 指令 投影层 + LLM 微调 多轮问答、描述、推理

关键设计 3:线性投影的“够用主义”

在 LLaVA 之前,很多视觉语言系统倾向于设计复杂连接器:cross-attention、Q-Former、resampler、多层 MLP。LLaVA 的连接器只有一个线性层。这个选择不是说线性层永远最优,而是说明在 CLIP 和 Vicuna 都足够强的情况下,连接器的首要任务不是重新理解图像,而是把两个已经有语义结构的空间对齐。

从参数效率看,线性投影非常便宜;从工程复现看,它几乎没有隐藏超参;从社区扩散看,它让替换 LLM 或视觉 encoder 变得容易。后来的 LLaVA-1.5 会把连接器换成两层 MLP,并在数据和高分辨率上补强,但原始 LLaVA 的线性层证明了一个下界:即便最简单的 connector,也能产出可用的多模态助手。

连接方式 代表工作 优点 代价
Cross-attention Flamingo 表达力强,少样本好 结构侵入、训练昂贵
Q-Former BLIP-2 压缩视觉 token,训练稳定 额外 transformer 与阶段设计
Linear projector LLaVA 简单、便宜、易复现 细粒度 grounding 有上限
MLP projector LLaVA-1.5 更强非线性对齐 参数与调参略增

关键设计 4:评测不只看 VQA 分数,而看助手行为

LLaVA 引入或强化了一个评价视角:多模态模型不能只在 VQA/Caption 上得分,还要像助手一样回答开放问题。论文构造了基于 GPT-4 评价的 multimodal chat benchmark,把模型回答与 GPT-4 参考比较,得到相对分数;同时在 ScienceQA 上验证更传统的选择题推理能力。

这种评测后来有争议,因为 GPT-4 作为 judge 会带来偏好和可重复性问题。但在 2023 年,它很有现实意义:传统指标无法衡量“这个回答是否像一个有用助手”,人工评测又太慢。LLaVA 先用 GPT-4 judge 搭起了一个粗糙但可扩展的评测棚架,后续的 LLaVA-Bench、MME、MMBench、MMMU、HallusionBench 等才逐渐把这件事系统化。

def train_llava(images, instructions, answers, clip, projector, llm):
    for image, instruction, answer in zip(images, instructions, answers):
        with torch.no_grad():
            visual_features = clip.encode_image(image)
        visual_tokens = projector(visual_features)
        prompt_tokens = llm.tokenize(instruction)
        inputs = concat_visual_and_text(visual_tokens, prompt_tokens)
        target_tokens = llm.tokenize(answer)
        loss = autoregressive_cross_entropy(llm(inputs, target_tokens), target_tokens)
        loss.backward()
        optimizer.step()
        optimizer.zero_grad()

这段伪代码刻意朴素:LLaVA 的秘诀不是某一行魔法算子,而是把 frozen vision、open LLM、synthetic instruction data 和 assistant-style evaluation 放到同一个闭环里。它让多模态系统第一次像 LLM instruction tuning 一样被社区快速迭代。


失败案例

LLaVA 的“失败案例”不是论文里某个被打败的单一算法,而是 2023 年前多模态系统的四种不完整路线。它们各自解决了问题的一部分,却没有同时满足“能看图、会对话、可复现、能开放评测”这四个条件。

Caption / VQA 系统:答案对,但不像助手

传统 image captioning 和 VQA 系统能把图像转成一句描述,或对短问题给出一个词、一句话、一个选项。这类模型在 COCO Caption、VQAv2、OK-VQA 上有明确指标,但它们的交互形态很窄:用户必须问对格式,模型很少主动解释,也不擅长多轮追问。它们像视觉任务求解器,不像多模态助手。

这类 baseline 的失败是产品形态失败。ChatGPT 之后,用户期待的是“我可以指着图问任何事”,而不是“请把问题改写成 VQA 数据集的格式”。LLaVA 用视觉指令数据直接训练开放问答、描述和推理,把输出从短答案推向 assistant response。

Flamingo / BLIP-2:连接成功,但离开源助手还有距离

Flamingo 证明了冻结 LLM 和视觉 encoder 可以通过跨注意力连接,few-shot 视觉语言能力很强。但它闭源,训练代价高,社区无法复现。BLIP-2 进一步降低训练成本,用 Q-Former 把图像压给 LLM,但它的主要评测仍偏 caption/VQA,不是 ChatGPT 式开放对话。

换句话说,这条线解决了“视觉怎样进入语言模型”,却没有完全解决“语言模型怎样被训练成视觉助手”。LLaVA 把连接器简化,并把重心挪到 visual instruction tuning,使系统更像 LLM 社区熟悉的指令微调流程。

MiniGPT-4:demo 很强,但数据和评测太薄

MiniGPT-4 与 LLaVA 几乎同期出现,也把视觉 encoder 接到 Vicuna 上,展示了令人印象深刻的聊天 demo。问题在于,早期 MiniGPT-4 更多依赖小规模高质量对齐数据和演示案例,缺少 LLaVA 那样系统化的 158K 指令生成流程,也缺少围绕 GPT-4 judge 和 ScienceQA 的定量评测。

这不是说 MiniGPT-4 不重要;它证明了方向有戏。但 LLaVA 更像把 demo 变成了研究管线:数据怎么来、训练怎么分阶段、benchmark 怎么设、代码和模型怎么放出。后续社区更容易把 LLaVA 当 baseline,是因为它的实验接口更完整。

直接等待 GPT-4V:能力强,但研究不可控

2023 年春天最强的多模态能力显然在闭源模型里。直接用 GPT-4V 或等待商业 API,短期产品效果可能更好,但对学术研究没有解决核心问题:不能看权重,不能改数据,不能复现实验,不能系统性消融,也无法知道失败来自视觉 encoder、语言模型、对齐数据还是安全策略。

LLaVA 的价值恰恰在于把能力从“只能访问”变成“可以改造”。哪怕它的绝对能力不如闭源 GPT-4V,它也给研究者一块可以拆开的多模态助手主板。

失败路线 看图能力 对话能力 可复现性 LLaVA 的修正
Caption/VQA 中等到强 弱,任务格式固定 用 instruction tuning 训练开放回答
Flamingo/BLIP-2 中等,偏任务评测 Flamingo 低,BLIP-2 中 简化连接器,转向助手式数据
MiniGPT-4 中等到强 强 demo 扩大和系统化视觉指令数据
GPT-4V 等闭源系统 很强 很强 发布开源可消融 baseline

实验关键数据

LLaVA 的实验不是靠一张巨大的 SOTA 表取胜,而是靠三组数字支撑论点:数据规模足够大、开放聊天评测能接近 GPT-4、传统 ScienceQA 上也能给出强结果。

数据规模与训练设置

论文使用约 595K 个图文对进行 feature alignment,再用 158K 条 GPT-4 生成视觉指令做 instruction tuning。这 158K 不是随便拼起来的问答,而是按 conversation、detailed description、complex reasoning 三类组织,覆盖“日常追问、细节描述、关系推理”三种助手行为。语言底座主要使用 Vicuna,视觉底座使用 CLIP ViT-L/14。

从工程角度看,这组数字的意义是“刚好够社区复现”。595K 和 158K 都不是互联网级大数据,但足以让模型跨过 demo 门槛;训练成本也远低于从头做一个多模态 foundation model。

项目 数字 作用 备注
Feature alignment 数据 约 595K 对齐 CLIP token 与 LLM embedding 来自图文对
视觉指令数据 158K 训练对话、描述、推理 GPT-4 合成
数据类型 3 类 conversation / description / reasoning 覆盖助手行为
视觉 encoder CLIP ViT-L/14 冻结视觉语义 降低训练成本
语言模型 Vicuna/LLaMA 对话与生成 继承开源 LLM 能力

多模态聊天与 GPT-4 相对评分

LLaVA 在作者构造的多模态 chat benchmark 上,用 GPT-4 作为评审,对比模型回答与 GPT-4 参考回答。论文报告 LLaVA 达到 GPT-4 约 85.1% 的相对分数。这个数在今天看需要谨慎,因为 GPT-4 judge 会有偏好,benchmark 规模也不算大;但在 2023 年,它给了社区一个明确锚点:开源模型不仅能回答固定 VQA,也能在开放视觉对话里接近闭源教师的回答风格。

更重要的是,这个评测让“多模态助手”从 demo 变成可比较对象。此后每个开源 MLLM 都要回答类似问题:你的回答是不是具体、有没有看图、是否胡说、能否解释原因。LLaVA 把这些问题推到了实验台上。

模型 / 设置 评测 报告结果 含义
GPT-4 参考 multimodal chat 100% 参照 闭源教师上界
LLaVA multimodal chat 约 85.1% 相对分数 开源助手可接近教师风格
LLaVA + GPT-4 ScienceQA 92.53% 多模态模型与强 LLM 协同
BLIP-2 / caption baselines 开放聊天 弱于助手式回答 任务模型迁移不足
传统 VQA 模型 ScienceQA / VQA 依任务而强 缺少开放对话形态

ScienceQA 与消融信息

ScienceQA 是 LLaVA 论文里最容易被引用的传统 benchmark。它要求模型把图像、问题、选项和学科知识结合起来。LLaVA 单独已经能给出强表现;当与 GPT-4 协同时,达到 92.53%,刷新当时 SOTA。这个结果说明 visual instruction tuning 不只是让回答更“会聊天”,也能转化为结构化视觉推理任务上的收益。

消融层面,论文强调了两件事:第一,feature alignment 不能省,否则视觉 token 很难被 LLM 正确消费;第二,GPT-4 合成的多类型指令比单一 caption 或模板更能提升助手式行为。也就是说,LLaVA 的成绩来自“连接器 + 数据 + 对话底座”的组合,而不是某个孤立模块。

消融 / 观察 影响 解释 后续影响
去掉 feature alignment 训练不稳,视觉条件弱 LLM 未学会解释 CLIP token 两阶段训练成为常规做法
只用 caption 式数据 回答短、缺少推理 缺少人类提问分布 指令多样性成为核心资产
使用 GPT-4 合成多类数据 开放问答更自然 教师提供对话格式和推理模板 合成数据成为 MLLM 标配
ScienceQA + GPT-4 协同 达到 92.53% 开源视觉模型补视觉,GPT-4 补强推理 预示模型组合和工具化路线

实验的一个隐藏 lesson 是:LLaVA 没有证明“158K 数据足以解决多模态”,而是证明“158K 高质量视觉指令足以让强 LLM 出现助手行为”。这一区别很重要,因为后来的 LLaVA-1.5、Qwen-VL、InternVL、MiniCPM-V 都会继续扩大数据、提高分辨率、强化 OCR 和 grounding。原始 LLaVA 是起跑线,不是终点线。


思想史脉络

前世:LLaVA 把三条线拧成一根绳

LLaVA 的前世不是单一论文,而是三条技术线在 2023 年春天相遇。第一条线是 CLIP 之后的视觉语言表征:图像可以被编码成接近语言概念的向量。第二条线是 Flamingo / BLIP-2 之后的冻结模型连接:视觉 encoder 和 LLM 不必一起从头训练,中间插一个桥就能传递信息。第三条线是 ChatGPT / Vicuna 之后的指令微调:会聊天的行为不是自然涌现的产品界面,而是可以通过数据格式训练出来的。

LLaVA 的思想贡献是把“instruction tuning”从纯文本迁移到图像条件下。此前视觉语言领域更关心 pretraining objective:contrastive loss、captioning loss、image-text matching、VQA classification。LLaVA 说:这些都重要,但如果你想要一个助手,就必须训练它面对人类指令。这个转向让多模态研究的语言从“任务分数”变成“助手行为”。

祖先 年份 留给 LLaVA 的东西 LLaVA 的用法
CLIP 2021 冻结视觉 encoder 与图文语义空间 直接使用 ViT-L/14 作为眼睛
Flamingo 2022 冻结视觉与语言模型可以桥接 保留“桥接”思想,舍弃复杂 cross-attention
BLIP-2 2023 两阶段视觉语言对齐 简化 Q-Former 为投影层
LLaMA/Vicuna 2023 开源对话语言底座 作为多模态助手的大脑
GPT-4 2023 高质量指令生成能力 作为视觉指令数据教师

今生:开源 MLLM 的默认模板

LLaVA 之后,开源多模态大模型几乎都要回答三个继承问题:你的视觉 encoder 是什么,connector 是什么,instruction data 从哪里来。即使后续模型换成更强的 SigLIP、EVA-CLIP、InternViT,换成 MLP、Q-Former、resampler,或者扩展到 OCR、文档、视频,它们仍在 LLaVA 定义的坐标系里移动。

下面这张图用英文节点保持中英两版字符级一致,标出 LLaVA 在思想史上的输入和输出。

flowchart TD
    CLIP[CLIP 2021<br/>contrastive vision-language pretraining]
    Flamingo[Flamingo 2022<br/>frozen LM plus visual bridge]
    BLIP2[BLIP-2 2023<br/>Q-Former alignment]
    LLaMA[LLaMA / Vicuna 2023<br/>open chat backbone]
    GPT4[GPT-4 2023<br/>synthetic instruction teacher]
    LLaVA[LLaVA 2023<br/>visual instruction tuning]
    MiniGPT4[MiniGPT-4 2023<br/>parallel demo path]
    InstructBLIP[InstructBLIP 2023<br/>instruction-aware VLM]
    QwenVL[Qwen-VL 2023<br/>scaled open MLLM]
    LLaVA15[LLaVA-1.5 2023<br/>strong baseline recipe]
    GPT4V[GPT-4V 2023<br/>closed multimodal assistant]
    Next[LLaVA-NeXT 2024<br/>higher-res and stronger eval]
    InternVL[InternVL / MiniCPM-V 2024<br/>open MLLM scaling]

    CLIP --> LLaVA
    Flamingo -.bridge idea.-> LLaVA
    BLIP2 -.two-stage alignment.-> LLaVA
    LLaMA --> LLaVA
    GPT4 --> LLaVA
    MiniGPT4 -.same moment.-> LLaVA
    LLaVA --> InstructBLIP
    LLaVA --> QwenVL
    LLaVA --> LLaVA15
    LLaVA --> GPT4V
    LLaVA15 --> Next
    QwenVL --> InternVL
    Next --> InternVL

从 2023 年下半年开始,LLaVA-1.5 把原始配方补强成更稳定的 baseline:两层 MLP connector、更好的数据混合、更强的视觉问答和 OCR 覆盖。Qwen-VL、InternVL、MiniCPM-V 等模型则沿着规模、数据质量、高分辨率和中文/多语能力继续推进。闭源 GPT-4V 和 Gemini 把能力上界拉高,开源社区则用 LLaVA 风格 pipeline 去追赶。

后继 年份 继承了什么 改了什么
InstructBLIP 2023 指令感知的视觉语言训练 用 Q-Former 系统化多任务指令
Qwen-VL 2023 开源 MLLM 助手范式 更强双语、OCR、定位能力
LLaVA-1.5 2023 LLaVA 数据与训练框架 MLP connector、数据混合、评测增强
LLaVA-NeXT 2024 LLaVA baseline 生态 高分辨率与更强推理评测
InternVL / MiniCPM-V 2024 开源视觉指令微调范式 规模化视觉 encoder 与移动端部署

后人误读:LLaVA 不是“线性层奇迹”

误读 1:LLaVA 的核心是一个线性 projector。 线性层只是让故事可复现,真正的核心是视觉指令数据。没有 GPT-4 合成的 conversation / description / reasoning,线性层只能把 CLIP 特征送进 LLM,却不能教模型怎样当助手。

误读 2:GPT-4 没看图,所以数据不可靠。 这只说对了一半。GPT-4 不能生成像素级细节,确实会带来幻觉和遗漏;但它能生成高质量对话形式和推理模板,而像素证据在训练时由 CLIP token 提供。LLaVA 利用的是 GPT-4 的语言教师能力,不是视觉能力。

误读 3:85.1% 相对 GPT-4 意味着 LLaVA 接近 GPT-4V。 不是。这个分数来自特定 multimodal chat benchmark 和 GPT-4 judge,不能等同于全面能力。LLaVA 在 OCR、细粒度定位、复杂计数、抗幻觉方面都明显弱于后来的闭源多模态系统。

误读 4:LLaVA 解决了多模态推理。 更准确地说,它让多模态推理研究有了开源起点。真正困难的 grounding、长上下文、多图/视频、文档理解、工具调用与可靠评测,都在后续几年继续展开。

误读 5:合成数据只是廉价替代人工数据。 LLaVA 更深的启发是,强模型可以把“交互格式”传给弱模型。合成数据不只是填充样本数,而是把闭源系统中的任务分解、对话礼仪和推理样式蒸馏到开源系统中。


当代视角

2023 年看:LLaVA 把多模态助手从 demo 变成 baseline

站在 2023 年看,LLaVA 最重要的意义是“可复现”。GPT-4V 的能力很强,但研究者看不到内部;MiniGPT-4 的 demo 很抓眼,但系统化评测不够;BLIP-2 技术扎实,但不像聊天助手。LLaVA 把这些元素压成一个可以下载、训练、替换部件的 baseline。它让多模态助手研究从展示视频进入实验表格。

这种可复现性带来的影响常常被低估。一个领域真正加速,不是因为某个模型最强,而是因为大家终于有了共同起点。LLaVA 之后,论文可以清楚地说“我们换了 connector”“我们换了数据”“我们换了评测”“我们减少 hallucination”。没有这个 baseline,很多改进会停留在互不兼容的 demo 里。

2024-2026 年看:原始 LLaVA 很快过时,但路线没有过时

从今天看,原始 LLaVA 的能力已经明显落后。它的分辨率低,OCR 弱,细粒度定位不稳,幻觉明显,对图表、文档、多图和视频几乎无能为力。LLaVA-1.5、LLaVA-NeXT、Qwen-VL、InternVL、MiniCPM-V、GPT-4V、Gemini、Claude 3 系列都在不同方向上超过了它。

但路线没有过时。主流 MLLM 仍然是“视觉 encoder + connector + LLM + 指令数据 + 偏好/评测”的组合,只是每个部件都变强了:视觉 encoder 更高分辨率,connector 更非线性,LLM 更大或更高质量,数据从 158K 扩到百万/千万级,评测从 GPT-4 judge 扩展到 OCR、grounding、幻觉、科学图表、长视频和 agent 任务。LLaVA 的位置类似早期 AlexNet:不是今天最好的模型,却定义了后来几年默认问题的问法。

哪些假设后来站不住

第一,线性 projector 足够长期使用这个假设站不住。它足以证明 feasibility,但在高分辨率、细粒度 grounding、OCR 和复杂布局任务上,简单投影很快显露瓶颈。后续模型普遍采用 MLP、Q-Former、resampler 或更复杂的视觉 token 压缩策略。

第二,用 GPT-4 作为 judge 足以评估助手质量这个假设也站不住。GPT-4 judge 容易偏好长答案、漂亮话和与自己风格相近的回答,也难以稳定评估视觉 grounding。后来的 MME、MMBench、MMMU、POPE、HallusionBench、TextVQA、DocVQA 等从不同角度补上了更硬的测试。

第三,caption + boxes 足以代表图像这个假设只适合早期合成。它能生成对话格式,却会遗漏计数、文字、空间关系、细小对象和真实视觉歧义。今天的高质量 MLLM 数据更依赖真实人工标注、OCR 文档、复杂图表、区域级标注、多图推理和模型自我修正。

当年假设 后来发生了什么 今天的判断
线性连接器足够 LLaVA-1.5 等改用 MLP 或更强 connector 可做 baseline,不是上限
GPT-4 judge 足够 出现大量专门 MLLM benchmark 可做辅助,不能做唯一评测
文本代理能生成视觉指令 细粒度和 OCR 场景暴露缺口 合成数据需要真实视觉证据校验
158K 指令足够 后续数据扩到百万/千万级 足够启动,不足以封顶

局限与展望

视觉 grounding 与幻觉

LLaVA 最大的局限是 grounding。模型经常生成看似合理但图像中不存在的细节,尤其在小物体、文字、计数、空间关系上容易出错。这不是简单调 prompt 能解决的问题,因为训练数据本身有 GPT-4 基于文本代理生成的成分,可能把语言先验误当视觉证据。

后续方向需要更强的区域级监督、可验证 OCR、视觉引用机制和不确定性表达。一个真正可靠的多模态助手不应只回答“看起来像什么”,还要能指出证据在哪里、哪些部分看不清、哪些推断只是猜测。

数据来源与版权/偏见

LLaVA 用 COCO、GPT-4 合成数据和开源 LLM 生态搭起系统,但这也带来数据偏见。COCO 偏日常场景,caption 和 detection boxes 的覆盖有限;GPT-4 生成文本带有自身风格和安全偏好;Vicuna 继承 ShareGPT 对话分布。模型学到的“好回答”很可能是 2023 年英文互联网对话风格,而不是跨语言、跨文化、跨专业场景的稳健助手行为。

未来的 MLLM 数据需要更透明的数据谱系、更强的多语覆盖、更多专业图像和更可审计的合成流程。尤其在医学、遥感、工业检测、法律文档等高风险场景,LLaVA 风格的轻量指令微调不能直接替代领域验证。

从单图聊天走向多模态 agent

原始 LLaVA 主要处理单张图加文本问题。今天的多模态系统正在走向多图比较、长视频理解、屏幕操作、网页代理、机器人感知和工具调用。这里需要的不只是更大模型,还需要记忆、规划、外部工具、可执行动作和安全约束。

LLaVA 的范式仍可延伸:把“视觉指令”扩展成“视觉-动作指令”“屏幕-工具指令”“视频-时间推理指令”。但当输出不再只是文本,而会影响现实操作时,评测和安全门槛会比 2023 年聊天 demo 高得多。

相关工作与启发

对研究者的启发

LLaVA 的第一条启发是:在 foundation model 时代,好的研究问题经常不是“从头提出一个大模块”,而是“把已经成熟的模块用正确数据接口接起来”。CLIP、Vicuna、GPT-4 都不是 LLaVA 发明的;但 visual instruction tuning 这个接口把它们组合成了新能力。

第二条启发是:数据格式本身就是算法。LLaVA 的 158K 指令不是普通训练集,而是一套行为规范:用户会怎样问图像、助手应怎样展开描述、什么时候需要推理、答案应该多长。后来的 MLLM 竞争很大程度上就是数据格式、数据质量和评测协议的竞争。

对工程系统的启发

从工程角度,LLaVA 展示了“先做可改 baseline,再做极限性能”的价值。它没有一开始追求最高分辨率、最大模型、最复杂连接器,而是先建立一个大家能跑的闭环。这个闭环让社区可以并行改进每个部件:换视觉 encoder、换 LLM、换 connector、换数据、换 benchmark。

这也是为什么 LLaVA 的代码仓库影响力远超论文里的原始模型能力。它给出的不是一个封闭产品,而是一块实验板。对后来的开源 MLLM 来说,谁能提供更干净的数据管线、更稳定的训练脚本、更透明的评测,谁就更容易成为社区默认基线。

相关资源

类型 资源 链接 说明
论文 Visual Instruction Tuning https://arxiv.org/abs/2304.08485 LLaVA 原始论文
代码 haotian-liu/LLaVA https://github.com/haotian-liu/LLaVA 官方代码、模型、数据说明
项目页 LLaVA project https://llava-vl.github.io/ demo、模型与后续版本入口
后续 LLaVA-1.5 https://llava-vl.github.io/ 更强 baseline 配方
相关 BLIP-2 https://arxiv.org/abs/2301.12597 直接前序:Q-Former 视觉语言对齐

如果只记住一个结论:LLaVA 的历史价值不是“它比 GPT-4V 强”,而是“它让多模态 ChatGPT 这件事从闭源展示变成了开源实验”。这一步一旦发生,后面的模型就可以在同一张桌子上比较、拆解和迭代。


🌐 English version · 📚 awesome-papers project · CC-BY-NC