BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and LLMs
Li et al. (Salesforce)
用一个轻量 Q-Former 把 frozen vision encoder 和 frozen LLM 桥起来——参数效率 + 模块复用的范式开端。
arXiv:2301.12597核心贡献
- 01Q-Former:32 个 learnable query token 通过 cross-attention 抽视觉特征
- 02两阶段训练:图文对齐(ITC + ITM + ITG)→ 接 LLM 做 image-to-text
- 03Frozen ViT-g + Frozen OPT-2.7B,只训 ~188M 的 Q-Former
- 04效率拉满:训练成本只有 Flamingo 的 1/54,性能相当
让 LLM 看见图像最直接的办法是把视觉 feature 投到 LLM embedding 空间——但 ViT feature 太多(如 257 token),全输进 LLM 浪费 context。BLIP-2 引入 Q-Former:32 个 learnable query 通过 cross-attention 从 frozen ViT 抽 32 个紧凑视觉 token,再 project 到 LLM 输入空间。两阶段训练:先做 image-text alignment(学 Q-Former),再接 LLM 做 text 生成(继续训 Q-Former + projection)。
BLIP-2 vs LLaVA? BLIP-2 用 Q-Former 压缩 + 复杂多 loss 训练;LLaVA 直接 MLP projection + visual instruction tuning,更简单但 token 数多。LLaVA 范式赢了——简单 + 数据规模化更好。Q-Former 为什么 32 个 token? 经验值:足够覆盖图像信息又不挤占 LLM context。Frozen LLM 为什么够用? 视觉信息通过 prompt 注入,LLM 的语言能力不需要变;后续 LLaVA 也 fine-tune LLM 性能更好。Q-Former 现在还用吗? 工业上少了(LLaVA 范式赢),但 InstructBLIP / MiniGPT-4 / X-InstructBLIP 仍延续。两阶段的 ITC/ITM/ITG 分别是什么? Image-Text Contrastive / Matching / Generation——多任务对齐 visual token。