【论文笔记】xGen-MM-Vid (BLIP-3-Video): You Only Need 32 Tokens to Represent a Video Even in VLMs

基本信息

标题: xGen-MM-Vid (BLIP-3-Video): You Only Need 32 Tokens to Represent a Video Even in VLMs
作者: Michael S. Ryoo, Honglu Zhou, Shrikant Kendre, Can Qin, Le Xue, Manli Shu, Silvio Savarese, Ran Xu, Caiming Xiong, Juan Carlos Niebles
arXiv: https://arxiv.org/abs/2410.16267

基本信息

摘要

我们提出了xGen-MM-Vid(BLIP-3-Video):一种针对视频的多模态语言模型,特别设计用于高效捕捉多帧中的时间信息。

BLIP-3-Video除了传统的视觉tokenizer外,还利用了temporal encoder,将多个帧中的序列分词映射成一个紧凑的视觉token集。这使得BLIP3-Video使用的视觉token比其竞争模型少得多(32 vs 4608)。

我们探讨了不同类型的temporal encoder,包括learnable spatio-temporal pooling以及序列模型如Token Turing Machines。

我们通过实验证实,BLIP-3-Video在视频问答准确率上与更大规模的最先进模型(例如,34B)相当,同时由于使用了更少的视觉token,其体积更小(即4B)且效率更高。

项目网站为https://www.salesforceairesearch.com/opensource/xGen-MM-Vid/index.html

方法

模型架构

模型架构

  • Vision Encoder: SigLIP ViT
  • LLM: Phi-3
  1. 视频均匀采样8帧逐帧输入Vision Encoder,得到8 ∗ 729个视觉token
  2. 视觉token输入Perceiver-Resampler进行重采样,得到8 * 128个视觉token
  3. 通过Temporal Encoder将8 * 128个视觉token变为16~128个token用于表示整个视频的信息

Temporal Encoder

不同类型的Temporal Encoder

不同类型的Temporal Encoder。

  • (a):x1,,M={t(v(i,t))}i=1Mx_{1,\ldots, M} = \left\{ \sum_{t} \left( v_{(i, t)} \right) \right\}_{i=1}^{M}
  • (b):x1,,M={Transformer(v)}NTM+1NTx_{1,\ldots, M} = \left\{ \operatorname{Transformer}(v) \right\}_{N \cdot T - M + 1}^{N \cdot T}
  • ©: TokenLearner
  • (d): Token Turing Machines (TTM)

TokenLearner

xi=A(V)V=softmax(α(VT))Vx_i = A(V) \cdot V = \operatorname{softmax}(\alpha(V^T)) \cdot V

VV 为 视觉tokenv(1,1),,(N,T)v_{(1,1),\ldots,(N, T)} 拼接而成的矩阵

α()\alpha(\cdot) 在 Perceiver 中为α(V)=QVTc\alpha(V) = \frac{Q \cdot V^T}{c},其中Q=m|Q|=m 即所需要输出的token个数,QQ 为可学习的向量;在 TokenLearner 中为α(V)=MLPm(VT)\alpha(V) = \operatorname{MLP}_{m}(V^T)

训练

使用 BLIP-3 的预训练权重,Temporal Encoder 则随机初始化。

8 × H100 GPUs

❄️ Vision Encoder
🔥 Other

三阶段训练:

  1. 图像描述预训练
  2. 视频描述预训练
  3. 视频指令微调

实验

主实验

table 1

table 2

table 6

消融实验

不同Temporal Encoder的消融实验

其他消融实验

总结

我们介绍了BLIP-3-Video,这是一个具有4B参数的高效、紧凑的视频视觉语言模型。

BLIP-3-Video在其架构中集成了时间编码器,这使得模型能够用尽可能少的16或32个标记来抽象整个视频。

与许多利用数千个视觉标记来表示视频(例如4608)的最先进视频视觉语言模型相比,BLIP-3-Video在利用更少的视觉标记(例如32)的情况下表现出竞争力。