🎯 一句话理解 VLM
VLM = 让 AI 既"看得懂图"又"说得出话",打通视觉像素与语言语义之间的鸿沟。
VLM 是 VLA 的视觉理解基础:VLA 先靠 VLM 看懂场景,再用 LLM 做推理决策。
🧬 架构演进:四代 VLM
第一代:双塔对比(CLIP, 2021)
CLIP 由 OpenAI 提出,用对比学习对齐图像和文本两个编码器的特征空间。
核心公式(对称交叉熵):
$$\mathcal{L} = -\frac{1}{2N}\sum_{i=1}^N \left(\log\frac{e^{s_{ii}}}{\sum_j e^{s_{ij}}} + \log\frac{e^{s_{ii}}}{\sum_j e^{s_{ji}}}\right)$$关键贡献:zero-shot 分类——把类别名转成文本与图像特征比对,无需训练数据即可分类。在 ImageNet 上 zero-shot 达 76.2%。
技术细节:CLIP 在推理时使用 prompt ensemble——把类别名放入多个模板(“a photo of a {class}."、“a blurry photo of a {class}.“等),取所有模板的文本特征均值,提升鲁棒性。这之后成了 VLM 推理的标准技巧。
SigLIP(Sigmoid loss)是 CLIP 的改进版,用 sigmoid 损失替代 softmax,训练更稳定,是当前 VLA 视觉编码器的首选。SigLIP 在 batch size 较小(如 16K)时效果优于 CLIP,因为它不依赖 batch 内的负样本对比。
关于对比学习的深入理解
对比学习的本质是在特征空间中做拉近正对、推远负对。CLIP 的成功有两大前提:一是海量数据(4 亿图文对)提供了丰富的负样本;二是 batch size 极大(32,768),确保每个 batch 中有足够多的负样本。这在当时只有 OpenAI 的算力条件能实现。后来的 SigLIP 通过 sigmoid 损失打破了 batch size 瓶颈,让中小团队也能有效训练。
第二代:Q-Former 桥接(BLIP-2, 2023)
BLIP-2 的核心是 Q-Former——一组可学习的 query token 通过交叉注意力从 ViT 特征中提取信息。
| 阶段 | 目标 | 冻结部分 |
|---|---|---|
| 1. 表示学习 | 对比+ITM+生成 | ViT |
| 2. 生成学习 | 文本生成 | ViT+LLM |
| 3. 端到端微调 | 任务最优 | 全部放开 |
价值:188M 参数实现高效视觉-语言桥接,无需大规模投影层训练。Q-Former 的设计巧妙之处在于,它用极少的可训练参数(188M vs LLM 的 7B70B)实现了"特征选择”——32 个 query 从 257 个 patch 特征中提取最关键的信息,这比把所有 patch 都送入 LLM 要高效得多。
BLIP-3/xGen-MM(2024)是 Salesforce 推出的 BLIP 第三代,去掉了 Q-Former,直接用投影层把 ViT 特征注入 LLM。这印证了一个趋势:随着 LLM 能力增强,中间桥接模块可以越来越简单。BLIP-3 同时在训练数据规模(多语言、多来源)上大幅扩展,覆盖了更多驾驶相关场景。
第三代:简单投影(LLaVA, 2023)
LLaVA 由威斯康星大学和微软提出,是目前学术界最流行的 VLM 框架。
核心洞察:LLM 已经足够强,只需一个简单 MLP 把视觉特征"翻译"成 LLM 能理解的格式。
两阶段训练:
| 阶段 | 数据 | 训练范围 |
|---|---|---|
| 预训练对齐 | CC-595K 图文对 | 投影层 |
| 指令微调 | 158K 视觉指令 | 投影层+LLM |
LLaVA 的后继版本(1.5、NeXT、HR)围绕高分辨率优化:LLaVA-1.5 引入 AnyRes 机制,将高分辨率图切成多个 336×336 patch 独立编码;LLaVA-NeXT 支持动态分辨率,输入图像自适应切分;LLaVA-HR 使用多层 Transformer 投影保留更多视觉细节。这些改进对驾驶场景至关重要——远处的小目标(行人、锥桶)需要高分辨率才能被模型"看到”。
为什么 LLaVA 成为主流? 它的成功不只是因为结构简单,还在于清晰的训练 recipe 和开源社区生态。LLaVA-1.5 仅用 600K 指令数据 + 单卡 A100 训练 1 天就能达到接近 GPT-4V 的 VQA 性能,这让学术实验室也能跟上大模型浪潮。
第四代:原生多模态(GPT-4V/Gemini, 2023)
GPT-4V(OpenAI):架构未公开,推测为视觉 encoder + 大规模多模态 Transformer。能力涵盖看图对话、视觉推理、图表理解。在自动驾驶中用于离线推理数据生成(DriveVLM 用 GPT-4V 看视频生成 CoT 标注)。
Gemini(Google):从第一性原理设计的原生多模态模型,统一编码器处理图像/视频/音频/文本。Wayve 的 EMMA 基于 Gemini,一个模型同时输出感知+预测+规划。
| 对比 | GPT-4V | Gemini |
|---|---|---|
| 架构 | 视觉 encoder + LLM | 原生统一 encoder |
| 输入 | 图像+文本 | 图像+视频+音频+文本 |
| 上下文 | 128K | 1M+ |
| 驾驶用途 | 教师数据生成 | EMMA 基模型 |
架构趋势
| 架构 | 代表 | 融合方式 | 参数量 | 训练成本 |
|---|---|---|---|---|
| 双塔对比 | CLIP | 最后一层对比 | 小~中 | 低 |
| Q-Former | BLIP-2 | 交叉注意力 | 中 | 中 |
| 直接投影 | LLaVA | MLP | 大 | 高 |
| 原生多模态 | GPT-4V | 端到端统一 | 极大 | 极高 |
趋势:桥接模块简化(Q-Former → MLP),视觉 encoder 强化(ViT-B → ViT-G),训练数据膨胀(4亿 → 50亿+)。
🎓 VLM 训练三阶段
| 阶段 | 目标 | 数据 | 典型损失 |
|---|---|---|---|
| 对齐预训练 | 视觉-语言特征空间对齐 | 海量图文对 | 对比损失/ITM |
| 指令微调 | 遵循视觉指令 | VQA 数据 | 交叉熵 |
| RLHF/DPO | 对齐人类偏好 | 偏好标注 | PPO/DPO |
🚗 驾驶专用 VLM
通用 VLM 的短板:缺少驾驶知识、分辨率不足、缺乏时序理解。
| 适配策略 | 具体做法 | 代表模型 |
|---|---|---|
| 高分辨率 | 切 patch + 多尺度编码 | LLaVA-HR, DriveVLM |
| 多视角 | 多路相机独立编码 | DriveVLM(6视角) |
| 时序建模 | 多帧输入 + 时序注意力 | GenAD |
| 驾驶微调 | 驾驶 QA 数据微调 | LMDrive, DriveGPT4 |
DriveVLM:基于 Qwen-VL,高分辨率 + 结构化 CoT 推理(场景→关键物体→推理→规划)。 EMMA:基于 Gemini,多任务统一,感知/预测/规划全部以文本 token 输出。 Senna:基于 InternVL,VLM + 规划头,驾驶规则对齐。
📊 VLM 关键评估基准
| 基准 | 任务 | 典型指标 |
|---|---|---|
| VQAv2 | 视觉问答 | 准确率 |
| COCO Caption | 图像描述 | CIDEr, BLEU |
| MMBench | 多模态理解综合 | 分类准确率 |
| MMMU | 大学知识 | 准确率 |
| POPE | Hallucination 检测 | F1 |
驾驶专用评估
| 基准 | 任务 | 说明 |
|---|---|---|
| DRAMA | 危险场景识别 | 关注驾驶安全场景 |
| DriveLM-nuScenes | 驾驶问答 | 基于 nuScenes 的 QA 对 |
| Rank2Tell | 风险排序 | 按风险等级排序物体 |
⚠️ VLM 关键局限(驾驶视角)
- 视觉 Hallucination:模型"看到"不存在的障碍物,对驾驶安全致命
- 时序不一致:视频连续帧描述矛盾,驾驶场景核心短板
- 微调遗忘:驾驶数据微调后丧失通用知识
- 推理速度:数亿到千亿参数,远不满足车端 <100ms 要求
- 闭环评估难:文本输出难以评价"这个转向决策对不对”
✅ 小结
- CLIP:对比学习奠基,zero-shot 迁移能力
- BLIP-2:Q-Former 参数高效桥接视觉与语言
- LLaVA:简单 MLP 投影,证明 LLM 可直接理解视觉 token
- GPT-4V/Gemini:原生多模态,能力天花板
VLM 的演进就是"如何让计算机既看图又识字“的技术路线,它是 VLA 的视觉理解根基。VLM 选型决定了 VLA 理解场景的上限——选择视觉编码器(SigLIP vs CLIP)、对齐策略(MLP vs Q-Former)、以及是否支持高分辨率多视角,直接影响了后续驾驶决策的质量。
📖 知识点拆解系列第 11 篇。下一篇:大语言模型基础详解。