原文摘要 · English Abstract
This paper proposes BLIP-2, a generic and efficient pre-training strategy that bootstraps vision-language pre-training from off-the-shelf frozen pre-trained image encoders and frozen large language models. BLIP-2 bridges the modality gap with a lightweight Querying Transformer (Q-Former), which is pre-trained in two stages. BLIP-2 outperforms Flamingo80B by 8.7% on zero-shot VQAv2 with 54x fewer trainable parameters.
概要
视觉-语言预训练模型近年不断变大,端到端联合训练视觉和语言两个模态的成本越来越难以承受。BLIP-2 提出一种通用且省算力的预训练策略:把冻结的图像编码器和冻结的大语言模型直接“拼接”起来,中间插入轻量的 Querying Transformer(Q-Former)作为信息瓶颈,把视觉特征转成 LLM 能理解的语言化摘要,训练分表征对齐、生成对齐两阶段。BLIP-2 只训练 188M 参数就取得多项任务最优结果,零样本 VQAv2 上比 Flamingo80B 高 8.7 个百分点,可训练参数却少 54 倍。
此前视觉-语言预训练主要靠端到端联合训练大规模视觉和语言模型,随着模型规模增长计算成本极高;即使有 Frozen、Flamingo 等尝试冻结部分模型以省算力,它们也只用图文生成损失来对齐视觉和语言——因为 LLM 预训练时从未见过图像,仅靠这一个目标很难弥合模态鸿沟,对齐效果有限。
关键贡献
- 提出轻量的 Querying Transformer(Q-Former),作为冻结图像编码器与冻结大语言模型之间的信息瓶颈桥梁。
- 设计两阶段预训练策略,先做视觉-语言表征学习、再做视觉到语言的生成式学习,逐步弥合模态鸿沟。
- 用共享参数和不同注意力掩码,在同一次前向里联合优化对比、匹配、生成三个目标,让 32 个 query 学到多种对齐能力。
- 仅用 188M 可训练参数就在零样本 VQA、图像描述、图文检索等任务上取得开源模型最佳成绩。
- 在零样本 VQAv2 上比参数量大 54 倍的 Flamingo80B 高出 8.7 个百分点,大幅降低了多模态预训练所需算力。
- 展示了 BLIP-2 遵循自然语言指令做零样本图文生成的涌现能力。
方法详解(完整做法)
总体思路
BLIP-2 不重新训练一个大型端到端多模态模型,而是把“视觉”和“语言”两个已经训练好、被冻结的模型直接接起来,中间插入一个轻量的桥梁模块 Q-Former。整个流程是:图像先经过冻结的图像编码器(CLIP ViT-L/14 或 EVA-CLIP ViT-g/14)得到网格特征,Q-Former 用一组可学习的 32 个 query 向量与这些特征做交叉注意力,把最相关的文本信息压缩进固定长度的输出 ; 经过投影后作为软提示喂给冻结的大语言模型,由 LLM 生成文本。训练分两阶段:先只用图像编码器训练 Q-Former 学会“看图抓重点”,再接上冻结 LLM 训练它“把重点说出来”。全程图像编码器和 LLM 参数都不更新,只需训练 188M 参数的 Q-Former,计算成本因此大幅下降。
Q-Former 架构与信息瓶颈
Q-Former 由两个共享自注意力层的 transformer 子模块组成:一个图像 transformer 负责与冻结图像编码器交互抽取视觉特征,一个文本 transformer 既能编码也能解码文本。32 个可学习 query(每个维度 768,用 BERT_base 权重初始化,交叉注意力层随机初始化)先彼此做自注意力,再通过每隔一层插入的交叉注意力层读取冻结图像特征:
输出 的大小只有 ,远小于原始图像特征(如 ViT-L/14 的 ),这个瓶颈架构和后续预训练目标一起,逼迫 query 只保留对文本最有用的视觉信息。
第一阶段:图文对比学习(ITC)
第一阶段把 Q-Former 接到冻结图像编码器上,用图文对做表征学习。ITC 让每个 query 的输出与文本 [CLS] 表示对齐:从 32 个 query 与文本的相似度里取最大值作为图文相似度,再用 batch 内负样本做对比损失(query 与文本之间加单模态掩码、彼此不可见,避免信息泄漏):
因为图像编码器冻结、显存占用小,作者用 in-batch negatives 替代了 BLIP 里的动量队列,简化了实现。
第一阶段:图像匹配与图像引导文本生成(ITM / ITG)
同一组参数还联合优化另外两个目标,只靠切换注意力掩码区分任务。ITM 是二分类:query 和文本双向可见,每个 query 的输出过一个二分类线性头,取平均 logit 判断图文是否匹配,并引入难负样本挖掘。ITG 则用因果掩码让文本 token 只能看到所有 query 和它之前的 token,query 之间可互相看但看不到文本——迫使生成文本所需的一切信息必须先被 query 从图像里抽取出来,再经自注意力传给文本:
三个目标共享同一套输入格式和参数,只是注意力掩码不同,这是 Q-Former 用一次前向同时学三种能力的关键设计。
第二阶段:视觉到语言的生成式学习
第二阶段把(已经过第一阶段训练、带着冻结图像编码器的)Q-Former 接到冻结 LLM 上。一个全连接层把 query 输出 线性投影到 LLM 的文本嵌入维度,再拼接到输入文本嵌入前面,充当“软视觉提示”:
对 decoder-only LLM(OPT 系列)用标准语言建模损失;对 encoder-decoder LLM(FlanT5 系列)则把文本切成前缀和后缀,前缀与视觉表示一起送编码器,后缀作解码器的生成目标(prefix language modeling)。
为什么要先做第一阶段,不能直接接 LLM
如果跳过第一阶段、直接把未经训练的视觉特征接给冻结 LLM(如 Frozen、Flamingo 的做法),由于 LLM 预训练时从未见过图像,只靠一个图文生成损失很难学会把视觉特征对齐到语言空间——论文称之为“模态鸿沟”。先用 ITC/ITM/ITG 在纯视觉-语言表征层面把 query 训练成“看得懂图、说得出文字要点”的状态,再接 LLM 时,LLM 只需学会读取已经语言化的视觉摘要,不必从零学习跨模态对齐,这既降低了 LLM 端的学习负担,也缓解了冻结大模型场景下常见的灾难性遗忘问题。
小结
BLIP-2 的核心是用一个轻量、可学习的 Q-Former 作为信息瓶颈,通过两阶段(先对齐表征、再对齐生成)把冻结图像编码器和冻结 LLM 接起来,用极少的可训练参数复用两个单模态大模型已有的能力。
实验与关键数据
预训练用 COCO、Visual Genome、CC3M/CC12M、SBU 及 LAION400M 共 129M 图文对(经 BLIP CapFilt 筛选合成字幕);图像编码器用 CLIP/EVA-CLIP ViT,LLM 用 OPT 或 FlanT5。零样本 VQAv2、图像描述、图文检索均取得开源模型最佳成绩。
关键数据
影响与局限
BLIP-2 确立了“冻结视觉编码器 + 轻量桥接模块 + 冻结 LLM”这一模块化对齐范式,证明不必端到端训练也能拿到 SOTA,大幅降低了多模态预训练门槛。其 Q-Former 设计和两阶段训练思路被后续 InstructBLIP、MiniGPT-4 等指令跟随多模态模型直接沿用,是从“纯预训练视觉-语言模型”迈向“可对话多模态大模型”的关键一步。
局限与不足
模型在提供少样本上下文 VQA 示例时并未表现出情境学习能力的提升,作者认为原因是预训练数据每条样本只含一张图和一段文本,LLM 学不到同一序列里多个图文对之间的关联,这与 Flamingo 论文的观察一致,作者计划未来构造带交错图文序列的数据集来解决。此外,BLIP-2 的图文生成有时会给出不准确的结果,原因包括 LLM 自带的知识错误、激活了错误的推理路径,或对图像里的新内容缺乏更新的信息。由于底层 LLM 被冻结,BLIP-2 还会继承 LLM 自身的风险,例如输出攻击性语言、传播社会偏见或泄漏训练数据中的隐私信息,作者建议用指令引导生成或在过滤后的数据上训练来缓解,但论文本身并未解决这些问题。