跳转至

讲解稿 · 第 10 章 第 02 节 · 视觉语言模型 VLM

口播时长: 约 12 分钟|建议语速: 中速, 公式处停两拍|字数: 约 2600 字

承 Ch10 §01 多模态表征 / CLIP → Ch10 §02 视觉语言模型 (VLM) → Ch10 §03 视觉分词 (下游章节预告)


导语 (约 70 秒)

CLIP 是双塔结构, 图像和文本各自编码、比较相似度——只能检索, 不能对话。用户想"看图说话", "把图翻译成中文", "图里有多少只猫"——这些 CLIP 做不到。

需要把视觉信息喂给 LLM。这就是视觉语言模型 (Vision-Language Model, VLM)。这一节讲 4 件事: ① 为什么要把视觉接到 LLM;② 三种主流投影方案对比;③ 视觉指令微调;④ 评测。听 12 分钟。


一 · 为什么要做 VLM (约 2 分钟)

CLIP 出现后, 一个问题浮出水面: 能不能让 LLM 看图说话。

GPT-3 是纯文本 LLM, 看不了图。如果扩展成"看图 + 文本 → 文本", 就能: - 看图写文章 - VQA (Visual Question Answering) - Image Captioning - DocVQA (文档问答) - 多模态推理

这需要把视觉编码器 (CLIP / ViT) 的输出, 桥接到 LLM 的输入嵌入空间。关键挑战: 视觉 patch 数 256, 每个 1024 维; LLM 输入嵌入维度可能只有 4096 (LLaMA-7B); LLM 上下文长度有限 (4K / 8K / 32K)。所以不能直接拼。


二 · 三种主流投影方案 (约 5 分钟)

2.1 LLaVA 风格: 线性投影

最简单粗暴: 一层线性层把视觉 patch 嵌入 (1024 维) 投到 LLM 维度 (4096 维)。 - 公式: \(z_v' = W \cdot z_v, \quad W \in \mathbb{R}^{1024 \times 4096}\) - 视觉 256 个 patch 就变 256 个 LLM token 拼到 prompt - 优点: 几乎无延迟损失, 工程简单, 可以端到端微调 - 缺点: 视觉序列长, 占用 LLM 上下文; 显存压力

2.2 BLIP-2 风格: Q-Former

Salesforce 2023 年的 BLIP-2 用更精巧的设计——Q-Former: - 32 个 learnable query token (32 × 768 维) - 与 ViT 输出做 cross-attention (多轮 32 层) - 最终输出压缩成 32 个 token 给 LLM - 训练用三任务: ITC (对比) + ITM (匹配) + ITG (生成) - 优点: 视觉 token 压缩到 32 个, 节省 LLM 上下文 - 缺点: 引入了有损压缩, 训练复杂

2.3 Flamingo 风格: Perceiver Resampler

DeepMind 2022 年的 Flamingo 用 Perceiver Resampler: - 跨 transformer 块压缩视觉信息 - 输出 64 个 token - 支持 few-shot: 给几张示例图 + 文 → 模型学会 - 优点: few-shot 能力最强 - 缺点: 训练最复杂, 推理慢

2.4 选型对比

方案 视觉 token 训练难度 延迟 few-shot
LLaVA 线性 256 低 50-100ms 弱
BLIP-2 Q-Former 32 中高 80-150ms 中
Flamingo Perceiver 64 高 150-250ms 强

主流选择: LLaVA 系列 (LLaVA-1.5, LLaVA-NeXT, LLaVA-OneVision)。简单有效, 工业首选。


三 · 视觉指令微调 (Visual Instruction Tuning) (约 3 分钟)

VLM 训完只是 "图文对齐", 还没学会"看图回答任意问题"。

需要视觉指令微调: 1. 用 GPT-4V (或 GPT-4o) 看图, 生成 158K 个 (Q, A) 对——这是 synthetic instruction 2. 例: 图中画了什么? → A: 图中是一只趴在窗台上的橙色虎斑猫 3. 用这 158K 微调 LLaVA (基于 Vicuna) 4. 学到 "看图回答问题" 能力, 还能 follow 中文 prompt

LLaVA 中文版: 字节的 Qwen-VL / 上海 AI Lab 的 InternVL / 智谱的 CogVLM。中文 prompt 工程是另一个独立话题。


四 · 评测基准 (约 2 分钟)

VQAv2 (闭集 4 选 1 VQA): - test-dev, GPT-4o 85%, LLaVA-1.5-13B 80%, 人类 95%

MMMU (大学级图文): - 30 学科 11.5K 题, GPT-4o 69%, 人类 88% - 显著体现: 多模态推理 仍远落后人类

MMHal-Bench (多模态幻觉): - 96 张图, 8 类幻觉问题 - 模型声称"图里有 X", 但 X 不在图里 → 错 - GPT-4o (with mitigation) 7%, 没缓解 14%

ChartQA / DocVQA: - 图表和文档问答, 工业关注 - LLaVA 60%, GPT-4V 80%+


跨章衔接 (60 秒)

VLM 把视觉送进 LLM 让其看图说话。§03 视觉分词走另一条路: 把图像编码成离散的 token 序列, 像文本 token 一样喂给 transformer 自回归生成。两条路殊途同归——都把"图像"变成"类似文本的东西"给 decoder 类模型处理。这正是 GPT-4o 这种统一架构的核心思路: 所有模态都先 token 化再处理, 不管是文本字符、音频波形还是图像 patch。