Skip to content

BLIP-2:可扩展的多模态预训练

1. 概览

我们提出了 BLIP-2,一种可扩展的多模态预训练方法,使任何大型语言模型(LLM)都能够摄取和理解图像,解锁零样本(zero-shot)图像到文本生成的能力,并为世界上第一个开源多模态聊天机器人原型奠定基础。

BLIP-2 在各种视觉语言任务上实现了最先进的性能,以明显更少的可训练参数超越了现有方法。值得注意的是,该模型在零样本 VQAv2 上的性能比 Flamingo-80B 高出 8.7%,同时可训练参数减少了 54 倍。该论文还展示了 BLIP-2 在零样本图像到文本生成方面的新兴能力:模型可以遵循自然语言指令。本文将更深入地研究 BLIP-2,并探讨其在视觉和语言研究领域的潜在应用。

OpenAI 发布的 GPT-4 是一种强大的新型多模态 AI 模型,能够接受图像输入并生成文本。然而,这种能力并不新鲜,在 BLIP-2 于 2023 年 1 月 30 日发布的模型和原型中已经有所体现。下面讨论 BLIP-2 与 GPT-4 之间的差异。

2. BLIP-2 与 GPT-4

  • 通用与特定:BLIP-2 是一种新颖且通用的视觉语言预训练方法,可以使任何 LLM 系列理解图像并解锁零样本图像到文本生成能力。GPT-4 是一种特定类型的预训练模型,其技术新颖性尚不清楚(未公开)。
  • 开源与闭源(仅限 API):BLIP-2 的代码和模型在 LAVIS 库中开源,并集成到 Hugging Face Transformers 中。GPT-4 是闭源模型,仅提供付费 API 服务。
  • 快与慢:BLIP-2 的运行速度比 GPT-4 快得多。在单个 GPU 上,BLIP-2 对每个图像的推理时间约为 1 秒;而 GPT-4 的多模态推理处理一张图像需要近 40 秒。
  • 无监督学习与(大概)监督学习:BLIP-2 基于从互联网自动爬取的大量噪声图像-文本对进行训练。GPT-4 的学习范式尚未发布,但从 ChatGPT 可以合理推断其可能使用了大型人工标注数据集。

3. 使用 BLIP-2 克服视觉语言预训练障碍

近年来,视觉语言预训练(VLP)发展迅速,更大的模型在各种下游任务上不断改进。然而,这些最先进的模型在预训练期间需要很高的计算成本。为了解决这个问题,作者提出了一种计算效率更高的 VLP 方法:利用现成的预训练视觉和语言模型,这些模型在预训练期间保持冻结状态。预训练的视觉模型提供高质量的视觉表示,预训练的 LLM 提供强大的语言生成和零样本迁移能力。

BLIP-2 是一种可扩展的多模态预训练方法,使任何 LLM 都能理解图像,同时保持其参数完全冻结。它比现有的多模态预训练方法具有更高的计算效率。BLIP-2 使用冻结图像编码器和冻结 LLM 有效引导语言-图像预训练。例如,要将现有的 11B LLM 转变为最先进的多模态基础模型,只需要训练不到 2% 的参数(仅 188M 可训练参数)。

对于 LLM 来说,理解视觉内容的关键是弥合视觉与语言模态之间的差距。由于 LLM 在自然语言预训练期间没有看到任何图像,因此弥合模态差距具有挑战性,尤其是当 LLM 保持冻结状态时。为此,作者提出了一种轻量级模块 Querying Transformer(Q-Former),使用新的两阶段预训练策略进行预训练,可以有效增强视觉语言模型。

Q-Former 是一种轻量级 Transformer,它使用可学习的查询向量从冻结图像编码器中提取视觉特征。预训练后,Q-Former 可以有效地充当冻结图像编码器和冻结 LLM 之间的桥梁,为 LLM 提供最有用的视觉特征以输出所需的文本,从而缩小模态差距。

  • 第一阶段:视觉和语言表示学习。在此阶段,Q-Former 连接到冻结图像编码器,并使用图像-文本对进行预训练。Q-Former 学习提取与相应文本最相关的图像特征。作者重新设计了 BLIP 的预训练目标,用于视觉和语言表示学习。
  • 第二阶段:视觉到语言的生成学习。在此阶段,Q-Former 的输出连接到冻结的 LLM,执行视觉到语言的生成学习。Q-Former 被预训练为使其输出特征可以由 LLM 解释,以生成相应的文本。作者尝试了基于解码器的 LLM(例如 OPT)和基于编码器-解码器的 LLM(例如 FLAN-T5)。

在推理过程中,只需将文本指令附加在 Q-Former 的输出之后作为 LLM 的输入。作者尝试了各种图像编码器和 LLM,并得出了一个有希望的观察结果:更强的图像编码器和更强的 LLM 都可以使 BLIP-2 获得更好的性能。这一观察结果表明,BLIP-2 是一种通用的视觉语言预训练方法,可以有效地收获视觉和自然语言社区的快速进步,是构建多模态对话式 AI 代理的重要突破性技术。

4. BLIP-2 的工作原理

BLIP-2 框架概述

图 1:BLIP-2 框架概述。图片来自论文中的图 1。

BLIP-2 的关键思想可以概括为:

  • BLIP-2 有效地结合了冻结的预训练图像模型和语言模型,在各种视觉语言任务上实现出色的性能,包括视觉问答、图像描述和图像-文本检索。为了弥补模态差距,BLIP-2 采用了 Q-Former 模型,该模型分两个阶段进行预训练:首先用于表示学习,然后用于生成学习。
  • 由于使用了 OPTFLAN-T5 等大型语言模型,BLIP-2 甚至可以按照自然语言指令执行零样本图像到文本生成,从而实现视觉知识推理和视觉对话等新功能。
  • 由于使用了冻结单模态模型和轻量级 Q-Former,BLIP-2 具有显著的计算效率。它在零样本 VQAv2 上的性能比 Flamingo 等现有最先进方法高出 8.7%,而可训练参数仅减少了 54 倍。

4.1 Q-Former

Q-Former 架构

图 2:Q-Former 和 BLIP-2 第一阶段视觉语言表示学习目标的模型架构。图片来自论文中的图 2(左)。

Q-Former 的关键设计要点包括:

  • 作为可训练模块连接冻结图像编码器和冻结 LLM。
  • 无论输入图像分辨率如何,都从图像编码器中提取固定数量的输出特征。
  • 由两个共享相同自注意力层的 Transformer 子模块组成:第一个是图像 Transformer,与冻结图像编码器交互以提取视觉特征;第二个是文本 Transformer,可以充当文本编码器和文本解码器。
  • 为图像 Transformer 创建了一组可学习的查询嵌入。查询通过自注意力层相互交互,并通过交叉注意力层(每隔一个 Transformer 块插入)与冻结图像特征交互。此外,查询可以通过相同的自注意力层与文本交互。
  • 根据预训练任务,使用不同的自注意力掩码控制查询和文本之间的交互。
  • Q-Former 使用 BERT-base 的预训练权重进行初始化,而交叉注意力层则随机初始化。
  • Q-Former 架构仅包含 188M 可训练参数,远少于完整微调方法。
  • 作者使用了 32 个查询,每个查询的维度为 768(与 Q-Former 的隐藏维度相同)。
  • Z 表示图 2 中的输出查询表示,其尺寸为 32×768,比冻结图像特征(例如 CLIP ViT-L/14 的 257×1024)小得多。
  • 这种瓶颈架构与预训练目标一起,强制查询提取与文本最相关的视觉信息。

4.2 从冻结图像编码器学习引导视觉语言表示

在表示学习阶段,Q-Former 与冻结图像编码器结合使用,利用图像-文本对进行预训练。Q-Former 的主要目的是学习提取文本中信息量最大的视觉表示。作者联合优化了三个预训练目标。在所有三个目标期间,输入格式和模型参数是共享的;主要区别在于查询和文本之间使用不同的掩码策略来控制交互。

自注意力掩码策略

图 3:每个目标控制查询-文本交互的自注意力掩码策略。图片来自论文中的图 2(右)。

4.2.1 图像-文本对比学习(ITC)

这是一个典型的对比学习流程,模型学习对齐图像和文本表示以最大化它们的互信息。为了实现这一目标,作者将正图像-文本对与负图像-文本对的相似性进行对比。来自图像 Transformer 的输出查询表示 Z 与来自文本 Transformer 的文本表示 t 进行比较。使用单模态自注意力掩码防止查询和文本相互看到,以避免信息泄漏。

4.2.2 基于图像的文本生成(ITG)

ITG 损失用于训练 Q-Former 根据给定输入图像生成文本。然而,Q-Former 架构缺乏冻结图像编码器和文本 token 之间的直接通信路径。要生成文本,必须首先通过查询提取必要信息,然后通过自注意力层将其转发到文本 token。因此,查询被迫提取包含所有文本信息的视觉特征。为了调节查询-文本交互,作者采用了多模态因果自注意力掩码:查询可以相互交互,但无法处理文本 token;每个文本 token 可以处理所有查询及其先前的文本 token。

4.2.3 图像-文本匹配(ITM)

ITM 的目标是建立图像和文本表示之间的详细关联。ITM 是一项二元分类任务,模型必须预测图像-文本对是正(匹配)还是负(不匹配)。为了实现这一目标,作者使用双向自注意力掩码,允许所有查询和文本相互关注,从而产生捕获多模态信息的输出查询嵌入 Z。然后将这些嵌入输入二类线性分类器,获得每个嵌入的 logit;输出匹配分数通过对所有查询的 logits 取平均得到。

4.3 从冻结 LLM 中引导视觉到语言的生成学习

生成预训练阶段通过将冻结 LLM 连接到 Q-Former(带有冻结图像编码器)来利用冻结 LLM 的生成语言能力。如图 4 所示,全连接(FC)层用于线性投影输出查询嵌入 Z,以匹配 LLM 文本嵌入的维度。这些投影嵌入充当软视觉提示(soft visual prompts),使 LLM 能够合并 Q-Former 提取的视觉信息。

由于 Q-Former 已经过预训练,可以提取包含语言信息的视觉表示,因此它充当信息瓶颈,向 LLM 提供相关信息,同时过滤掉不相关的视觉数据。这有助于减轻 LLM 学习视觉-语言对齐的负担,从而缓解灾难性遗忘问题。

BLIP-2 第二阶段

BLIP-2 的第二阶段:从冻结的大型语言模型中引导视觉到语言生成预训练。图片来自论文中的图 3。

作者尝试了两种类型的 LLM:基于解码器的 LLM 和基于编码器-解码器的 LLM。

  • 对于基于解码器的 LLM,使用语言建模损失进行预训练,其中冻结 LLM 的任务是生成以 Q-Former 视觉表示为条件的文本。
  • 对于基于编码器-解码器的 LLM,使用前缀语言建模损失进行预训练。文本被分为两部分:前缀文本与视觉表示连接起来作为 LLM 编码器的输入,后缀文本作为 LLM 解码器的生成目标。

5. BLIP-2 的限制

尽管最近的大语言模型可以在给定少量示例的情况下实现上下文学习,但在提供上下文 VQA 示例的情况下,BLIP-2 的实验并未提高 VQA 性能。论文作者将 BLIP-2 缺乏上下文学习能力归因于所使用的预训练数据集。这一观察也在 Flamingo 论文中得到了证实:Flamingo 使用了一个闭源的交错图像和文本数据集,每个序列中包含多个图像-文本对。作者计划在未来的工作中创建类似的数据集。

由于多种原因,包括来自 LLM 的不准确知识、激活错误的推理路径,或对新图像内容没有最新信息,BLIP-2 的图像到文本生成可能会产生不尽人意的结果。此外,作者提到了与 LLM 相关的风险,例如输出冒犯性语言、传播社会偏见或泄露私人信息,并建议采取补救措施,例如使用指令引导模型生成,或在过滤有害内容的数据集上进行训练。

总结

BLIP-2 是一种创新且资源高效的视觉语言预训练方法,利用了冻结的预训练图像编码器和 LLM。在预训练过程中,BLIP-2 具有极少的可训练参数,在各种视觉语言任务上取得了出色的结果。此外,BLIP-2 展示了在零样本指令下生成图像到文本描述的有希望的能力,是朝着创建多模态对话人工智能代理迈出的关键一步。

6. 资源

查看这些使用 BLIP 和 BLIP-2 执行各种任务的项目和资源:

Maintained by Robin