多模态大模型架构(VLM)
「让 LLM 看懂图」的工程范式已经高度收敛:视觉编码器 + 投影器 + 语言模型。面试官常问:图怎么变成 token?不同 VLM 的区别在哪?为什么训练要分两阶段?
01统一范式:ViT + Projector + LLM
几乎所有视觉语言模型(VLM)都遵循同一骨架——把图像编码成一串「视觉 token」,拼到文本 token 后面,交给一个普通 LLM 做自回归生成:
02三大组件详解
① 视觉编码器
通常是预训练好的 ViT(如 CLIP / SigLIP 的 image tower),把图切成 patch 序列,输出视觉特征。一般冻结以省算力。
② 投影器 (Projector)
把视觉特征维度对齐到 LLM 词嵌入维度。最简单的 MLP;复杂的有 Q-Former、Resampler(用可学习 query 压缩成固定数 token)。
③ 语言模型
复用现成 LLM(Qwen / LLaMA / ChatGLM)。接收「视觉 token + 文本 token」混合序列,统一做因果注意力。
03CLIP:图文对齐的基石
CLIP 用「对比学习」把图像和文本塞进同一向量空间:同一对 (图, 描述) 的相似度拉高,不同对拉低。训练好之后:
- 图像编码器可作为 VLM 的视觉 backbone;
- 文本编码器可为生成模型(Diffusion)提供条件;
- 「图像 token」与「文字 token」天然处于可对齐的空间。
04代表架构对比
BLIP-2 / Q-Former
用 Q-Former(一组可学习 query)从 ViT 抽取固定数量视觉 token,再喂 LLM。轻量、视觉 token 少。
LLaVA
ViT + 一个线性/MLP Projector + LLM,结构极简。视觉 token 数 = patch 数(较密)。开源社区事实标准。
Qwen-VL
ViT + 交叉注意力 Resampler 压缩视觉 token,支持高分辨率与多图、 grounding(框选定位)。
区别主要在两点:投影器形态(MLP 简单但 token 多 / Q-Former 压缩但多训一层)与视觉 token 数量(影响 LLM 上下文长度与成本)。
05训练两阶段
- 对齐预训练:用海量「图-文对」训练 Projector,让视觉 token 学会「说 LLM 的语言」,此时 LLM 常冻结以保住语言能力。
- 多模态指令微调:用图文对话数据(含 reasoning、OCR、 grounding)解冻 LLM 一起训,让模型真正能「基于图对话」。
06VLM 与纯 LLM 的差异
输入变长
一张图动辄几百个视觉 token,极大的上下文与 KV Cache 压力(呼应《推理部署》)。
分辨率权衡
切得越细看越清,但 token 越多越贵;动态分辨率/分块是常见解法。
幻觉更顽固
VLM 易「看见不存在的物体」,因视觉特征与文本生成弱耦合。
评测更杂
除对话外还有 OCR、定位、图表理解、视频时序等多维能力。
07面试速记卡
统一骨架
ViT 编码 → Projector 对齐 → LLM 生成;视觉 token 拼到文本序列后。
CLIP 角色
对比学习对齐图文空间,是 VLM 与文生图的共同底座。
架构差异
主要是投影器(MLP vs Q-Former vs Resampler)与视觉 token 数。
两阶段训练
先对齐 Projector(冻 LLM),再微调(解冻 LLM)做对话。