Skip to content

多模态 LLM

五层读懂一个词。这次拆的是:多模态 LLM--让 LLM 睁开眼睛。核心公式:ViT 看 + Projector 对齐 + LLM 思考。图像 → ViT(视觉编码器)→ 对齐层(线性/MLP/Q-Former)→ LLM(语言模型)→ 回答。LLaVA/ GPT-4V / Qwen-VL / InternVL 都是这个范式。文本 LLM 只能聊,多模态 LLM 能看图说话、看图推理、看图编程——这是 LLM 走向 AGI 的关键一步。


L1 · 一句话点破

多模态 LLM = 视觉编码器(ViT)+ 对齐投影层 + 语言模型(LLM)。图像被 ViT 提取为视觉特征(patch embeddings),通过一个对齐层(MLP 或 Q-Former)投影到 LLM 的 token 空间,然后和文本 token 拼接输入 LLM。训练分两阶段:① 对齐(只训投影层,冻住 ViT 和 LLM)→ ② 微调(解冻 LLM 或全部)。让 LLM 既能读书又能看图。


L2 · 通俗类比

LLM 像一个博学的盲人学者

  • 读过全世界的书(预训练文本)
  • 能推理、写作、编程
  • 但看不见——你给他看一张猫的照片,他不知道是什么

多模态 LLM = 给盲人学者装上一只「电子眼」

  • ViT(电子眼):提取图像的视觉信息
  • 对齐层(视神经):把视觉信号翻译成大脑能理解的语言
  • LLM(大脑):基于视觉+文本信息综合理解和推理

举例(LLaVA 看图回答问题):

图像: 一张照片,一个男人在厨房做饭
问题: "这个男人在做什么?"

ViT:  [patch_1, ..., patch_256] (视觉特征)
对齐层: [visual_token_1, ..., visual_token_256] (映射到LLM空间)
LLM:  [visual_tokens] + "这个男人在做什么?" → "在做饭,他在煎鸡蛋"

三种多模态 LLM 的架构路线

1. 简单连接(LLaVA 式)

ViT → MLP → LLM

最简洁,效果也好。LLaVA-1.5 证明一个简单 MLP 足够。

2. Q-Former 桥接(BLIP-2 式)

ViT → Q-Former → LLM

Q-Former(Query Transformer)用可学习 queries 从 ViT 特征中提取和文本对齐的信息。更贵,但可压缩视觉 token。

3. 早期融合(Flamingo/OpenFlamingo)

ViT → Perceiver Resampler → 插入 LLM 每层

视觉信息不只放在输入层,而是注入 LLM 的每一层——更像人类的视觉皮层。

核心能力

能力例子
看图描述"描述这张图片"
看图推理"图中几点钟了?"(看时钟)
看图问答"这个人穿什么颜色?"
图文理解看菜单、图表、流程图
OCR图片中的文字提取
看图编程看 UI 截图写前端代码

代价

  • ViT + LLM 两个大模型组合,参数量翻倍
  • 训练需要图文对数据(比纯文本贵)
  • 推理延迟比纯文本高(ViT 前向 + LLM 生成)
  • 幻觉仍有(看图编造不存在的内容)
  • 高分辨率图像挑战大(ViT patch 数的 2 次方复杂度)

适用

  • 看图应用(问答、推理、分析)
  • 多模态搜索
  • 辅助视觉障碍人士
  • 文档理解(扫描件/PDF 图片)
  • 自动驾驶/机器人视觉

L3 · 正经定义

多模态 LLM(Multimodal Large Language Model / Vision-Language Model, VLM):能同时处理图像和文本输入的 LLM。核心架构:

Image → Vision Encoder (ViT/SigLIP) → Visual Features
Text → Tokenizer → Text Tokens
[Visual Features, Text Tokens] → LLM Backbone → Response

对齐层(将视觉特征映射到 LLM token 空间):

方法代表思路
Linear/MLPLLaVA简单 MLP 投影
Q-FormerBLIP-2可学习 queries 提取+对齐
PerceiverFlamingo压缩+注入每层
Pixel ShuffleInternVL高分辨率动态分块

主流模型

模型架构视觉编码器LLM亮点
LLaVA-1.5ViT+MLP+LLMCLIP-ViT-LVicuna-7/13B开源标杆
GPT-4V(o)闭源-GPT-4最强商用
Qwen-VLViT+Resampler+LLMViT-GQwen中文支持好
InternVL2ViT+PixelShuffle+LLMInternViTInternLM高分辨率
Claude 3.5闭源-Claude图表/文档强
Gemini闭源-Gemini原生多模态

参考资料

  • 📄 Liu et al., Visual Instruction Tuning (LLaVA), NeurIPS 2023
  • 📄 Li et al., BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and LLMs, 2023
  • 📄 Bai et al., Qwen-VL: A Versatile Vision-Language Model, 2023
  • 📄 OpenAI, GPT-4V(ision) System Card, 2023
  • 🔧 LLaVA:https://github.com/haotian-liu/LLaVA

L4 · 原理深挖

4.1 LLaVA 的训练两阶段

阶段 1: 对齐预训练(Feature Alignment)

数据: 图像 + 简单描述(CC3M 595k 图文对)
训练: 只训投影层(MLP),冻结 ViT 和 LLM
目标: 让视觉特征和文本 token 空间对齐

Loss: 自回归语言建模 loss
  给定 [visual_tokens, "描述这张图片:"]
  预测 ["这是一只坐在沙发上的猫"]

阶段 2: 指令微调(Visual Instruction Tuning)

数据: 图像 + 多轮对话指令(LLaVA-Instruct-150k)
训练: 解冻 LLM(可选解冻 ViT),端到端微调
目标: 学会看图问答、推理

对话示例:
  User: "图中有几只猫?"
  Assistant: "图中有两只猫,一只是橘猫,一只是黑猫。"
  User: "它们在做什么?"
  Assistant: "橘猫在睡觉,黑猫在玩毛线球。"

数据生成(LLaVA 的创新)

  • 用 GPT-4 从图像描述生成多轮对话指令
  • 图像描述 → GPT-4 → 多样化问答对
  • 150k 高质量指令数据

4.2 视觉 Token 的处理

Patch 数量问题

  • ViT-L/14: 224×224 → 256 patches → 256 visual tokens
  • 高分辨率 (672×672) → 2304 patches → 太高
  • LLM 的注意力 O(N²) 中 N = text_tokens + visual_tokens

压缩方案

方案思路压缩比
MLP 降维LLaVA 式的简单压缩1x(不压缩)
Q-Former可学习 queries 压缩32-64x
PerceiverCross-attention 压缩8-16x
Pixel Shuffle用 CNN 做空间压缩4x
Adaptive Tile动态分块+按需分配自适应

InternVL 的动态分块

  • 大图切成多个 448×448 的 tile
  • 每个 tile 独立编码
  • 缩略图提供全局上下文
  • 支持任意分辨率和长宽比

4.3 训练数据

预训练数据

数据集规模类型
LAION-5B58.5 亿图文对(质量参差)
COYO-700M7.5 亿过滤后的图文对
CC3M330 万较高质量图文对
DataComp-1B12.8 亿高质量筛选

指令微调数据

数据集规模来源
LLaVA-Instruct-150k15 万条GPT-4 生成
ShareGPT4V100 万条GPT-4V 生成
LVIS-Instruct4V22 万条学术生成
ALLaVA70 万条合成+人工

4.4 多模态 LLM 的能力与局限

强项

  • ✅ 看图描述(超出 OCR,理解场景语义)
  • ✅ 图表/流程图理解
  • ✅ OCR + 推理(看菜单算总价)
  • ✅ 视觉常识("图中几点?"通过看时钟)
  • ✅ 看图编程(UI 截图→前端代码)

弱项

  • ❌ 细粒度定位("图片第三个按钮在哪")
  • ❌ 多图对比(同时比较两张图差异)
  • ❌ 视频理解(帧间关系,视频 LMM 在发展中)
  • ❌ 3D 空间推理
  • ❌ 幻觉(看图编造不存在的物体)

幻觉类型

1. 物体幻觉: 图中没有狗,但模型说"有一只狗"
2. 属性幻觉: 图中车是红色的,模型说"蓝色的车"
3. 关系幻觉: 桌子在椅子旁边,模型说"桌子上有椅子"
4. 文字幻觉: OCR 结果中的文字错误

4.5 评价指标

基准测什么代表分数
MME14 类视觉任务综合LLaVA-1.5: 1862/2000
MMBench视觉理解GPT-4V: 82%
SEED-Bench图文推理InternVL2: 78%
OCRBench文档/OCRQwen-VL-Max: 85%
MM-Vet多模态综合GPT-4o: 70%
HallusionBench幻觉检测InternVL2: 58% (越低越好幻觉少)

L5 · 沿革与坑

5.1 沿革

  • 2021:CLIP + ViT,图文对齐的基础
  • 2022-12:Flamingo(DeepMind),基于 Chinchilla 的多模态 LLM
  • 2023-01:BLIP-2(Salesforce),Q-Former 桥接
  • 2023-04:LLaVA(Wisconsin/MSR),简单 MLP + 指令微调,开源标杆
  • 2023-09:GPT-4V 发布
  • 2023-10:Qwen-VL(阿里),中文多模态 LLM
  • 2024-03:Claude 3(Anthropic),强视觉理解
  • 2024-05:GPT-4o,语音+视觉+文本原生多模态
  • 2024-2025:多模态 LLM 成本下降,开源追赶闭源

5.2 常见坑

坑 1: 以为 ViT+LLM 随便组合就能用。对齐很重要,不对齐直接连 → 乱码。

坑 2: 只训投影层不解冻 LLM。阶段 2 不解冻 LLM → 视觉理解受限。要指令微调。

坑 3: 高分辨率图像大量 visual tokens。336²→576² tokens 翻 3 倍→LLM 慢。要压缩或动态分块。

坑 4: 训练数据图文不匹配。图片描述和图片不对应 → 训练失败。要清洗数据。

坑 5: OCR 数据不够。多模态 LLM 的文字识别需要专门的 OCR 数据微调。

坑 6: 多图场景不训练。单图训练 → 多图推理差。要加入多图训练数据。

坑 7: 评测只看 MME/MMBench。这些基准可能有数据泄露(训练集中出现过)。要看新基准。

坑 8: 幻觉问题不处理。多模态 LLM 编造视觉内容。要后训练减少幻觉。

坑 9: 推理速度慢。ViT 前向 + LLM 前向 → 首 token 延迟高。要优化。

坑 10: 微调时 ViT 和 LLM 的比例。ViT 太大(300M+)vs LLM(7B+)→ 梯度不平衡。要分层学习率。

5.3 面试怎么考

  1. 多模态 LLM 的标准架构? 答:ViT(视觉编码)→ 对齐层(MLP/Q-Former)→ LLM(推理+生成)。三个阶段:预训练 ViT+LLM → 对齐(训投影层)→ 指令微调(解冻 LLM)。
  2. LLaVA 和 BLIP-2 的区别? 答:LLaVA 用简单 MLP 对齐,BLIP-2 用 Q-Former。LLaVA 更简单,效果也好;BLIP-2 的 Q-Former 压缩比更高(减少 visual tokens)。
  3. 为什么需要对齐层? 答:ViT 的视觉特征和 LLM 的 token embedding 在不同的语义空间中。对齐层把视觉映射到语言空间,让 LLM 能"看懂"图像。
  4. 高分辨率怎么处理? 答:动态分块(InternVL 式)——大图切成多个 tile,每个 tile 独立编码,缩略图提供全局上下文;或用更大的 ViT(ViT-G)提高输入分辨率。
  5. 多模态 LLM 的幻觉怎么缓解? 答:更好的对齐训练数据、负样本训练、在回答时要求模型引用图像的证据、后训练 RLHF 减少幻觉。

速记卡

标准架构

Image → ViT → Projector → LLM ← Text
         ↑                  ↑
    视觉编码器          语言模型

三条架构路线

路线代表对齐层压缩
简单连接LLaVAMLP
Q-FormerBLIP-2Cross-attn queries32-64x
早期融合FlamingoPerceiver + 逐层注入8-16x

训练两阶段

阶段1 对齐: 冻 ViT+LLM,训 Projector (图文对)
阶段2 微调: 解冻 LLM(或全部),视觉指令微调

主流模型

模型视觉LLM开源
LLaVA-1.5CLIP-ViT-LVicuna-7B
Qwen-VLViT-GQwen-7B
InternVL2InternViTInternLM
GPT-4V/o-GPT-4
Claude 3.5-Claude

一句话记忆:多模态 LLM = ViT(看)+ Projector(对齐)+ LLM(思考)。图像经过 ViT 变 visual features,Projector 把它们映射到 LLM 的 token 空间,LLM 像读文本一样读视觉 token。训练分对齐(只训 Projector)+ 指令微调(解冻 LLM)。LLaVA 证明了简单 MLP 足够,BLIP-2 用 Q-Former 压缩。GPT-4V/Claude 是闭源 SOTA,LLaVA/Qwen-VL/InternVL 是开源标杆。局限:高分辨率挑战、幻觉、多图/视频弱、推理慢。


*上一篇:Stable Diffusion 稳定扩散 -- SD 让模型生成图,多模态 LLM 让模型理解图。 下一篇:语音识别与合成 -- 视觉之外的另一半:让 AI 听和说。

内容采用 CC BY-SA 4.0,代码采用 MIT。