01-多模态基础:视觉语言模型(VLM)
先说结论
视觉语言模型(Vision-Language Model, VLM)是一类能够同时理解图像和文本输入、并生成文本输出的深度学习模型,其核心在于将视觉信息与语言信息映射到共享的语义空间中。
先把核心脉络捋清楚
关键模型对比
| 模型 | 发布方 | 视觉编码器 | 语言模型 | 核心创新 | 发布时间 |
|---|---|---|---|---|---|
| CLIP | OpenAI | ViT / ResNet | Transformer 文本编码器 | 对比学习,零样本迁移 | 2021 |
| LLaVA | 学术界(Liu et al.) | CLIP ViT-L/14 | Vicuna/LLaMA | 视觉指令微调,投影层桥接 | 2023 |
| GPT-4o | OpenAI | 原生多模态编码器 | 统一 Transformer | 原生多模态训练,端到端 | 2024 |
| InternVL | 上海 AI Lab | InternViT | InternLM | 大规模视觉编码器 | 2024 |
| Qwen-VL | 阿里巴巴 | ViT | Qwen | 多分辨率,多语言 | 2024 |
架构范式对比
| 范式 | 代表模型 | 特点 | 优势 | 劣势 |
|---|---|---|---|---|
| 拼接式(Stitching) | LLaVA, Qwen-VL | 独立视觉编码器 + 投影层 + LLM | 模块化,易迭代 | 信息损失,模态融合浅 |
| 交织式(Interleaved) | Flamingo, IDEFICS | 视觉 token 插入语言序列中 | 更灵活的多图理解 | 训练复杂 |
| 原生多模态(Native) | GPT-4o | 单一模型处理所有模态 | 深度融合,低延迟 | 训练成本极高 |
原理/机制
CLIP 的对比学习
CLIP(Contrastive Language-Image Pre-training)的核心机制:
- 双编码器架构:图像编码器(ViT)和文本编码器(Transformer)分别将图像和文本映射到共享的嵌入空间(如 512 维或 768 维)。
- 对比学习目标(InfoNCE Loss):给定 N 个 (图像, 文本) 对,最大化匹配对的余弦相似度,最小化不匹配对的相似度。本质上是一个 N x N 的对称交叉熵损失。
- 零样本推理:推理时构造提示(如 "a photo of a [class]"),编码后与图像嵌入比较,无需微调即可完成分类。
训练数据规模:4 亿互联网图像-文本对(WebImageText 数据集)。
LLaVA 的训练管线
LLaVA 采用两阶段训练:
| 阶段 | 训练内容 | 数据 | 目的 |
|---|---|---|---|
| 阶段一:预训练对齐 | 仅训练投影层 | CC3M 子集约 595K 图文对 | 将视觉特征对齐到 LLM 词嵌入空间 |
| 阶段二:视觉指令微调 | 训练投影层 + LLM | 150K GPT-4 生成的指令数据 | 教模型遵循视觉指令进行推理 |
数据生成创新:使用 GPT-4 基于图像描述和边界框信息生成多轮对话指令数据,无需人工标注。
GPT-4o 的原生多模态
GPT-4o 采用单一 Transformer 主干,原生处理文本、图像、音频三种模态的 token 表示,消除了拼接式架构中的模态转换开销,实现了亚 300 毫秒的音频响应延迟。
设计时真正要权衡什么
- 视觉编码器冻结 vs. 联合微调:冻结编码器保持视觉特征质量但限制适配性;联合微调提升任务性能但可能损害通用视觉能力。
- 投影层复杂度:简单线性投影(LLaVA-1.0)参数少、训练快;MLP 投影(LLaVA-1.5)效果更好但增加参数量。
- 分辨率 vs. 计算成本:更高分辨率带来更好的细粒度理解(如 OCR),但 token 数量呈平方级增长。
- 拼接式 vs. 原生多模态:拼接式开发成本低、模块灵活;原生多模态性能上限高但训练成本极高。
- 数据规模 vs. 质量:CLIP 依赖海量噪声数据;LLaVA 用少量高质量指令数据即可获得强大能力。
容易踩的坑
- 幻觉(Hallucination):模型描述图像中不存在的物体或细节,这是当前 VLM 最突出的可靠性问题。
- 空间推理弱:在判断物体的左右、上下、远近等空间关系时容易出错。
- 细粒度识别差:对小物体、密集文本、复杂图表的理解能力不足。
- 计数不可靠:对图像中物体的数量统计经常出错。
- 长视频理解受限:虽然能处理单帧或短视频,但长时序依赖的视频理解仍是挑战。
工程落地时我会怎么做
- 选型决策:通用场景优先考虑 GPT-4o / Claude 等闭源 API;私有化部署考虑 Qwen-VL / InternVL 等开源方案。
- 评估先行:用目标领域的真实数据构建评测集,不要仅依赖公开基准分数。
- Prompt 工程:对 VLM 的提示应明确指定关注区域、输出格式,避免模糊指令。
- 级联策略:复杂任务拆解为检测 + 理解 + 推理多步,每步用最适合的模型。
- 缓存视觉特征:对同一图像的多次查询,缓存视觉编码器的输出以降低延迟。
如果要对外讲,可以怎么概括
"视觉语言模型的核心挑战在于如何将两种截然不同的信息模态映射到统一的语义空间。从 CLIP 的对比学习范式,到 LLaVA 的投影层桥接方案,再到 GPT-4o 的原生多模态架构,我们看到了从'拼接'到'融合'的技术演进路线。CLIP 通过 4 亿图文对的对比预训练实现了强大的零样本迁移,为后续所有 VLM 提供了视觉编码器基础。LLaVA 证明了仅用一个简单投影层连接 CLIP 和 LLaMA,配合 GPT-4 生成的指令数据,就能获得出色的视觉推理能力。而 GPT-4o 代表了终极方向:原生多模态训练,一个模型端到端处理所有模态。在实际工程中,我倾向于根据场景复杂度和部署约束选择不同范式——简单 OCR/分类用 CLIP,复杂推理用 LLaVA 类方案,追求极致性能用原生多模态模型。"
最后记几条
- CLIP 是 VLM 的基石:几乎所有现代 VLM 都使用 CLIP(或其变体)作为视觉编码器,其对比学习的零样本能力开创了视觉-语言统一表示的先河。
- 投影层是关键瓶颈:LLaVA 证明即使是最简单的线性投影也能取得不错效果,但投影层的设计直接决定了视觉信息传递给 LLM 的质量。
- 指令数据质量决定上限:LLaVA 的核心贡献不仅是架构,更是用 GPT-4 生成高质量视觉指令数据的方法论。
- 幻觉是 VLM 的阿喀琉斯之踵:模型倾向于"编造"视觉内容,需要在输出端增加校验和约束。
- 原生多模态是未来但成本极高:GPT-4o 展示了统一模型的优势,但训练成本和工程复杂度远超拼接方案。
参考资料
- Radford, A. et al. "Learning Transferable Visual Models From Natural Language Supervision" (ICML 2021) — CLIP 原论文
- Liu, H. et al. "Visual Instruction Tuning" (NeurIPS 2023) — LLaVA 原论文
- Liu, H. et al. "Improved Baselines with Visual Instruction Tuning" (CVPR 2024) — LLaVA-1.5
- OpenAI Blog: "GPT-4o System Card" (2024)
- Wang, W. et al. "InternVL: Scaling up Vision Foundation Models" (2024)
- Bai, J. et al. "Qwen-VL: A Versatile Vision-Language Model" (2023)