多模态大模型技术点总结
BLIP2
论文地址: https://arxiv.org/pdf/2301.12597
发布时间: 2023.06.15
模型结构:
- Vision Encoder:ViT-L/14
- VL Adapter:Q-Former
- LLM:OPT (decoder-based),FlanT5(encoder-decoder-based)

Overview of BLIP-2's framework
论文主要提出 Q-Former(Lightweight Querying Transformer)用于连接模态之间的 gap。BLIP-2 整体架构包括三个模块:视觉编码器、视觉和 LLM 的 Adapter(Q-Former)、LLM。其中 Q-Former 是 BLIP-2 模型训练过程中主要更新的参数,视觉 Encoder 和大语言模型 LLM 在训练过程中冻结参数。
BLIP-2 的预训练包括两个阶段:
Stage 1)Vision-and-Language Representation Learning. Q-Former 与冻结的 Image Encoder(ViT-L/14) 连接,在和文本交互中学习图文相关性表示(3 个预训练任务)。
Stage 2)Vision-to-Language Generative Learning. 第一个阶段训练得到的 Q-Former 的输出接入一个大语言模型,学习视觉到文本生成(1 个预训练任务)。
阶段 1 详解

阶段 1:左侧为 Q-Former 的结构以及如何学习视觉文本表征,右侧 self-attention masking 策略
阶段 1:Q-Former 的结构如上图所示,包括两个 Transformer 子模块(共享 Self-Attention 层),一个 image transformer 与 image encoder 交互提取视觉表征(图中黄色区域左侧),一个 text transformer 既作为 text encoder 也作为 text decoder(图中黄色区域右侧)。首先创建一个可学习的 query 向量(Learnable query embeddings)作为 image transformer 的输入,queries 通过 self-attention 层进行自我交互,然后与冻结参数的 image features(来自 image encoder)通过 cross-attention 层(插入每隔一个 block)进行交互,此外这个 query 向量还与 text 通过同一个 self-attention 进行交互。在不同的预训练任务中,使用不同的 self-attention masks 来影响查询文本的交互,在这个阶段的预训练中,一共通过三个任务进行学习(类似 BLIP),分别为:
- ITM(Image-Text Matching): 图文匹配任务,使用双向 self-attention mask,不进行掩码,该任务目标是学习细粒度的图文表示对齐。训练过程中 queries 和 text 可以完全互相看到,query embeddings 的输出 Z 包含了多模态的信息,将它输入一个 2 分类 linear 层得到一个 logit,平均来自所有 queries 的 logits 作为最终的匹配分数,论文采纳了难负样例挖掘的策略创建更具信息量的负样本对。
- ITG(Image-Guided Text Generation): 图引导文本生成,使用 causal self-attention mask,由 q-former 的架构可以看到,冻结的 image encoder 没有和 text tokens 直接交互,而生成 (generation) 所需要的信息必须首先通过 queries 提取视觉信息以及通过 self-attention 传给 text tokens,因此 queries 被迫学习抽取可以描述文本信息的视觉特征。论文使用 multimodal causal self-attention mask 来控制 query 和 text 的交互(同 UniLM 中的使用),queries 可以看到自己但看不到 text tokens,text tokens 可以看到 queries 以及已经生成的 text tokens,用 [DEC] token 取代 [CLS] token 作为第一个 text token 来指示解码任务的开始。

















