AB
AiBoss
Wiki

什么是自举语言-图像预训练(Bootstrapping Language-Image Pre-training)?——BLIP 与 BLIP-2 的核心思路

自举语言-图像预训练(Bootstrapping Language-Image Pre-training,BLIP)是一类视觉-语言预训练(Vision-Language Pre-training,VLP)框架,由 arXiv 论文 BLIP 提出,并在后续论文 BLIP-2 中扩展。它的核心是用模型自身生成并筛选训练信号(自举),以更充分地利用含噪的网络图文对,或用冻结的图像编码器与大语言模型降低预训练成本。

自举语言-图像预训练(Bootstrapping Language-Image Pre-training,BLIP)是一类视觉-语言预训练(Vision-Language Pre-training,VLP)框架:它用「自举」的方式构造或筛选训练信号,让模型同时适配视觉-语言的理解类任务与生成类任务。按 arXiv 论文《BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation》的表述,它要解决的是两个问题:多数已有预训练模型只在理解类或生成类任务之一上表现突出;而性能提升主要靠扩大从网络收集的含噪图文对规模,这种监督来源并不理想。

后续论文《BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models》把「自举」的对象换成了现成的冻结模型:从冻结的图像编码器和冻结的大语言模型出发,以轻量结构桥接两种模态,从而降低视觉-语言预训练的成本。

为什么重要

在 BLIP 出现之前,视觉-语言预训练的主流做法是收集大规模图文对、做端到端训练。论文指出的痛点有两层。

第一层是任务割裂。论文称,大多数已有预训练模型只在基于理解的任务或基于生成的任务之一上擅长,难以灵活迁移到两类任务。对图像-文本检索、图像描述(image captioning)、视觉问答(Visual Question Answering,VQA)这类需求并存的下游场景,这意味着要为不同任务准备不同模型。

第二层是数据质量。网络图文对规模大但噪声多,论文把这种监督来源称为次优(suboptimal)。单纯扩大数据量并不能保证监督信号的质量,而人工标注高质量图文对代价高昂。

到 BLIP-2 时,论文强调的痛点转向成本:由于要对大规模模型做端到端训练,视觉-语言预训练的开销变得越来越难以承受。BLIP-2 因此提出一种通用且高效的预训练策略,从现成的冻结预训练图像编码器与冻结大语言模型出发做自举。

工作机制

BLIP:自举标题(caption)

BLIP 的核心做法是「自举标题」,即用模型自身参与训练数据的清洗与扩充。按论文摘要,其流程可拆为两步:

  • 生成:由一个标题生成器(captioner)产生合成标题,为图像配上新的文本描述。
  • 过滤:由一个过滤器(filter)去除带噪的标题,保留质量较好的图文对。

这样,原本含噪的网络图文对经过「生成—过滤」被重新加工,成为更可用的监督信号,论文称 BLIP 由此有效利用了含噪的网络数据。同时,该框架被设计为可灵活迁移到视觉-语言的理解与生成两类任务,而不是偏向其中一类。

BLIP-2:从冻结模型自举

BLIP-2 的思路是把「自举」用于模型复用而非数据清洗。按论文摘要,它用轻量的查询变换器(Querying Transformer)桥接模态鸿沟,并分两个阶段预训练:

  • 第一阶段:从冻结的图像编码器自举视觉-语言表征学习。
  • 第二阶段:从冻结的语言模型自举视觉到语言的生成式学习。

由于图像编码器与大语言模型都保持冻结,可训练参数集中在轻量桥接结构上,论文称其可训练参数显著少于已有方法。

典型例子

两篇论文给出的任务与结果,可作为该框架的典型用法示例。以下数字均出自对应论文摘要,属于论文自报结果,并非独立复现。

论文任务论文报告的结果
BLIP图像-文本检索平均 recall@1 提升 2.7%
BLIP图像描述CIDEr 提升 2.8%
BLIP视觉问答VQA score 提升 1.6%
BLIP-2零样本 VQAv2比 Flamingo80B 高 8.7%,可训练参数少 54 倍

BLIP 论文还称,模型以零样本(zero-shot)方式直接迁移到视频-语言任务时表现出较强的泛化能力,并公开了代码、模型与数据集。BLIP-2 论文则展示了零样本图像到文本生成的能力,可遵循自然语言指令。

边界与常见误解

第一,BLIP 与 BLIP-2 不是同一件事。前者自举的是标题数据,用生成器加过滤器处理含噪网络图文对;后者自举的是现成冻结模型,用查询变换器连接冻结图像编码器与冻结大语言模型。把两者混为一谈,会误读它们各自解决的瓶颈。

第二,「自举」不等于无需数据或无需训练。BLIP 仍依赖网络图文对作为起点,只是对其做再加工;BLIP-2 仍需要两阶段预训练,只是把大部分参数冻结起来。论文强调的是效率与数据利用方式,而非零成本。

第三,上述性能数字是论文在特定评测设置下报告的结果,涉及具体基线、数据与指标定义,不能外推为任意场景下的普遍增益。论文所称的「state-of-the-art」也是相对于其发表时的对比对象而言。

第四,过滤器与标题生成器本身会引入偏差:被过滤掉的数据不再参与训练,合成标题的风格也会影响模型学到的语言分布。这一点属于对机制的通用分析,并非论文给出的实验结论。

第五,BLIP-2 冻结图像编码器与大语言模型,意味着其能力上限受这两个现成模型约束;桥接结构能传递多少信息,是这类设计的已知代价所在。

参考资料