VLM经典论文阅读:【综述】An Introduction to Vision-Language Modeling

VLM经典论文阅读:【综述】An Introduction to Vision-Language Modeling

  • [【前言】论文简介 🍀](#【前言】论文简介 🍀)
  • 1、介绍(Introduction)🐳
  • [2、视觉语言模型家族(The Families of VLMs) 🌟](#2、视觉语言模型家族(The Families of VLMs) 🌟)
    • [2.1 基于Transformer的早期VLM工作(Early work on VLMs based on transformers)](#2.1 基于Transformer的早期VLM工作(Early work on VLMs based on transformers))
    • [2.2 基于对比学习的VLM(Contrastive-based VLMs)](#2.2 基于对比学习的VLM(Contrastive-based VLMs))
      • [2.2.1 CLIP](#2.2.1 CLIP)
    • [2.3 掩码目标视觉语言模型(VLMs with masking objectives)](#2.3 掩码目标视觉语言模型(VLMs with masking objectives))
      • [2.3.1 FLAVA](#2.3.1 FLAVA)
      • [2.3.2 MaskVLM](#2.3.2 MaskVLM)
      • [2.3.3 VLM目标的信息论观点(Information theoretic view on VLM objectives)](#2.3.3 VLM目标的信息论观点(Information theoretic view on VLM objectives))
    • [2.4 基于生成的视觉语言模型(Generative-based VLMs)](#2.4 基于生成的视觉语言模型(Generative-based VLMs))
      • [2.4.1 学习一个文本生成器的例子:CoCa(An example of learning a text generator: CoCa)](#2.4.1 学习一个文本生成器的例子:CoCa(An example of learning a text generator: CoCa))
      • [2.4.2 多模态生成模型实例:Chameleon 和 CM3leon(An example of multi-modal generative model: Chameleon and CM3leon)](#2.4.2 多模态生成模型实例:Chameleon 和 CM3leon(An example of multi-modal generative model: Chameleon and CM3leon))
      • [2.4.3 利用生成式文本到图像模型解决下游视觉-语言任务(Using generative text-to-image models for downstream vision-language tasks)](#2.4.3 利用生成式文本到图像模型解决下游视觉-语言任务(Using generative text-to-image models for downstream vision-language tasks))
    • [2.5 基于预训练主干网络的视觉语言模型(VLMs from Pretrained Backbones)](#2.5 基于预训练主干网络的视觉语言模型(VLMs from Pretrained Backbones))
      • [2.5.1 冻结权重(Frozen)](#2.5.1 冻结权重(Frozen))
      • [2.5.2 示例:MiniGPT(The example of MiniGPT)](#2.5.2 示例:MiniGPT(The example of MiniGPT))
      • [2.5.3 基于预训练主干网络的其他主流模型(Other popular models using pretrained backbones)](#2.5.3 基于预训练主干网络的其他主流模型(Other popular models using pretrained backbones))
  • [3、视觉语言模型训练指导(A Guide to VLM Training)](#3、视觉语言模型训练指导(A Guide to VLM Training))
    • [3.1 训练数据(Training data)](#3.1 训练数据(Training data))
      • [3.1.1 用合成数据改善训练数据(Improving the training data with synthetic data)](#3.1.1 用合成数据改善训练数据(Improving the training data with synthetic data))
      • [3.1.2 使用数据增强技术(Using data augmentation)](#3.1.2 使用数据增强技术(Using data augmentation))
      • [3.1.3 交织式数据筛选(Interleaved data curation)](#3.1.3 交织式数据筛选(Interleaved data curation))
      • [3.1.4 多模态数据质量评估(Assessing multimodal data quality)](#3.1.4 多模态数据质量评估(Assessing multimodal data quality))
      • [3.1.5 利用人类专业知识:数据标注的力量(Harnessing human expertise: the power of data annotation)](#3.1.5 利用人类专业知识:数据标注的力量(Harnessing human expertise: the power of data annotation))
    • [3.2 软件(Software)](#3.2 软件(Software))
      • [3.2.1 使用现有的公共软件库(Using existing public software repositories)](#3.2.1 使用现有的公共软件库(Using existing public software repositories))
      • [3.2.2 我需要多少 GPU?(How many GPUs do I need?)](#3.2.2 我需要多少 GPU?(How many GPUs do I need?))
      • [3.2.3 加速训练(Speeding up training)](#3.2.3 加速训练(Speeding up training))
      • [3.2.4 其他超参数的重要性(Importance of other hyper-parameters)](#3.2.4 其他超参数的重要性(Importance of other hyper-parameters))
    • [3.3 使用哪种模型?(Which model to use?)](#3.3 使用哪种模型?(Which model to use?))
      • [3.3.1 何时使用类似 CLIP 的对比模型?(When to use contrastive models like CLIP?)](#3.3.1 何时使用类似 CLIP 的对比模型?(When to use contrastive models like CLIP?))
      • [3.3.2 何时使用掩码?(When to use masking?)](#3.3.2 何时使用掩码?(When to use masking?))
      • [3.3.3 何时使用生成模型?(When to use a generative model?)](#3.3.3 何时使用生成模型?(When to use a generative model?))
      • [3.3.4 何时在预训练骨干上使用大型语言模型?(When to use LLM on pretrained backbone?)](#3.3.4 何时在预训练骨干上使用大型语言模型?(When to use LLM on pretrained backbone?))
    • [3.4 提升定位能力(Improving grounding)](#3.4 提升定位能力(Improving grounding))
      • [3.4.1 使用边界框标注(Using bounding boxes annotations)](#3.4.1 使用边界框标注(Using bounding boxes annotations))
      • [3.4.2 负样本标注(Negative captioning)](#3.4.2 负样本标注(Negative captioning))
    • [3.5 提升对齐能力(Improving alignment)](#3.5 提升对齐能力(Improving alignment))
      • [3.5.1 LLaVA 案例(A LLaVA story)](#3.5.1 LLaVA 案例(A LLaVA story))
      • [3.5.2 多模态上下文学习(Multimodal in-context learning)](#3.5.2 多模态上下文学习(Multimodal in-context learning))
    • [3.6 提升富文本图像理解(Improving text-rich image understanding)](#3.6 提升富文本图像理解(Improving text-rich image understanding))
    • [3.7 参数高效微调(Parameter-Efficient Fine-Tuning)](#3.7 参数高效微调(Parameter-Efficient Fine-Tuning))
  • [4、负责任的 VLM 评估方法(Approaches for Responsible VLM Evaluation)](#4、负责任的 VLM 评估方法(Approaches for Responsible VLM Evaluation))
    • [4.1 视觉-语言能力基准评估(Benchmarking visio-linguistic abilities)](#4.1 视觉-语言能力基准评估(Benchmarking visio-linguistic abilities))
      • [4.1.1 图像描述(Image captioning)](#4.1.1 图像描述(Image captioning))
      • [4.1.2 文本到图像一致性(Text-to-image consistency)](#4.1.2 文本到图像一致性(Text-to-image consistency))
      • [4.1.3 视觉问答(Visual question answering)](#4.1.3 视觉问答(Visual question answering))
      • [4.1.4 以文本为中心的视觉问答(Text-centric Visual Question Answering)](#4.1.4 以文本为中心的视觉问答(Text-centric Visual Question Answering))
      • [4.1.5 零样本图像分类(Zero-shot image classification)](#4.1.5 零样本图像分类(Zero-shot image classification))
      • [4.1.6 视觉-语言组合推理(Visio-linguistic compositional reasoning)](#4.1.6 视觉-语言组合推理(Visio-linguistic compositional reasoning))
      • [4.1.7 密集标题与裁剪-标题匹配(Dense captioning and crop-caption matching)](#4.1.7 密集标题与裁剪-标题匹配(Dense captioning and crop-caption matching))
      • [4.1.8 基于合成数据的视觉语言评估(Synthetic data based visio-linguistic evaluations)](#4.1.8 基于合成数据的视觉语言评估(Synthetic data based visio-linguistic evaluations))
    • [4.2 视觉语言模型中的偏差与差异基准评估(Benchmarking Bias and disparities in VLMs)](#4.2 视觉语言模型中的偏差与差异基准评估(Benchmarking Bias and disparities in VLMs))
      • [4.2.1 通过分类基准评估偏差(Benchmarking bias via classifications)](#4.2.1 通过分类基准评估偏差(Benchmarking bias via classifications))
      • [4.2.2 通过嵌入评估偏差(Benchmarking bias via embeddings)](#4.2.2 通过嵌入评估偏差(Benchmarking bias via embeddings))
      • [4.2.3 语言偏差可能影响你的基准!(Language biases might impact your benchmark!)](#4.2.3 语言偏差可能影响你的基准!(Language biases might impact your benchmark!))
      • [4.2.4 评估训练数据中特定概念如何影响下游性能(Evaluating how specific concepts in the training data impact downstream performances)](#4.2.4 评估训练数据中特定概念如何影响下游性能(Evaluating how specific concepts in the training data impact downstream performances))
    • [4.3 幻觉评估(Benchmarking hallucinations)](#4.3 幻觉评估(Benchmarking hallucinations))
    • [4.4 记忆能力评估(Benchmarking memorization)](#4.4 记忆能力评估(Benchmarking memorization))
    • [4.5 红队测试(Red Teaming)](#4.5 红队测试(Red Teaming))
  • [5、将VLM扩展到视频(Extending VLMs to Videos)](#5、将VLM扩展到视频(Extending VLMs to Videos))
    • [5.1 基于BERT的早期视频工作(Early work on Videos based on BERT)](#5.1 基于BERT的早期视频工作(Early work on Videos based on BERT))
    • [5.2 使用早期融合的VLM实现文本生成(Enabling text generation using an early-fusion VLM)](#5.2 使用早期融合的VLM实现文本生成(Enabling text generation using an early-fusion VLM))
    • [5.3 使用预训练VLM(Using a pretrained LLM)](#5.3 使用预训练VLM(Using a pretrained LLM))
    • [5.4 评估中的机遇(Opportunities in evaluations)](#5.4 评估中的机遇(Opportunities in evaluations))
    • [5.5 利用视频数据的挑战(Challenges in leveraging video data)](#5.5 利用视频数据的挑战(Challenges in leveraging video data))
  • 6、结论(Conclusion)

【前言】论文简介 🍀

  • 📖 题目:An Introduction to Vision-Language Modeling
  • 🏫 单位:Meta相关
  • ✒️ 论文摘要:随着大型语言模型(LLM)近期备受瞩目,学界已出现多种尝试将其扩展至视觉领域。从能够引导人们穿越陌生环境的视觉助手,到仅凭高级文本描述即可生成图像的生成式模型,视觉语言模型(VLM)的应用将深远地影响人类与技术的交互方式。然而,要提高这些模型的可靠性,仍需克服诸多挑战,因为语言本质上是离散的,而视觉则演变于维度极高的空间中,其中的概念往往难以被简单地离散化。为了深入理解视觉到语言映射背后的机制,本文对VLM进行了介绍,旨在为有意涉足该领域的研究者提供参考。本文首先介绍了VLM的定义、工作原理及其训练方法,随后提出并探讨了VLM的评估方法,尽管本文主要关注从图像到语言的映射,但也探讨了将VLM扩展至视频领域的可能性。

1、介绍(Introduction)🐳

近年来,语言建模领域取得了令人瞩目的进展。许多大型语言模型(LLM)(如Llama或ChatGPT)如今已能解决种类繁多的任务,其应用正日益普及。这些原本主要局限于文本输入的模型,现已扩展至具备视觉输入能力。将视觉与语言相连将解锁众多应用,而这些应用正是当前基于人工智能的技术革命之关键。尽管已有若干工作将大型语言模型扩展至视觉领域,但语言与视觉的连接问题尚未得到彻底解决。例如,若无依赖额外数据标注的复杂工程辅助,大多数模型在理解空间关系或计数方面仍显吃力。许多视觉语言模型(VLM)也缺乏对属性和顺序的理解。它们往往会忽略输入提示词的某些部分,导致需投入大量精力进行提示词工程以获取预期结果。部分模型甚至会产生幻觉,生成非必需且不相关的内容。因此,开发可靠的模型仍是当前一个非常活跃的研究领域。

本文对视觉语言模型(VLM)进行了介绍,阐释了VLM的定义、训练方法,以及如何依据不同的研究目标对其进行有效评估。需要说明的是,本文不应被视为关于VLM的综述或详尽指南,因此并未旨在引用该研究领域的所有文献,亦未囊括该领域内的所有最佳实践。相反,本文旨在为VLM研究提供一个清晰易懂的入门介绍,并着重指出该领域研究的有效实践方法,这对于希望涉足该领域的学生或其他领域的研究人员将尤为有益。

本文首先介绍了不同的VLM训练范式,探讨了对比学习方法如何改变了这一领域,随后介绍了利用掩码策略或生成组件的方法,最后介绍了使用预训练主干网络(如LLM)的VLM。尽管将VLM归类并非易事,因为大多数模型都包含重叠的组件,但本文希望这种分类能帮助新研究人员在该领域探索,并阐明VLM背后的内部机制。

接下来,本文将介绍训练VLM的典型方法。例如,本文涵盖了以下问题:针对不同的研究目标,哪些数据集是合适的?应采用哪种数据管理策略?是否需要训练文本编码器,或可否利用预训练的LLM?以及对比损失对于视觉理解是否足够,或者生成组件是否是关键?本文还介绍了用于提升模型性能,以及增强接地和更好对齐的常用技术。

尽管提供模型训练方法是更好地理解VLM需求的关键一步,但提供对这些模型的稳健可靠评估同样重要。近期已引入许多用于评估VLM的基准,然而,其中一些基准存在研究人员必须注意到的固有局限性。通过讨论VLM基准的优势和劣势,本文希望能够阐明未来的挑战,以加深我们对VLM的理解。本文首先讨论评估VLM视觉-语言能力的基准,然后介绍如何衡量模型偏差。

下一代VLM将能够通过实现视频到语言的映射来理解视频。然而,视频所带来的挑战不同于图像,计算成本自然要高得多,但同时还有关于如何通过文本来映射时间维度的其他考量。通过阐明当前从视频中学习的方法,本文希望能突出需要应对的当前研究挑战。

通过降低VLM研究的门槛,本文希望为VLM更负责任的发展奠定基础,同时推动视觉理解的界限。

2、视觉语言模型家族(The Families of VLMs) 🌟

鉴于深度学习在计算机视觉和自然语言处理领域所取得的显著进展,学界已采取多项举措来连接这两个领域。本文重点关注基于 Transformer [Vaswani et al., 2017] 的最新技术,并将其归类为四种不同的训练范式(图1)。第一种是对比训练,这是一种常用的策略,它利用正例和反例对,VLM 被训练为预测正例对的相似表示,同时预测反例对的不同表示。第二种举措是掩码,它利用给定未被掩码的文本来重建被掩码的图像块。同样地,通过掩码标题中的词语,可以训练VLM在给定未被掩码图像的情况下重建这些词语。基于预训练主干的 VLM 通常利用 Llama [Touvron et al., 2023] 等开源 LLM,来学习图像编码器(该编码器也可能是预训练的)与 LLM 之间的映射。学习预训练模型之间的映射通常比从头开始训练文本和图像编码器在计算上成本更低。尽管这些方法大多利用中间表示或部分重建,但生成式 VLM 的训练方式使其能够生成图像或标题,鉴于这些模型的特性,它们的训练成本通常最高。本文强调这些范式并非相互排斥;许多方法依赖于对比、掩码和生成标准的混合。对于每种范式,本文仅介绍一到两个模型,以便为读者提供关于这些模型设计思路的一些高层次见解。


图1:VLM的家族。对比训练是一种常用的策略,它利用正例和反例对,VLM被训练为预测正例对的相似表示,同时预测反例对的不同表示。掩码是另一种可用于训练VLM的策略,它通过给定未被掩码的文本标题来重建缺失的图像块。同样地,通过掩码标题中的词语,可以训练VLM在给定未被掩码图像的情况下重建这些词语。尽管这些方法大多利用中间表示或部分重建,但生成式VLM的训练方式使其能够生成完整的图像或非常长的标题,鉴于这些模型的特性,它们的训练成本通常最高。基于预训练主干的VLM通常利用 Llama 等开源 LLM,来学习图像编码器(该编码器也可能是预训练的)与 LLM 之间的映射。重要的是要强调这些范式并非相互排斥;许多方法依赖于对比、掩码和生成标准的混合。

2.1 基于Transformer的早期VLM工作(Early work on VLMs based on transformers)

通过使用 Transformer 架构 [Vaswani et al., 2017],来自 Transformer 的双向编码器表示(BERT)[Devlin et al., 2019] 在当时显著超越了所有语言建模方法。毫不意外,研究人员已将 BERT 扩展到处理视觉数据。其中两个模型是 VisualBERT [Li et al., 2019] 和 ViLBERT [Lu et al., 2019],它们将文本与图像 token 结合起来。这些模型在两个目标上进行训练:1)一个旨在预测给定输入中缺失部分的经典掩码建模任务;以及 2)一个旨在预测标题是否实际描述了图像内容的句子-图像预测任务。通过利用这两个目标,这些模型在多项视觉-语言任务中取得了强大的性能,这主要归因于 Transformer 模型通过注意力机制学习将词语与视觉线索关联起来的能力。

2.2 基于对比学习的VLM(Contrastive-based VLMs)

对比训练方法确实通过基于能量的模型(Energy-Based Models, EBM)[LeCun et al., 2006] 的视角来更好地解释,在这种观点下,模型 E θ E_\theta Eθ(由 θ \theta θ 参数化)旨在为观测到的变量赋予低能量,而为未观测到的变量赋予高能量。来自目标分布的数据应具有低能量,而任何其他数据点应具有更高的能量。为训练这些模型,本文考虑使用参数为 θ \theta θ 的能量函数 E θ ( x ) E_\theta(\mathbf{x}) Eθ(x) 的输入数据 x \mathbf{x} x。相应的 Boltzman 分布密度函数可以写作:

p ( x ) = e − E θ ( x ) Z ( θ ) p(\mathbf{x}) = \frac{e^{-E_\theta(\mathbf{x})}}{Z(\theta)} p(x)=Z(θ)e−Eθ(x)

其中归一化因子 Z θ = ∑ x e − E θ ( x ) Z_\theta = \sum_{\mathbf{x}} e^{-E_\theta(\mathbf{x})} Zθ=∑xe−Eθ(x)。为了估计从中抽取输入数据的目标分布 P D P_D PD,我们原则上可以使用传统的最大似然目标函数:

arg ⁡ min ⁡ θ E x ∼ P D ( x ) [ − log ⁡ P θ ( x ) ] \arg \min_\theta E_{\mathbf{x} \sim P_D(\mathbf{x})}[- \log P_\theta(\mathbf{x})] argθminEx∼PD(x)[−logPθ(x)]

其梯度为:

∂ E x ∼ P D ( x ) [ − log ⁡ P θ ( x ) ] ∂ θ = E x + ∼ P D ( x ) [ ∂ E θ ( x + ) ∂ θ ] − E x − ∼ P θ ( x ) [ ∂ E θ ( x − ) ∂ θ ] \frac{\partial E_{\mathbf{x} \sim P_D(\mathbf{x})}[- \log P_\theta(\mathbf{x})]}{\partial \theta} = E_{\mathbf{x}^+ \sim P_D(\mathbf{x})}\left[\frac{\partial E_\theta(\mathbf{x}^+)}{\partial \theta}\right] - E_{\mathbf{x}^- \sim P_\theta(\mathbf{x})}\left[\frac{\partial E_\theta(\mathbf{x}^-)}{\partial \theta}\right] ∂θ∂Ex∼PD(x)[−logPθ(x)]=Ex+∼PD(x)[∂θ∂Eθ(x+)]−Ex−∼Pθ(x)[∂θ∂Eθ(x−)]

然而,上述方法要求 x − ∼ P θ ( x ) \mathbf{x}^- \sim P_\theta(\mathbf{x}) x−∼Pθ(x),这对应于从模型分布中采样的样本,而这可能是难以处理的(intractable)。目前存在几种技术来近似这种分布。其中一种依赖于马尔可夫链蒙特卡洛 (MCMC) 技术,通过迭代过程找到最小化预测能量的例子。第二种依赖于得分匹配 (Score Matching) [Hyvärinen, 2005] 和去噪得分匹配 (Denoising Score Matching) [Vincent, 2011] 准则,这些准则通过仅学习概率密度函数相对于输入数据的梯度来消除归一化因子。还有一类方法是噪声对比估计 (NCE) [Gutmann and Hyvärinen, 2010],大多数近期关于自监督学习 (Self-Supervised Learning) 和 VLM 的工作都基于此类方法。

与使用模型分布采样负样本不同,NCE背后的直觉是,在某些情况下,从噪声分布 u ′ ∼ p n ( u ′ ) \mathbf{u}' \sim p_n(\mathbf{u}') u′∼pn(u′) 中采样可能足以很好地近似模型分布的样本。尽管在理论上很难证明这种方法为何有效,但在最近的自监督学习 (SSL) 文献 [Chen et al., 2020] 中,有大量的经验证据表明基于 NCE 的方法是成功的。原始的 NCE 框架可以被描述为一个二元分类问题,其中模型应为来自真实数据分布的样本预测标签 C = 1 C=1 C=1,并为来自噪声分布的样本预测 C = 0 C=0 C=0。通过这样做,模型学习区分真实数据点和噪声数据点。因此,损失函数可以被定义为基于交叉熵的二元分类:
L NCE ( θ ) : = − ∑ i log ⁡ P ( C i = 1 ∣ x i ; θ ) − ∑ j log ⁡ P ( C j = 0 ∣ x j ; θ ) ( 1 ) L_{\text{NCE}}(\theta) := - \sum_i \log P (C_i = 1|\mathbf{x}_i; \theta) - \sum_j \log P (C_j = 0|\mathbf{x}_j; \theta) \quad (1) LNCE(θ):=−i∑logP(Ci=1∣xi;θ)−j∑logP(Cj=0∣xj;θ)(1)

其中 x i \mathbf{x}_i xi 从数据分布中采样,而 x j ∼ p n ( x ) \mathbf{x}_j \sim p_n(\mathbf{x}) xj∼pn(x)( j ≠ i j \neq i j=i)从噪声分布中采样。

Wu 等人 [2018] 引入了不含正样本对的 NCE,使用了具有显式归一化和温度参数 τ \tau τ 的非参数 Softmax。Oord 等人 [2018, CPC] 保留了非参数 Softmax,但使用了正样本对,并将这种方法命名为 InfoNCE,其损失函数如下:
L InfoNCE = − ∑ ( i , j ) ∈ P log ⁡ ( e CoSim ( z i , z j ) / τ ∑ k = 1 N e CoSim ( z i , z k ) / τ ) ( 2 ) L_{\text{InfoNCE}} = - \sum_{(i, j) \in \mathcal{P}} \log \left( \frac{e^{\text{CoSim}(\mathbf{z}_i, \mathbf{z}j) / \tau}}{\sum{k=1}^N e^{\text{CoSim}(\mathbf{z}_i, \mathbf{z}_k) / \tau}} \right) \quad (2) LInfoNCE=−(i,j)∈P∑log(∑k=1NeCoSim(zi,zk)/τeCoSim(zi,zj)/τ)(2)

InfoNCE 损失并未预测一个二元值,而是利用在模型表示空间中计算的距离度量,例如余弦相似度。这要求计算正样本对之间以及所有负样本对之间的距离。模型通过 Softmax 学习预测在表示空间中最接近的最有可能的样本对,同时将较低的概率分配给所有其他负样本对。对于诸如 SimCLR [Chen et al., 2020] 等自监督学习 (SSL) 方法,正样本对被定义为一个图像及其对应的手工数据增强版本(例如对原始图像应用灰度化),而负样本对则由一个图像和迷你批次中所有其他图像构成。基于 InfoNCE 的方法的主要缺点是引入了对迷你批次内容的依赖性。这通常需要较大的迷你批次,以使正样本和负样本之间的对比训练标准更有效。

2.2.1 CLIP

使用 InfoNCE 损失的常见对比方法是对比语言-图像预训练(CLIP)[Radford et al., 2021]。正样本对被定义为一个图像及其对应的真实(ground truth)标题,而负样本则被定义为该图像与迷你批次中所有描述其他图像的标题的组合。CLIP 的一个新颖之处在于训练模型将视觉和语言整合到一个共享的表示空间中。CLIP 训练随机初始化的视觉和文本编码器,使用对比损失将图像及其标题的表示映射到相似的嵌入向量。原始 CLIP 模型在从网络收集的 4 亿个(400 million)标题-图像对上进行训练,展示了卓越的零样本分类迁移能力。具体来说,一个 ResNet-101 CLIP 模型的零样本分类准确率达到 76.2%,与有监督的 ResNet [He et al., 2015] 模型性能相当,并在多项鲁棒性基准测试中超越了它。

SigLIP [Zhai et al., 2023b] 与 CLIP 相似,不同之处在于它使用基于二元交叉熵的原始 NCE 损失,而非使用基于 InfoNCE 的 CLIP 多类别目标函数。这一改变使得 SigLIP 在较小的批次规模下能实现比 CLIP 更好的零样本 (0-shot) 性能。

潜在语言图像预训练 (Latent language image pretraining, Llip) [Lavoie et al., 2024] 考虑到了同一图像可以有多种不同标题的事实。它提出通过一个交叉注意力模块,根据目标标题来条件化(condition)图像的编码。这种对标题多样性的考虑增加了表示的表达能力,通常能改善下游的零样本迁移分类和检索性能。

2.3 掩码目标视觉语言模型(VLMs with masking objectives)

掩码是深度学习研究中常用的一种技术。它可以被视为去噪自编码器 [Vincent et al., 2008] 的一种特定形式,其中噪声具有空间结构。它也与图像修复(inpainting)策略相关,Pathak 等人 [2016] 尤其利用该策略来学习强大的视觉表示。最近,BERT [Devlin et al., 2019] 在训练期间使用了掩码语言建模(MLM)来预测句子中缺失的 token。掩码特别适用于 Transformer 架构 [Vaswani et al., 2017],因为输入信号的 token 化使其更容易随机丢弃特定的输入 token。在视觉方面,也有多项工作通过使用掩码图像建模(MIM)来学习表示,例如 MAE [He et al., 2022] 或 I-JEPA [Assran et al., 2023]。自然地,也有工作将这两种技术结合起来训练 VLM。第一个例子是 FLAVA [Singh et al., 2022],它利用包括掩码在内的多种训练策略来学习文本和图像表示。第二个例子是 MaskVLM [Kwon et al., 2023],它是一个独立的模型。最后,本文将在信息论与掩码策略之间建立一些关联。

2.3.1 FLAVA

基于掩码方法的一个首要例子是基础语言和视觉对齐模型(FLAVA)[Singh et al., 2022]。它的架构包括三个核心组件,每个组件均基于 Transformer 框架并针对特定的模态进行定制。图像编码器采用 Vision Transformer (ViT) [Dosovitskiy et al., 2021],将图像处理成图像块进行线性嵌入和基于 Transformer 的表示,其中包括一个分类 token ([CLSI])。文本编码器使用 Transformer [Vaswani et al., 2017] 对文本输入进行 token 化,并将其嵌入到向量中进行上下文处理,输出隐藏状态向量以及一个分类 token ([CLST])。这两个编码器都使用掩码方法进行训练。在此基础上,多模态编码器融合了来自图像和文本编码器的隐藏状态,利用学习到的线性投影和 Transformer 框架内的交叉注意力机制来整合视觉和文本信息,并以一个额外的多模态分类 token ([CLSM]) 作为突出表示。该模型采用了结合多模态和单模态掩码建模损失以及对比目标的综合训练方案。它在包含 7000 万个公开图像和文本对的数据集上进行预训练。通过这种方法,FLAVA 展示了卓越的多功能性和有效性,在涵盖视觉、语言和多模态基准的 35 项不同任务中实现了最先进(state-of-the-art)的性能,从而证明了该模型理解和整合跨域信息的能力。

2.3.2 MaskVLM

FLAVA的一个限制是使用了像 dVAE [Zhang et al., 2019] 这样的预训练视觉编码器。为了构建一个较少依赖第三方模型的 VLM,Kwon 等人 [2023] 引入了 MaskVLM,它直接在像素空间和文本 token 空间应用掩码。使其在文本和图像上都能奏效的关键之一是利用信息在两种模态之间的流动;文本重建任务接收来自图像编码器的信息,反之亦然。

2.3.3 VLM目标的信息论观点(Information theoretic view on VLM objectives)

Federici 等人 [2020] 首先表明,VLM 可以被理解为通过减少多余信息和最大化预测信息来解决一个率失真问题。Dubois 等人 [2021] 更具体地表明,本文可以将数据 X \mathbf{X} X 上的任何变换 f ( X ) f(\mathbf{X}) f(X) 理解为隐式地诱导了一种等价关系,该关系将空间 f ( X ) f(\mathbf{X}) f(X) 划分为不相交的等价类。本文旨在约束条件密度在一个区域内保持不变,即 f ( x ) ∼ f ( x ′ )    ⟹    p ( z ∣ f ( x ) ) = p ( z ∣ f ( x ′ ) ) f(\mathbf{x}) \sim f(\mathbf{x}') \implies p(\mathbf{z}|f(\mathbf{x})) = p(\mathbf{z}|f(\mathbf{x}')) f(x)∼f(x′)⟹p(z∣f(x))=p(z∣f(x′)),其中 Z \mathbf{Z} Z 是 X \mathbf{X} X 的学习表示。这种观点统一了掩码和其他形式的数据增强,以及两种数据模态之间的选择函数;所有这些都可以表示为对数据进行的某种变换。

本文可以形式化相关的率失真问题(rate-distortion problem) [Shwartz Ziv and LeCun, 2024]: arg ⁡ min ⁡ p ( z ∣ x ) I ( f ( X ) ; Z ) + β ⋅ H ( X ∣ Z ) ( 3 ) \arg \min_{p(\mathbf{z}|\mathbf{x})} I(f(\mathbf{X}); \mathbf{Z}) + \beta \cdot H(\mathbf{X}|\mathbf{Z}) \quad (3) argp(z∣x)minI(f(X);Z)+β⋅H(X∣Z)(3)

为了恢复掩码 VLM 目标,本文对公式 (3) 进行边界约束: L = − ∑ x ∈ D E p ( f ) p ( Z ∣ f ( x ) ) [ log ⁡ q ( z ) + β ⋅ log ⁡ q ( x ∣ z ) ] ( 4 ) L = - \sum_{\mathbf{x} \in \mathcal{D}} E_{p(f)p(\mathbf{Z}|f(\mathbf{x}))} [\log q(\mathbf{z}) + \beta \cdot \log q(\mathbf{x}|\mathbf{z})] \quad (4) L=−x∈D∑Ep(f)p(Z∣f(x))[logq(z)+β⋅logq(x∣z)](4)

其中 log ⁡ q ( z ) \log q(\mathbf{z}) logq(z) 是熵瓶颈(entropy bottleneck),用于限制率 I ( f ( X ) ; Z ) I(f(\mathbf{X}); \mathbf{Z}) I(f(X);Z),从而去除多余信息。值得注意的是,在掩码 VLM 中,熵瓶颈通常受限于一个常数,该常数取决于通过掩码去除的信息量。对于多模态 VLM, Z \mathbf{Z} Z 中的信息量被减少到来自任一源的最小信息量。项 log ⁡ q ( x ∣ z ) \log q(\mathbf{x}|\mathbf{z}) logq(x∣z) 限制了失真 H ( Z ∣ X ) H(\mathbf{Z}|\mathbf{X}) H(Z∣X),并确保信息得以保留,从而最大化了预测信息。实际上,这一项是通过自编码实现的。相比之下,对比损失可以被视为没有数据重建的压缩。在这里,失真(参见公式 (2))对两种表示的等价性进行评分。InfoNCE 通过对哪个 Z \mathbf{Z} Z 与等价样本 X \mathbf{X} X 相关联进行分类,从而保留了必要的信息。

由于这种信息论视角,本文将对比损失和自编码损失理解为失真的实现,而率主要由所使用的数据变换决定。

2.4 基于生成的视觉语言模型(Generative-based VLMs)

与之前主要在潜在表示上操作以构建图像或文本抽象,然后进行相互映射的训练范式不同,生成式范式考虑的是文本和/或图像的生成。有些方法,如 CoCa [Yu et al., 2022b],学习完整的文本编码器和解码器,从而实现图像标题生成。其他一些方法,如 Chameleon Team [2024] 和 CM3leon [Yu et al., 2023],是多模态生成模型,它们经过明确训练以同时生成文本和图像。最后,一些模型仅训练用于根据文本生成图像,例如 Stable Diffusion [Rombach et al., 2022]、Imagen [Saharia et al., 2022] 和 Parti [Yu et al., 2022c]。然而,即使它们仅训练用于生成图像,也可以利用它们来解决多项视觉-语言理解任务。

2.4.1 学习一个文本生成器的例子:CoCa(An example of learning a text generator: CoCa)

除了在 CLIP 中效果良好的对比损失之外,对比标题生成器(CoCa)[Yu et al., 2022b] 还采用了生成式损失,该损失对应于由一个多模态文本解码器生成的标题。该解码器以(1)图像编码器输出和(2)单模态文本解码器产生的表示作为输入。这种新的损失使得模型无需进一步适应使用多模态融合模块,即可执行新的多模态理解任务(例如视觉问答 VQA)。CoCa 通过简单地将带标注的图像标签视为文本,从零开始进行预训练。预训练依赖于两个数据集:ALIGN(包含约 18 亿张带有替代文本的图像)以及 JFT-3B(一个包含超过 2.95 万个类别的内部数据集,但将类别标签视为替代文本)。

2.4.2 多模态生成模型实例:Chameleon 和 CM3leon(An example of multi-modal generative model: Chameleon and CM3leon)

Yu 等人 [2023] 提出了 CM3Leon,这是一个用于文本到图像和图像到文本生成的基础模型。CM3Leon 借鉴了 Gafni 等人 [2022] 的图像分词器(image tokenizer),该分词器将 256 × 256 256 \times 256 256×256 的图像编码为词汇量为 8192 的 1024 个 token。它借鉴了 Zhang 等人 [2022] 的文本分词器(text tokenizer),其词汇量大小为 56320。它引入了一个特殊 token 来指示模态之间的转换。这种分词方法使得模型能够处理交错的文本和图像。随后,这些经过分词的图像和文本被传递给一个仅解码器(decoder-only)的 Transformer 模型 [Brown et al., 2020, Zhang et al., 2022],该模型对 CM3Leon 进行参数化。

CM3Leon 模型经历了两阶段训练过程。第一阶段是检索增强预训练(Retrieval-Augmented Pretraining)。此阶段使用基于 CLIP 的编码器 [Radford et al., 2021] 作为密集检索器来获取相关且多样的多模态文档,并将这些文档预置到输入序列的前面。然后,模型对该输入序列使用下一词元预测(next token prediction)进行训练。检索增强有效地增加了预训练期间可用的 token 数量,从而提高了数据效率。第二阶段涉及有监督微调(Supervised Fine-Tuning, SFT),在此阶段,模型进行多任务指令调优。此阶段使模型能够处理和生成跨不同模态的内容,显著提高了其在包括文本到图像生成和语言引导图像编辑在内的各种任务上的性能。这些阶段共同使 CM3Leon 在多模态任务中实现了最先进的性能,展示了自回归模型处理文本和图像之间复杂交互能力的显著进步。

这项工作的一个扩展是 Chameleon,一个新的混合模态基础模型系列 [Team, 2024],它能够生成和推理交错的文本和图像内容混合序列。这种能力允许进行全面的多模态文档建模,超越了典型的多模态任务,如图像生成、图像理解和纯文本语言模型。Chameleon 在设计之初就独具匠心地采用混合模态,利用统一的架构,从零开始,以端到端的方式在所有模态------图像、文本和代码------的混合数据上进行训练。这种集成方法对图像和文本都采用了完全基于 token 的表示。通过将图像转换为离散的 token,类似于文本中的单词,相同的 Transformer 架构可以应用于图像和文本 token 的序列,而无需为每种模态单独的编码器。这种早期融合策略,即所有模态从一开始就被映射到共享的表示空间,实现了跨不同模态的无缝推理和生成。然而,这也带来了重大的技术挑战,尤其是在优化稳定性和扩展方面。这些挑战通过架构创新和训练技术的结合来解决,包括对 Transformer 架构的新颖修改,如查询-键归一化和修改后的层归一化位置,这对于混合模态环境中的稳定训练至关重要。此外,他们还展示了如何将用于纯文本语言模型的有监督微调方法适应到混合模态环境中,从而实现了大规模的强对齐。

2.4.3 利用生成式文本到图像模型解决下游视觉-语言任务(Using generative text-to-image models for downstream vision-language tasks)

近期,语言条件图像生成模型取得了重大进展 [Bie et al., 2023, Zhang et al., 2023a],包括 Stable Diffusion [Rombach et al., 2022] 和 Imagen [Saharia et al., 2022] 等扩散模型,以及 Parti [Yu et al., 2022c] 等自回归模型。尽管研究重点一直集中在它们的生成能力上,但实际上,无需任何重新训练,它们也可以直接用于分类或标题预测等判别性任务。这些生成模型经过训练来估计 p θ ( x ∣ c ) p_\theta(\mathbf{x} | \mathbf{c}) pθ(x∣c),即给定文本提示 c \mathbf{c} c 时图像 x \mathbf{x} x 的条件似然。随后,给定图像 x \mathbf{x} x 和一组 n n n 个文本类别 { c i } i = 1 n \{\mathbf{c}i\}{i=1}^n {ci}i=1n,可以通过贝叶斯定理轻松完成分类:

p θ ( c i ∣ x ) = p ( c i ) p θ ( x ∣ c i ) ∑ j p ( c j ) p θ ( x ∣ c j ) ( 5 ) p_\theta(\mathbf{c}_i | \mathbf{x}) = \frac{p(\mathbf{c}i) p\theta(\mathbf{x} | \mathbf{c}_i)}{\sum_j p(\mathbf{c}j) p\theta(\mathbf{x} | \mathbf{c}_j)} \quad (5) pθ(ci∣x)=∑jp(cj)pθ(x∣cj)p(ci)pθ(x∣ci)(5)

利用条件生成模型执行判别任务并非新想法,生成式分类或"通过合成进行分析"[Yuille and Kersten, 2006] 一直是基础方法背后的核心思想,例如朴素贝叶斯 [Rubinstein et al., 1997, Ng and Jordan, 2001] 和线性判别分析 [Fisher, 1936]。这些用于分类的生成方法传统上受到生成建模能力较弱的限制;然而,当今的生成模型非常出色,使得生成式分类器再次具有竞争力。

自回归模型的似然估计(Likelihood estimation with autoregressive models) 。 其他模态(如语言或语音)中大多数最先进的自回归模型作用于离散 token,而非原始输入。这对于本质上离散的语言和语音等模态来说相对简单,但对于图像等连续模态来说则很困难。为了有效利用 LLM 等自回归建模技术,实践者通常会训练一个图像分词器(image tokenizer),它将图像映射到离散 token 序列 ( t 1 , ... , t K ) (t_1, \dots, t_K) (t1,...,tK)。将图像转化为离散 token 序列(例如,对图像进行分词)后,图像似然的估计就变得简单直接:

log ⁡ p θ ( x ∣ c ) = ∑ j = 1 K log ⁡ p θ ( t j ∣ t < j , c ) ( 6 ) \log p_\theta(\mathbf{x} | \mathbf{c}) = \sum_{j=1}^K \log p_\theta(t_j | t_{<j}, \mathbf{c}) \quad (6) logpθ(x∣c)=j=1∑Klogpθ(tj∣t<j,c)(6)

其中 p θ p_\theta pθ 由自回归 VLM 进行参数化。鉴于这种分词是自回归 VLM 的关键部分,人们可能会问:我们如何训练图像分词器?许多当前的图像分词器都基于向量量化变分自编码器 (VQ-VAE) [Van Den Oord et al., 2017] 框架,该框架将一个自编码器(负责创建良好的压缩连续表示)与一个向量量化层(负责将连续表示映射到离散表示)结合在一起。该架构通常是一个卷积神经网络 (CNN) [LeCun and Bengio, 1998] 编码器,随后是向量量化层,再后是一个 CNN 解码器。实际的离散化步骤发生在向量量化层,该层将编码器输出映射到学习到的嵌入表中最接近的嵌入(这里的"学习"意味着嵌入表在整个训练过程中都会更新)。分词器的损失函数是像素空间中的重建损失(例如,输入和重建像素之间的 L2 距离)以及码本承诺损失(codebook commitment losses)的组合,后者旨在鼓励编码器输出和码本嵌入彼此接近。大多数现代图像分词器通过添加不同的损失或改变编码器/解码器的架构,对 VQ-VAE 框架进行了改进。值得注意的是,VQ-GAN [Esser et al., 2021] 添加了感知损失和对抗性损失(涉及在真实图像和重建图像之间引入判别器)以捕获更精细的细节。VIT-VQGAN [Yu et al., 2022a] 则使用 Vision Transformer 代替 CNN 作为编码器和解码器架构。

扩散模型的似然估计(Likelihood estimation with diffusion models) 。 使用扩散模型获取密度估计更具挑战性,因为它们不直接输出 p θ ( x ∣ c ) p_\theta(\mathbf{x} | \mathbf{c}) pθ(x∣c)。相反,这些网络 ϵ θ \epsilon_\theta ϵθ 通常被训练来估计含噪声图像 x t \mathbf{x}_t xt 中的噪声 ϵ \epsilon ϵ。因此,基于扩散的分类技术 [Li et al., 2023a, Clark and Jaini, 2023] 估计了条件图像似然的(通常是重新加权的)变分下界(variational lower bound):

log ⁡ p θ ( x ∣ c i ) ∝ − E t , ϵ ∣ ϵ − ϵ θ ( x t , c i ) ∣ 2 ( 7 ) \log p_\theta(\mathbf{x} | \mathbf{c}i) \propto -E{t, \epsilon} \left| \epsilon - \epsilon_\theta(\mathbf{x}_t, \mathbf{c}i) \right|^2 \quad (7) logpθ(x∣ci)∝−Et,ϵ∣ϵ−ϵθ(xt,ci)∣2(7)

噪声预测误差越低,条件似然 p θ ( x ∣ c ) p\theta(\mathbf{x} | \mathbf{c}) pθ(x∣c) 就越高。衡量公式 (7) 中的下界依赖于重复采样以获得蒙特卡洛估计。Li 等人 [2023a] 和 Clark 和 Jaini [2023] 开发了减少所需样本数量、将样本动态分配给最可能的类别,并确保跨所有潜在类别匹配添加的噪声 ϵ \epsilon ϵ 的技术。然而,即使有了这些技术,使用条件扩散模型进行分类仍然计算成本高昂,其计算量随类别数量而扩展,并且每个测试图像需要数百甚至数千次网络评估。因此,尽管扩散模型的分类性能相当好,但在开发出进一步的优化之前,其推理仍然不切实际。

生成式分类器的优点(Advantages of generative classifiers)。尽管使用这些生成式分类器进行推理的成本更高,但它们确实具有显著的优势。生成式分类器具有更强的"有效鲁棒性"(effective robustness),这意味着对于给定的域内准确性,它们在域外性能更佳 [Li et al., 2023a]。在 Winoground [Thrush et al., 2022] 等组合推理任务上,生成式分类器远远优于 CLIP 等判别式方法 [Li et al., 2023a, Clark and Jaini, 2023]。研究表明,无论是自回归(Parti)还是基于扩散(Imagen)的生成式分类器,都具有更高的形状偏差(shape bias),并且与人类判断更一致 [Jaini et al., 2024]。最后,生成式分类器可以在测试时(test-time)仅使用未标注的测试样本,与判别式模型联合进行适应(jointly adapted)[Prabhudesai et al., 2023]。事实证明,这可以提高分类、分割和深度预测任务的性能,尤其是在在线分布偏移(online distribution shift)场景中。

2.5 基于预训练主干网络的视觉语言模型(VLMs from Pretrained Backbones)

训练 VLM 的一个缺点是成本高昂。它们通常需要数百到数千个 GPU,同时必须使用数亿张图像和文本对。因此,许多研究工作并没有从零开始训练模型,而是尝试利用现有的大型语言模型和/或现有的视觉提取器。这些工作大多是出于许多大型语言模型是开源的,因此可以轻松使用的事实。通过利用此类模型,可以仅在文本模态和图像模态之间学习一个映射。学习这种映射使 LLM 能够回答视觉问题,同时所需的计算资源较低。在本节中,本文仅介绍其中两个模型:第一个是 Frozen [Tsimpoukelli et al., 2021],这是第一个利用预训练 LLM 的模型;然后,本文介绍 Mini-GPT [Zhu et al., 2023a] 系列模型。

2.5.1 冻结权重(Frozen)

Frozen [Tsimpoukelli et al., 2021] 是利用预训练 LLM 的首个模型示例。该工作提出通过一个轻量级映射网络,将视觉编码器连接到冻结的语言模型,该网络将视觉特征投影到文本 token 嵌入中。视觉编码器(NF-ResNet-50 [Brock et al., 2021])和线性映射层是从零开始训练的,而语言模型(在 C4 [Raffel et al., 2020] 上训练的 70 亿参数 Transformer)则保持冻结(这对于保持预训练模型已学习的特征至关重要)。该模型在 Conceptual Captions [Sharma et al., 2018b] 数据集上使用简单的文本生成目标进行监督。在推理时,语言模型可以基于交错的文本和图像嵌入进行条件化。作者展示了该模型具备快速适应新任务、快速获取通用知识以及快速绑定视觉和语言元素的能力。尽管只取得了适度的性能,Frozen 仍是迈向当前能够进行开放式多模态零样本/少样本学习的多模态 LLM (MLLMs) 的重要第一步。

2.5.2 示例:MiniGPT(The example of MiniGPT)

从 Flamingo [Alayrac et al., 2022] 等模型开始,最近的趋势是训练多模态语言模型,其中输入包含文本和图像,输出包含文本(可选图像)。MiniGPT-4 [Zhu et al., 2023a] 接受文本和图像输入,并产生文本输出。在 MiniGPT-4 中,使用一个简单线性投影层来将图像表示(使用 BLIP-2 [Li et al., 2023e] 中的相同视觉编码器,该编码器基于 Q-Former 和 ViT 主干)与 Vicuna 语言模型 [Chiang et al., 2023] 的输入空间对齐。**** 鉴于视觉编码器和 Vicuna 语言模型已经预训练并作为现成组件(off-the-shelf)被使用,MiniGPT-4 仅需要训练线性投影层,这分两个阶段进行。第一阶段涉及 20k 个训练步骤(批次大小为 256),使用了来自 Conceptual Caption [Sharma et al., 2018b]、SBU [Ordonez et al., 2011] 和 LAION [Schuhmann et al., 2021] 的约 500 万图像-文本对。鉴于只需训练线性投影层参数,作者仅使用了四个 A100 GPU 进行了大约十小时的训练。第二阶段的训练利用了指令调优格式下的高度精选数据,仅需要 400 个训练步骤(批次大小为 12)。

MiniGPT-5 [Zheng et al., 2023] 扩展了 MiniGPT-4,使得输出可以包含与图像交错的文本。为了也能够生成图像,MiniGPT-5 使用了生成式 token(generative tokens),这些特殊的视觉 token 可以(通过 Transformer 层)被映射到特征向量,而这些特征向量又可以输入到冻结的 Stable Diffusion 2.1 模型 [Rombach et al., 2021] 中。作者对下游任务(例如多模态对话生成和故事生成)使用了有监督训练。

LLM 已成为许多语言相关应用的通用接口,例如通用聊天机器人。受此启发,MiniGPT-v2 [Chen et al., 2023b] 提出通过一个统一接口来执行各种视觉-语言任务,例如图像标题生成、视觉问答和对象接地。为了有效实现这些目标,MiniGPT-v2 在训练时引入了针对不同任务的唯一标识符,使模型能够轻松区分每项任务指令,并进行高效学习。在视觉问答和视觉接地基准测试上的实验结果表明,MiniGPT-v2 展示了强大的视觉-语言理解能力。

Qwen。与 MiniGPT-4 类似,Qwen-VL 和 Qwen-VL-Chat [Bai et al., 2023b] 模型依赖于一个 LLM、一个视觉编码器以及一种将视觉表示与 LLM 输入空间对齐的机制。在 Qwen 中,LLM 从 Qwen-7B [Bai et al., 2023a] 初始化,视觉编码器基于 ViT-bigG,并使用一个单层交叉注意力模块将视觉表示压缩成固定长度(256)的序列,然后将其输入到 LLM 中。

BLIP-2。Li 等人 [2023e] 引入了 BLIP-2,这是一个以图像作为输入并生成文本输出的视觉-语言模型。它利用预训练的冻结模型来大大缩短训练时间:一个视觉编码器(如 CLIP)产生图像嵌入,然后被映射到 OPT 等 LLM 的输入空间。一个相对较小(约 1 亿至 2 亿参数)的组件------称为 Q-Former------被训练用于这种映射。它是一个 Transformer,接收固定数量的随机初始化的"查询"向量;在前向传播中,这些查询通过 Q-Former 中的交叉注意力与图像嵌入进行交互,随后是一个线性层,将这些查询投影到 LLM 的输入空间。

文献中还有许多基于预训练 LLM 的模型。每个 LLM 最终都被扩展到 VLM 版本,这意味着关于此类主题的特定综述范围将非常大。在本介绍中,本文旨在介绍精选的少数几个模型,因为它们都依赖于相同的学习表示之间映射的原则。

3、视觉语言模型训练指导(A Guide to VLM Training)

多项研究(Henighan 等,2020b,a)揭示了扩展规模对于提升深度神经网络性能的重要性。在这些缩放规律的推动下,最新的大多数研究都聚焦于通过增加计算和模型规模来学习更强的模型。这促成了像 CLIP(Radford 等,2021)这样的模型,其在 4 亿张图像上以极高的计算量完成训练。即便是其对应的开源实现 OpenCLIP(Ilharco 等,2021),也需要在数天到数周内使用 256 到 600 张 GPU 进行训练,具体取决于模型规模。然而,Sorscher 等(2022)的最新研究表明,通过数据筛选流程可以突破缩放规律。在本论文中,我们首先讨论数据在模型训练中的重要性,并介绍一些用于构建 VLM 训练数据集的方法;随后讨论实践者在高效训练 VLM 时常用的软件、工具和技巧。由于训练 VLM 的方法各不相同,我们还讨论如何提升模型的定位能力(即准确将文本与视觉线索对应的能力)。我们也介绍基于人类偏好的对齐增强技术。VLM 在读取和翻译文本方面有广泛应用,因此我们也呈现一些进一步提升 OCR 能力的方法。最后,我们探讨常见的微调方法。


图 2:训练 VLM 时需要牢记的重要因素。数据是训练 VLM 最重要的组成部分之一。拥有一个多样且平衡的数据集对于学习能够覆盖足够概念的优秀世界模型至关重要。同时,大规模数据集中往往存在大量重复数据,去重不仅能节省大量计算成本,还能降低模型记忆化的风险。此外,数据裁剪同样重要,因为我们需要确保标题确实与图像内容相关。最后,提高标题质量对于增强 VLM 的性能至关重要。为 VLM 提供更好的定位能力也是关键步骤,以确保其能够正确地将词语与特定概念关联。两种常见的定位方法分别利用边界框或负向标题。最后,对齐同样是不可或缺的一步,以确保模型输出的答案符合人类视角的期望。

3.1 训练数据(Training data)

为评估预训练数据集的质量,DataComp(Gadre 等,2023)提出了一个基准,其中固定了 CLIP 的模型结构和预训练超参数,重点在于设计能够在 38 个下游任务上取得强劲零样本与检索性能的图文数据集。DataComp 提供了多个规模不等的嘈杂网页数据池,从小规模(128 万)到超大规模(128 亿)图文对。针对每个数据池,都提出并评估了多种过滤策略。DataComp 展示了数据裁剪在训练高效且高性能 VLM 中的关键作用。用于 VLM 的数据裁剪方法可分为三类:(1)利用启发式规则剔除低质量图文对;(2)使用预训练 VLM 对图文对的多模态对齐程度进行排序并舍弃对齐不佳样本的自举式方法;(3)旨在构建多样且平衡数据集的方法。

启发式方法(Heuristics):基于启发式的过滤器可进一步分为单模态过滤和多模态过滤。单模态启发式方法包括根据文本中包含的物体、属性和动作数量来衡量文本复杂度并剔除复杂度较低的标题(Radenovic 等,2023a),使用 fastText(Joulin 等,2017)去除非英文替代文本,以及根据图像分辨率和长宽比删除图像(Gadre 等,2023)。多模态启发式方法包括使用图像分类器过滤那些图像中检测到的物体与文本中的任何词元都不匹配的图文对(Sharma 等,2018a)。此外,由于大规模网页数据集中常会出现标题文本部分出现在图像中的情况,多模态启发式方法(如文本检测)会利用现成的文本检测器(Kuang 等,2021)剔除图文重叠度较高的样本。这能够促使模型学习高层视觉语义,而非过度关注光学字符识别,从而避免在以物体或场景为中心的下游零样本任务上表现不佳(Radenovic 等,2023a)。

基于预训练 VLM 的排序(Ranking based on Pretrained VLMs):最有效的数据裁剪方法之一是 CLIPScore(Hessel 等,2021;Schuhmann 等,2021),其通过预训练的 CLIP 模型计算图像与文本嵌入之间的余弦相似度,并以此对图文对的对齐程度进行排序。LAION 过滤(Schuhmann 等,2021)使用在 4 亿图文对上预训练的 OpenAI CLIP 模型(Radford 等,2021)来评估大规模网页数据集的图文对齐情况,并剔除 CLIPScore 最低的样本。受文本检测方法(Radenovic 等,2023a)启发,T-MARS(Maini 等,2023)在计算 CLIPScore 之前对图像中的文本区域进行检测和遮挡,从而得到更准确的对齐分数。Mahmoud 等(2024)的 Sieve 方法表明,通过使用在小规模但精心筛选的数据集上预训练的生成式图像字幕模型,可以将基于 CLIPScore 排序产生的误报和漏报降至最低。

多样性与平衡性(Diversity and Balancing):使用多样且良好平衡的数据集预训练视觉语言模型能够提升其泛化能力(Radford 等,2021)。为构建此类数据集,DataComp(Gadre 等,2023)建议从语义上与 ImageNet(Deng 等,2009)等多样且精心构建的数据集相似的图文对中进行采样。基于文本的采样会保留标题与某个 ImageNet 类别有重叠的图文对;而基于图像的采样方法则利用 OpenAI CLIP ViT-L/14 视觉编码器对嘈杂的网页大规模图像进行编码,并使用 FAISS(Johnson 等,2019)将图像聚类为 10 万个组,随后利用 ImageNet 训练样本的嵌入来为每个样本选择最近的聚类。尽管这种方法能够生成一个多样的数据集,但以与 ImageNet 语义相似的图像作为采样依据可能让 CLIP 模型产生偏置,从而限制其在新的下游任务中的泛化能力。MetaCLIP(Xu 等,2024)使用来自 Wikipedia/WordNet 的 50 万条查询作为元数据,以构建一个能够覆盖广泛概念的预训练数据分布。他们的"平衡"采样算法(类似于 Radford 等,2021 中的描述)通过将每个查询的样本数限制为 2 万来平衡高频与低频概念。然而,由于网页数据天然具有长尾分布,收集一个完全平衡的数据集并不现实。因此,所有这些 CLIP 变体在下游视觉概念上的表现仍然不均衡(Parashar 等,2024)。拥有广泛的训练数据概念似乎是支撑 VLM"零样本能力"的最关键因素之一。事实上,Udandarao 等(2024)证明,VLM 的零样本性能在很大程度上取决于这些零样本下游概念在训练数据中出现的频率。

3.1.1 用合成数据改善训练数据(Improving the training data with synthetic data)

一系列研究致力于通过过滤与合成数据生成来提升 VLM 训练数据中标题的质量。具体而言,Bootstrapping Language-Image Pre-training(BLIP,Li 等,2022b)通过生成合成样本并过滤噪声标题来进行自举式改进。随后,Santurkar 等(2022)利用 BLIP 评估标题的描述性,并展示了使用 BLIP 生成的一致且完整的合成标题训练的模型优于使用人工撰写标题训练的模型。Nguyen 等(2023)使用大型图像描述模型(如 BLIP2,Li 等,2023e)将对齐不佳的替代文本标签替换为描述性更强的合成标题,并证明使用真实与合成标题混合预训练 CLIP 是有效的。然而,他们也指出,在大规模情况下,合成标题带来的性能提升受到其多样性不足的限制,而噪声文本标签反而具有更高的多样性。最新研究中,Chen 等(2024)展示,通过使用 LLaVA(Liu 等,2023d,c,2024a)作为图像描述模型,可以高效训练文本到图像的生成模型。

受到大规模扩散模型(Rombach 等,2022;Dai 等,2023)显著进展的启发,并考虑到合成图像样本在分类等其他任务中的潜力(Hemmat 等,2023;Azizi 等,2023;Bansal 和 Grover,2023),另一类研究开始利用文本到图像生成模型生成的图像数据。Tian 等(2023b)展示了仅使用合成数据即可在 CLIP(Radford 等,2021)和 SimCLR(Chen 等,2020)上取得更好的性能。具体而言,他们对同一文本提示生成多个合成样本,将其作为对比学习目标中的多正样本对。此外,SynCLR(Tian 等,2023a)和 SynthCLIP(Hammoud 等,2024)同样在完全不使用真实数据点的情况下,仅依赖合成样本训练 VLM。他们使用大型语言模型生成标题,再将这些标题输入文本到图像模型以生成对应图像。

3.1.2 使用数据增强技术(Using data augmentation)

我们能否像自监督视觉模型一样利用数据增强?SLIP(Mu 等,2022)通过在视觉编码器上加入一个辅助自监督损失项来回答这一问题。与 SimCLR(Chen 等,2020)类似,输入图像被用于生成两个增强视图,这两者构成正样本对,与批次中的其他图像进行对比。该方法的额外开销很小,却提供了有益的正则化,有助于学习更好的表示。然而,仅在视觉编码器上使用 SSL 损失并未充分利用文本中蕴含的重要信息。为此,CLIP-rocket(Fini 等,2023)提出将 SSL 损失转换为跨模态形式。特别地,它展示了在图文对具有多重增强的情况下可以使用 CLIP 对比损失,并且该方法优于其他受 SSL 启发的非对比式方法,例如 Grill 等(2020)、Caron 等(2020)和 Zbontar 等(2021)。在 CLIP-rocket 中,图文对被以非对称方式增强,生成一个弱增强版本和一个强增强版本。两组增强后的图文对通过标准的 CLIP 编码器编码,随后分别通过两个不同的投影器映射到多模态嵌入空间。弱增强视图的投影器保持与原始 CLIP 相同,即一个线性层;而强增强视图的投影器为两层 MLP,以处理更具噪声的嵌入。正如 Bordes 等(2022)指出的,分离两个投影器至关重要,因为强投影器倾向于学习更具不变性、甚至过度不变的表示,从而影响下游任务性能。在推理阶段,弱增强与强增强学习到的表示会进行插值以得到单一向量。

3.1.3 交织式数据筛选(Interleaved data curation)

像 Flamingo(Alayrac 等,2022)和 MM1(McKinzie 等,2024)这样的自回归语言模型表明,在训练过程中包含交织的文本和图像数据能够提升模型的少样本性能。用于预训练的交织数据集通常从互联网爬取,并经过筛选以提高数据质量和安全性。收集交织数据集时可以采用两种类型的筛选策略:

自然交织数据(Natural interleaved data):Open Bimodal Examples from Large filtered Commoncrawl Snapshots(OBELICS,Laurençon 等,2023)数据集是这一类数据集的典型示例;OBELICS 通过保留文本和图像在网页文档中共同出现的内在结构和上下文,提供了更为真实的多模态网页内容表示。该数据集经过多个筛选步骤进行构建:首先从 Common Crawl 收集英文数据并去重,然后对 HTML 文档进行预处理,识别并保留有用的 DOM 节点;接着对每个 DOM 节点应用图像过滤以去除徽标,然后按段落处理,并使用各种启发式方法在文档级别进行文本过滤,以处理格式不规范或语义不连贯的文本。

合成交织数据(Synthetic interleaved data):MMC4(Zhu 等,2023b)是这一类数据集的典型示例,其中仅包含文本的数据集被补充了从互联网收集的图像。在此过程中,通过计算基于 CLIP 的相似度分数,根据上下文相关性将图像与文本配对。该方法为现有的大规模文本语料库加入视觉信息提供了一种途径,从而扩展了其在多模态学习中的应用价值。虽然这种方法可能缺乏自然交织数据集的上下文细腻性,但它允许利用已有的文本资源可扩展地创建多模态数据。

3.1.4 多模态数据质量评估(Assessing multimodal data quality)

在 VLM 研究中,一个非常活跃的方向是识别用于训练模型的底层数据质量。由于质量是一个主观指标,很难事先确定哪些数据算是适合训练这些模型的高质量数据。以往的工作如 Flamingo(Alayrac 等,2022)、MM1(McKinzie 等,2024)和 OBELICS(Laurençon 等,2023)表明,高质量的交织多模态数据是获得 VLM 模型最佳性能的关键,这使得快速且可扩展地量化数据质量变得尤为重要。数据质量本身可以从多个方面进行评估,包括文本本身的质量、图像本身的质量以及图像与文本之间的对齐信息。像 QuRating(Wettig 等,2024)、Data-efficient LMs(Sachdeva 等,2024)以及基于文本质量的裁剪方法(Sharma 等,2024)探索了量化文本数据质量的方法,并利用该方法识别高质量数据子集,以数据高效的方式训练语言模型。类似地,VILA(Ke 等,2023)和 LAION-aesthetics(Schuhmann,2023)尝试量化图像的美学质量,从而选择高质量的图像子集以改进图像生成模型。对于对齐方面,CLIP 系列方法(Radford 等,2021;Xu 等,2024;Gao 等,2024)已成为评估文本与提供图像一致性的首选模型。尽管在评估文本、图像和对齐质量方面已有一些相关工作,但我们仍缺乏一种整体方法来评估多模态和交织数据的质量,这仍然是一个活跃的研究方向,以进一步提升 VLM 模型的训练效果。

3.1.5 利用人类专业知识:数据标注的力量(Harnessing human expertise: the power of data annotation)

近年来,利用人类数据标注在推进视觉-语言建模领域的重要性日益凸显。这种方法涉及有策略地选择图像,并让人工提供标签或描述,以捕捉视觉元素与语言之间的复杂关系。通过学习更细致和微妙的信息,模型能够更好地理解复杂场景,并生成更准确的描述。尽管目前已有多个流行的多模态数据集,如 OKVQA(Marino 等,2019)、A-OKVQA(Schwenk 等,2022)、Image Paragraph Captioning(Krause 等,2017)、VisDial(Das 等,2017)、Visual Spatial Reasoning(Liu 等,2023a)和 MagicBrush(Zhang 等,2024b),但许多数据集仍依赖较早的图像基准,如 COCO(Lin 等,2014)或 Visual Genome(Krishna 等,2017),这凸显了获取更为多样和现代图像资源的必要性。更近期,Urbanek 等(2023)引入了 DCI 数据集,为 SA-1B 数据集(Kirillov 等,2023)中的部分图像提供了细粒度的人类标注。人类标注数据的一个局限性在于获取成本通常较高,尤其是在需要细粒度标注时。因此,拥有高度详细标注的图像数量往往较少,使得这些数据集更适合用于评估或微调,而非大规模预训练。

3.2 软件(Software)

在本节中,我们讨论一些现有的软件工具,这些工具可用于评估和训练 VLM,以及训练它们所需的资源。

3.2.1 使用现有的公共软件库(Using existing public software repositories)

目前存在一些软件库,例如 OpenCLIP(https://github.com/mlfoundations/open_clip)或 transformers(https://github.com/huggingface/transformers),它们实现了大多数 VLM。这些工具在进行基准测试或比较不同模型时非常有用。如果本论文的目标是尝试并比较不同预训练 VLM 在某个下游任务上的表现,那么这些软件提供了一个良好的平台来实现这一目的。

3.2.2 我需要多少 GPU?(How many GPUs do I need?)

关于所需计算资源的问题非常重要,因为它在很大程度上决定了训练此类模型所需的预算。CLIP(Radford 等,2021)和 OpenCLIP(Ilharco 等,2021)在训练模型时使用了超过 500 张 GPU。查看公共云资源的价格,这些成本相当于数十万美元,对于大多数公司或学术实验室来说难以承受。但是,如果使用合适的条件,例如拥有高质量的数据集,并在使用更大模型时利用掩码策略,从头训练一个类似 CLIP 的对比模型,处理上亿张图像通常不需要超过 64 张 GPU(相当于约 1 万美元的计算成本)。如果训练所用的 VLM 利用已有的预训练图像或文本编码器,或大型语言模型,则学习映射的成本会低得多。

3.2.3 加速训练(Speeding up training)

最近出现了一些软件开发进展,例如 PyTorch 团队引入的 torch.compile(https://pytorch.org/tutorials/intermediate/torch_compile_tutorial.html),能够显著加快模型训练速度。通过使用更高效的注意力机制,xformers 库(Lefaudeux 等,2022)也常被用来进一步提升训练速度。然而,在训练视觉模型时,一个常被忽视的环节是数据加载。由于需要加载大批量图像,数据加载往往成为训练瓶颈,显著降低训练速度。此外,由于空间限制,大规模数据集通常以 tar 文件块保存,需要实时解压(因此会进一步减慢训练速度)。本论文的主要建议是尽可能多地存储未压缩文件以加快训练速度。此外,可以利用 Fast Forward Computer Vision(FFCV)库(Leclerc 等,2023)创建加载速度更快的数据文件。使用 FFCV 替代 webdataset 可以显著加速 VLM 训练。将未压缩文件存储在 webdataset 或 FFCV 中的唯一缺点是存储成本可能高于压缩文件,但由于训练速度显著提升,额外的存储成本可通过减少的计算需求迅速抵消。

掩码(Masking)。掩码是另一种快速提升大模型训练效率的方法。当使用参数量达到数亿或数十亿的模型时,一次前向和反向传播的计算成本可能很高。Li 等(2023f)表明,通过随机掩码图像的 token,可以显著加快训练时间,同时提升模型性能。

3.2.4 其他超参数的重要性(Importance of other hyper-parameters)

McKinzie 等(2024)研究了训练 VLM 的关键设计选择,结果表明图像分辨率、视觉编码器容量以及视觉预训练数据是对模型性能影响最大的因素。他们还指出,虽然有多种方式可以连接不同模态,但这种选择的重要性相对较低。作者还讨论了各种类型训练数据的重要性,从仅文本数据到交织数据和图像-标题配对数据,结果表明,合理的数据组合能够在零样本分类和视觉问答任务中同时取得最佳性能。

3.3 使用哪种模型?(Which model to use?)

正如本引言前部分所强调的,训练 VLM 存在多种方法。其中一些方法利用简单的对比训练准则,另一些方法使用掩码策略来预测缺失的文本或图像块,还有一些模型采用生成范式,如自回归或扩散模型。同时,也可以利用预训练的视觉或文本骨干模型,如 Llama 或 GPT。在这种情况下,构建 VLM 模型只需要学习 LLM 与视觉编码器表示之间的映射。那么,在所有这些方法中,应该选择哪一种?我们是否需要像 CLIP 那样从头训练视觉和文本编码器,还是更适合从预训练 LLM 入手,例如 Flamingo 或 MiniGPT?

3.3.1 何时使用类似 CLIP 的对比模型?(When to use contrastive models like CLIP?)

类似 CLIP 的对比模型通过在表示空间中使文本与图像表示匹配,将文本与视觉概念关联起来,同时保持简单的训练范式。通过这种方式,CLIP 学会了在图像和文本空间中都具有意义的表示,使得我们可以用词语提示 CLIP 的文本编码器,从而检索与相应文本表示对应的图像。例如,许多数据筛选流程,如 MetaCLIP(Xu 等,2024),使用元数据字符串匹配来构建数据集,以确保每个词语或概念都有足够的相关图像。CLIP 模型也是构建更复杂模型的良好基础,尤其是在尝试提升定位能力时。对于希望尝试额外训练准则或不同模型架构,以更好地捕捉关系或理解概念的研究者来说,CLIP 是一个特别好的起点。然而,需要注意的是,CLIP 并非生成模型,因此无法根据特定图像生成标题,只能在已有标题列表中检索最匹配的标题。因此,当前的 CLIP 模型不能用于提供给定图像的高层次描述。另一个缺点是,CLIP 通常需要非常大的数据集以及较大的批量大小才能获得良好性能,这意味着从零训练 CLIP 通常需要大量资源。

3.3.2 何时使用掩码?(When to use masking?)

掩码是一种训练 VLM 的替代策略。通过学习从被掩码的图像和文本中重建数据,可以联合建模它们的分布。与在表示空间中操作的对比模型不同,基于掩码的模型可能需要利用解码器将表示映射回输入空间(从而应用重建损失)。训练额外的解码器可能增加额外的瓶颈,使这些方法在效率上不如纯对比方法。然而,其优势在于不再存在批量依赖,因为每个样本可以单独处理(因为不需要负样本)。去除负样本可以使用更小的迷你批量,而无需微调额外的超参数,例如 softmax 温度。许多 VLM 方法结合了掩码策略与部分对比损失。

3.3.3 何时使用生成模型?(When to use a generative model?)

基于扩散或自回归准则的生成模型在根据文本提示生成逼真图像方面展示了令人印象深刻的能力。大多数大规模 VLM 训练工作也开始整合图像生成组件。一些研究者认为,能够根据词语生成图像是构建良好世界模型的重要一步,而另一些研究者则认为这种重建步骤并非必要(Balestriero 和 LeCun,2024)。然而,从应用角度来看,当模型能够在输入数据空间解码抽象表示时,更容易理解和评估模型学到了什么。像 CLIP 这样的模型需要使用数百万图像数据进行大量 k-NN 评估,才能展示与给定词嵌入最接近的图像,而生成模型可以直接输出最可能的图像,而无需如此昂贵的流程。此外,生成模型能够学习文本与图像之间的隐式联合分布,这可能比利用预训练的单模态编码器更适合学习良好的表示。然而,它们在训练时的计算成本通常高于对比学习方法。

3.3.4 何时在预训练骨干上使用大型语言模型?(When to use LLM on pretrained backbone?)

在计算资源有限的情况下,使用已预训练的文本或视觉编码器是一种不错的替代方案。在这种情况下,只需要学习文本表示与视觉表示之间的映射。然而,这种方法的主要问题在于 VLM 可能会受到 LLM 潜在幻觉的影响,同时也可能受到预训练模型中存在的偏差影响。因此,可能需要额外工作来纠正视觉模型或 LLM 的缺陷。一些人认为,利用独立的图像和文本编码器将信息投射到低维流形上进行映射学习是重要的,而另一些人则认为联合学习图像和文本的分布更为关键。总之,当计算资源有限且研究者希望在表示空间中学习映射时,利用预训练模型是一个有吸引力的选择。

3.4 提升定位能力(Improving grounding)

定位能力是 VLM 和生成模型领域中的一个重要挑战。其主要目标是解决模型对文本提示理解不充分的问题,这可能导致模型忽略提示中的某些部分,或者生成与提示无关的内容。一些挑战与理解关系相关,例如判断物体在左侧还是右侧、否定、计数,或理解属性(如颜色或纹理)。提升定位能力是一个活跃的研究方向,目前尚无单一简单方法能够完全解决这一问题。然而,在本节中,本文将介绍一些通常用于提升定位性能的技巧。

3.4.1 使用边界框标注(Using bounding boxes annotations)

像 X-VLM(Zeng 等,2022)这样的模型利用边界框标注,并结合框回归和交并比(IoU)损失来准确定位并对齐视觉概念与其对应的文本描述。通过知道图像中物体的位置以及每个物体关联的标题,模型更容易将文本与正确的视觉线索关联,从而提升定位能力。X-VLM 在包含 COCO(Lin 等,2014)、Visual Genome(Krishna 等,2017)、SBU 和 Conceptual Captions(Changpinyo 等,2021)的综合数据集上进行训练,总计多达 1600 万张图像。这一包含边界框标注的广泛训练数据目录,使得 X-VLM 在图文检索、视觉推理、视觉定位和图像标题生成等多种视觉-语言任务中优于现有方法。

与使用已有标注数据不同,一些方法如 Kosmos-2(Peng 等,2024)依赖公共模型来创建自己的图文数据集。他们通过从网络爬取的数据中构建大规模的定位图文对,首先使用 spaCy(Honnibal 和 Montani,2017)从文本标题中提取名词,然后利用定位模型 GLIP(Li 等,2022c)预测与标题中提取的名词相关联的边界框。随后,他们使用 spaCy 提取与特定词语相关的表达,从而生成可以与每个检测到的边界框关联的标题。这样的方法能够使用非常大规模的网络标注数据集。然而,这种方法的效果受限于用于边界框检测的定位模型的能力。如果基础模型在处理一些罕见名词或实例时失败,下游模型很可能也会犯类似的错误。

3.4.2 负样本标注(Negative captioning)

在对比目标中,负样本已被广泛用于防止模型坍塌、增强泛化能力以及判别特征学习(Chen 等,2020;Liu 等,2023c;Grill 等,2020;He 等,2020;Caron 等,2021)。通过将正样本对(相似或相关样本)与负样本对(不相似或无关样本)进行对比,模型被迫发展对数据的细致理解,不仅停留在表面特征,而是把握区分不同类别或类型的潜在模式。

同样地,近期关于 VLM 的研究表明,可以采用类似的技术(负样本)来缓解视觉-语言模型中的各种问题(Yuksekgonul 等,2023;Li 等,2021;Goel 等,2022;Radenovic 等,2023b)。例如,ARO 基准(Yuksekgonul 等,2023)通过使用负样本评估 VLM 正确将图像与标题关联的能力,以测试模型对错误或无意义配对的理解。这一方法表明,VLM 可以显著受益于通过接触负样本培养的细致区分能力,从而生成更准确且具上下文理解能力的模型。

3.5 提升对齐能力(Improving alignment)

受语言领域指令调优成功的启发(Chung 等,2024),视觉-语言模型也开始在模型中引入指令微调和来自人类反馈的强化学习(RLHF),以提升多模态聊天能力并使模型输出与期望响应保持一致。

指令微调涉及在包含指令、输入和期望输出的监督数据上对视觉-语言模型进行微调。通常,指令微调数据集相较于预训练数据要小得多------指令微调数据量从几条到十万条不等(关于指令微调的进一步讨论见 Li 等,2023d)。LLaVa、InstructBLIP(Liu 等,2023d)和 OpenFlamingo(Awadalla 等,2023)是三种引入指令微调的知名视觉-语言模型。

RLHF 也旨在使模型输出与人类偏好对齐。在 RLHF 中,会训练一个奖励模型以匹配人类对模型输出好坏的偏好。指令微调需要监督训练样本,获取成本较高,而 RLHF 则利用辅助奖励模型模拟人类偏好。然后,无论是仅语言模型还是视觉-语言模型,都使用奖励模型进行微调,以使输出与人类偏好对齐。LLaVa-RLHF 是一个典型例子,它通过 RLHF 提升视觉-语言模型在输出事实信息时的对齐能力(Sun 等,2023)。

3.5.1 LLaVA 案例(A LLaVA story)

受语言领域指令微调成功的启发,LLaVA(Liu 等,2023d)是最早在视觉-语言模型中引入指令微调以提升多模态聊天能力的模型之一。作者生成了 15 万条合成视觉指令样本用于微调。原始 LLaVA 模型结合了预训练的 Vicuna 语言模型编码器和预训练的 CLIP ViT-L/14 视觉编码器。编码器输出通过线性投影融合到相同维度空间中。除了提升聊天交互的质量外,LLaVA 在合成指令遵循和科学问答基准(Lu 等,2022)上也表现出改进。

LLaVA 1.5 Liu 等(2023c)在 LLaVA 的指令微调基础上进行了改进,使用了跨模态全连接多层感知机(MLP)层,并引入了学术 VQA 指令数据。LLaVA 1.5 在 60 万条图文对上进行训练,相较于其他指令微调模型如 InstructBLIP 或 Qwen-VL,训练效率更高。训练大约需要在 8 张 A100 GPU 上进行一天。LLaVA 1.5 在一系列学术 VQA 和指令遵循基准测试中表现良好。

LLaVA-RLHF 由于高质量视觉指令微调数据在视觉-语言模型训练中稀缺,VLLM 如 LLaVA(Liu 等,2023d)可能会导致视觉和语言模态对齐不佳,并生成幻觉输出。为解决这一问题,提出了 LLaVA-RLHF(Sun 等,2023),通过一种新颖的 RLHF 算法------事实增强 RLHF(Factually Augmented RLHF)来提升多模态对齐能力。其核心思想是将 RLHF 从文本领域适配到视觉-语言任务,并通过增加图像标题和多项选择题的事实信息来增强奖励模型,以减少奖励欺骗。LLaVA-RLHF 还使用 GPT-4 生成的训练数据以及人工标注的图文对,以进一步提升模型的通用能力。在 LLaVA-Bench 上,LLaVA-RLHF 达到 GPT-4(Achiam 等,2023)性能的 94%。在专门关注惩罚幻觉的 MMHAL-BENCH 上,LLaVA-RLHF 的表现比基线高出 60%。

LLaVA-NeXT(v1.6) LLaVA-NeXT(Liu 等,2024a)在多个方面对 LLaVA-v1.5 进行了改进。首先,通过将整图和小图块的视觉特征拼接后分别输入视觉编码器,提高了图像分辨率。其次,视觉指令微调数据的混合得到了改进,增加了更好的视觉推理、OCR、世界知识和逻辑推理示例。第三,最大的模型变体使用了 340 亿参数的 LLM 骨干(Nous-Hermes-2-Yi-34B)。与开源多模态 LLM 如 CogVLM(Hong 等,2023;Wang 等,2023b)或 Yi-VL(AI 等,2024)相比,LLaVA-NeXT 实现了最先进的性能,并缩小了与商业模型如 Gemini Pro(Reid 等,2024)的差距。

3.5.2 多模态上下文学习(Multimodal in-context learning)

Otter(Li 等,2023c)表明多模态上下文学习是可行的:提供少量示例(例如指令-图像-答案三元组)作为上下文,模型即可在测试示例中成功遵循指令,而无需额外微调。这一能力类似于仅文本 LLM 的上下文学习能力。多模态上下文学习能力可归因于在新提出的多模态指令微调数据集 MIMIC-IT(Li 等,2023b)上的微调,该数据集包含约 280 万条带上下文示例的多模态指令-响应对。MIMIC-IT 中的每个样本包含上下文指令-图像-答案三元组以及一个测试示例(在测试示例中,给定指令和图像,目标是生成测试示例中的答案)。上下文三元组与测试示例的相关性体现在三种方式之一:(1)上下文指令相似但图像不同;(2)图像相同但指令不同;(3)图像按顺序排列但指令不同,顺序图像来自视频库,如 Yang 等(2023)。在 MIMIC-IT 上微调 OpenFlamingo(Awadalla 等,2023)得到模型 Otter,Otter 展现出更强的指令遵循能力以及多模态上下文学习能力。

3.6 提升富文本图像理解(Improving text-rich image understanding)

理解文本是日常视觉感知中的关键环节。多模态大型语言模型(MLLMs)的成功为 VLM 在零样本任务中的广泛应用铺平了道路,使其能够迁移到许多现实场景中。Liu 等(2023e)表明,MLLM 在野外环境中展现出优秀的零样本光学字符识别(OCR)性能,而无需在 OCR 领域特定数据上进行显式训练。然而,当图像中呈现复杂数据类型关系时,这些模型通常在解读文本上表现不佳,这可能与其训练数据中自然图像的普遍性有关(例如 Conceptual Captions(Changpinyo 等,2021)和 COCO(Lin 等,2014))。以下是一些常见(非穷尽)文本理解挑战及相应模型应对方法:

使用细粒度富文本数据进行指令微调:LLaVAR(Instruction tuning with fine-grained text-rich data : LLaVAR)(Zhang 等,2023c)为解决图像中文本细节理解的问题,LLaVAR 在现有视觉指令微调流程中引入了富文本图像,如电影海报和书籍封面。作者使用公开可用的 OCR 工具,对 LAION 数据集(Schuhmann 等,2022)中的 42.2 万张富文本图像进行文本识别。随后,他们将识别出的文本和图像标题作为提示输入纯文本 GPT-4(Achiam 等,2023),生成 1.6 万条对话,每条对话包含针对富文本图像的问题-答案对。通过将收集的数据与之前的多模态指令遵循数据结合,LLaVAR 模型显著提升了 LLaVA 模型(Liu 等,2023d)的能力,在基于文本的 VQA 数据集上准确率提升最多可达 20%,在自然图像上也略有提升。

处理高分辨率图像中的细粒度文本:Monkey(Dealing with fine-grained text in high resolution images : Monkey)(Li 等,2023h)目前,大多数多模态大型语言模型(MM-LLMs)的输入图像分辨率被限制在 224 x 224,与其架构中使用的视觉编码器输入尺寸一致。这些模型在处理复杂的以文本为中心的任务时,如场景文本中心视觉问答(Scene Text-Centric VQA)、面向文档的 VQA 以及关键信息提取(KIE),在高分辨率输入和细节场景理解方面表现不佳。为应对这些挑战,提出了一种新方法 Monkey(Li 等,2023h)。

Monkey 的架构旨在通过使用滑动窗口方法以统一图像块处理输入图像,从而增强 LLM 的能力,每个图像块的尺寸与预训练视觉编码器原始训练时使用的尺寸相匹配。每个图像块由静态视觉编码器独立处理,并通过 LoRA 调整和可训练的视觉重采样器进行增强。这使得 Monkey 能够处理最高 1344×896 像素的高分辨率图像,从而捕捉复杂视觉信息的细节。同时,它采用多层次描述生成方法,丰富场景-对象关联的上下文。这一双重策略确保了从生成数据中更有效地学习。通过整合这些系统的独特能力,Monkey 提供了全面且分层的图像描述生成方法,能够捕捉广泛的视觉细节。

解耦的场景文本识别模块与多模态 LLM:Lumos(Decoupled Scene Text Recognition Module and MM-LLM : Lumos)(Shenoy 等,2024)Lumos 提出了一种具备文本理解能力的多模态助手,结合了设备端和云端计算。Lumos 使用一个解耦的场景文本识别(STR)模块,该模块随后输入多模态 LLM。Lumos 的 STR 模块包含四个子组件:兴趣区域(ROI)检测、文本检测、文本识别和阅读顺序重建。ROI 检测能够有效识别视觉中的显著区域,并将该区域裁剪作为 STR 的输入。文本检测以 ROI 检测裁剪的图像为输入,检测单词,并输出每个单词的边界框坐标。文本识别以 ROI 检测裁剪的图像和文本检测提供的单词边界框坐标为输入,返回识别出的单词。阅读顺序重建根据布局将识别出的单词组织成段落,并在每个段落内按照阅读顺序排列。

云端承载了一个多模态 LLM 模块,该模块接收来自 STR 模块的识别文本和坐标信息。该解耦的 STR 模块可以在设备端运行,从而减少将高分辨率图像传输到云端所带来的功耗和延迟。如前所述,捕捉场景中的细粒度文本一直是一个关键挑战,原因在于 LLM 编码器的限制。Lumos 的 STR 模块可处理 3k×4k 尺寸的图像,从而在复杂文本理解任务中实现类似 Monkey 的性能提升。

3.7 参数高效微调(Parameter-Efficient Fine-Tuning)

训练 VLM 在跨领域视觉和语言任务中表现出极大的有效性。然而,随着预训练模型规模的不断增大,对整个模型参数进行微调在计算上变得不切实际。为应对这一挑战,参数高效微调(PEFT)方法应运而生,以解决微调大规模模型所带来的高计算成本。这些方法侧重于训练模型的一部分参数,而非整个模型,以适应下游任务。现有的 PEFT 方法可以分为四大类,即基于低秩适配器(LoRA)的方法、基于提示(Prompt)的方法、基于适配器(Adapter)的方法以及基于映射(Mapping)的方法。

基于 LoRA 的方法(LoRA-based methods):LoRA(Hu 等,2022)被公认为一种流行的参数微调方法。LoRA 可应用于纯语言模型和视觉-语言模型。为了增强其功能和效率,LoRA 已发展出若干变体。其中一个变体是 QLoRA(Dettmers 等,2023),它将 LoRA 与量化骨干模型结合,使梯度能够通过冻结的 4 位量化预训练语言模型反向传播到 LoRA。另一个变体是 VeRA(Kopiczko 等,2024),旨在在保持性能水平相当的情况下,减少可训练参数数量。其实现方式是使用一对低秩矩阵在所有层间共享,并学习小型缩放向量。最后,DoRA(Liu 等,2024b)将预训练权重分解为幅度和方向两个分量进行微调。实证实验表明,DoRA 能够将低秩适配方法从语言模型推广到视觉-语言基准任务。

基于提示词的方法(Prompt-based methods):视觉-语言预训练的过程涉及将图像和文本对齐到共享特征空间,从而通过提示实现零样本迁移到后续任务。因此,另一种高效微调方法与提示相关。Zhou 等(2022)提出了上下文优化(CoOp),旨在将大型预训练视觉-语言模型(如 CLIP)适配到下游图像识别任务,无需手动设计提示。CoOp 在训练过程中使用可学习向量优化提示的上下文词。该方法提供两种实现方式:统一上下文和类别特定上下文。在 11 个数据集上的实验结果表明,CoOp 在少样本学习中优于手工提示和线性探测模型。此外,它在领域泛化能力上也优于使用手动提示的零样本模型。随后,Jia 等(2022)提出视觉提示微调(VPT),用于适配大规模 Transformer 视觉模型。与更新所有骨干参数的全量微调方法不同,VPT 在输入空间引入极少量(不到 1% 的模型参数)可训练参数,同时保持模型骨干冻结。在许多情况下,VPT 展现出与全量微调相当甚至更优的准确率。

基于适配器的方法(Adapter-based methods):适配器是指在预训练网络的层之间添加的新模块(Houlsby 等,2019)。具体到视觉-语言模型领域,CLIP-Adapter(Gao 等,2024)在视觉或语言分支上通过特征适配器进行微调。它采用额外的瓶颈层来学习新特征,并与原始预训练特征进行残差式特征融合。此外,VL-adapter(Sung 等,2022)在统一的多任务框架下评估了各种基于适配器的方法,涵盖多种图像-文本和视频-文本基准任务。该研究进一步探讨了任务间权重共享的概念,作为提高适配器效率和性能的策略。实证结果表明,将权重共享技术与适配器结合使用,可以有效匹敌全量微调的性能,同时只需更新极少部分参数(图像-文本任务为 4.18%,视频-文本任务为 3.39%)。随后,LLaMA-Adapter V2(Gao 等,2023)提出了一种参数高效的视觉指令模型,增强大型语言模型的多模态推理能力,而无需大量参数或多模态训练数据。该方法通过解锁更多可学习参数(如归一化、偏置和缩放)以及早期融合方法,将视觉 token 融入 LLM 层。与 MiniGPT-4 和 LLaVA 等全量微调方法相比,LLaMA-Adapter V2 需要的额外参数显著更少。

基于映射的方法(Mapping-based methods):通过适配器或 LoRA 将可训练模块注入预训练模型需要对网络架构有一定了解,以决定参数插入或适配的位置。在 VLM 领域,Mañas 等(2023)和 Merullo 等(2022)提出了一种更简单的方法,仅需训练预训练单模态模块(即视觉编码器和 LLM)之间的映射,同时保持这些模块完全冻结,无需适配器层。此外,该方法需要的可训练参数更少,并且提高了数据效率(Vallaeys 等,2024)。LiMBeR(Merullo 等,2022)使用线性层将视觉特征投影到与 LLM 隐状态相同的维度,该投影独立应用于每个特征向量,这意味着传递给 LLM 的序列长度与视觉特征向量数量相同,从而增加了训练和推理的计算成本。MAPL(Mañas 等,2023)设计了一个映射网络,通过将视觉特征向量聚合为较小的集合来解决这一问题。输入特征向量被投影并与一组可学习的查询 token 连接,只有查询 token 的输出被送入 LLM。

4、负责任的 VLM 评估方法(Approaches for Responsible VLM Evaluation)

由于 VLM 的主要能力是将文本与图像进行映射,因此测量视觉-语言能力至关重要,以确保词语实际上与视觉线索相对应。早期用于评估 VLM 的任务包括图像描述和视觉问答(VQA)(Antol 等,2015)。在本论文中,我们还讨论了以文本为中心的 VQA 任务,该任务评估模型理解和读取图像中文字的能力。Radford 等(2021)提出的另一种常见评估方法是基于零样本预测,例如 ImageNet(Deng 等,2009)分类任务。这类分类任务对于评估 VLM 是否具备足够的世界知识非常重要。更近期的基准如 Winoground(Thrush 等,2022)则衡量视觉-语言的组合推理能力。由于已知 VLM 模型可能表现出偏差或幻觉,因此评估这两个方面也非常重要。


图 3:评估 VLM 的不同方法。视觉问答(VQA)一直是最常用的方法之一,不过模型答案与真实答案是通过精确字符串匹配进行比较,这可能低估模型的实际表现。推理评估则是给 VLM 提供一系列描述,并让其从中选择最可能的描述。这类方法中两个流行的基准是 Winoground [Diwan 等, 2022] 和 ARO [Yuksekgonul 等, 2023]。更近期的方法是使用密集的人类标注来评估模型将描述正确映射到图像对应区域的能力 [Urbanek 等, 2023]。最后,还可以使用如 PUG [Bordes 等, 2023] 的合成数据,通过生成不同配置的图像来评估 VLM 对特定变化的鲁棒性。

4.1 视觉-语言能力基准评估(Benchmarking visio-linguistic abilities)

评估 VLM 的一种方法是利用视觉-语言基准测试。这些基准旨在评估 VLM 是否能够将特定的词语或短语与对应的视觉线索关联起来。这些基准在 VLM 评估中处于前沿,因为它们能够衡量视觉-语言映射学习的效果。从视觉问答到零样本分类,有许多方法常用于评估 VLM。本论文中,我们可以关注从简单视觉线索的检测(如"图像中是否有狗?")到更复杂的场景(如评估 VLM 是否能够正确回答"图像中有多少只狗,它们在看什么?")的问题。通过从突出清晰视觉线索的简单描述开始,到需要一定空间理解和推理能力的复杂描述,这些基准允许评估大多数 VLM 的优点与不足。

4.1.1 图像描述(Image captioning)

由 Chen 等人 [2015] 提出,COCO 描述数据集及挑战用于评估给定 VLM 生成的描述质量。通过利用外部评估服务器,研究人员可以将模型生成的描述发送给服务器,由服务器使用 BLEU [Papineni 等, 2002] 或 ROUGE [Lin, 2004] 等评分标准,将生成的描述与一组参考描述进行比较。然而,这些评分仍然是试图近似描述相似性的启发式方法。许多研究如 Mathur 等人 [2020] 建议应逐步淘汰 BLEU 等评分标准。

为避免必须将描述与参考描述集合进行比较的问题,本论文提出的方法借鉴 Hessel 等人 [2021] 的 CLIPScore,利用 CLIP 预测描述与图像的接近程度。分数越高,说明描述越可能准确地反映图像内容。然而,CLIPScore 存在一个显著限制,即其依赖的 CLIP 模型本身的性能。

4.1.2 文本到图像一致性(Text-to-image consistency)

除了评估模型为给定图像生成描述的能力外,还可以评估其根据描述生成图像的能力。一些端到端方法使用单一模型来生成一致性分数。虽然 CLIPScore 最初是为图像描述提出的,但它也可用于图像生成,以衡量生成图像与文本提示之间的对齐程度。Lin 等 [2024b] 和 Li 等 [2024a] 提出另一种方法,将文本提示格式化为问题(例如,"这幅图显示了{text caption}吗?"),并获取 VQA 模型回答"是"的概率。还有一系列指标利用语言模型(LM)根据文本描述生成问题。TIFA [Hu 等, 2023] 和 Davidsonian Scene Graph(DSG)[Cho 等, 2024] 都使用语言模型生成自然语言的二选一或多选问题,并使用视觉问答(VQA)模型进行评估。DSG 进一步解决了 LLM 和 VLM 的幻觉问题------生成的问题根据依赖关系组织成场景图,只有当其依赖的问题也回答正确时,该问题才算正确。例如,假设 VQA 模型收到问题"有车吗?","车是什么颜色?"和"车有多少个轮子?"。如果模型第一个问题错误回答"否",则其余问题无论答案如何都视为错误,因为模型未识别出车。VPEval [Cho 等, 2023] 是另一种指标,也生成问题,但问题不是自然语言,而是视觉程序。这些视觉程序可由不同的视觉模块执行,例如计数模块、VQA 模块或光学字符识别(OCR)模块。Lin 等 [2024b] 和 Li 等 [2024a] 引入 VQAScore,这是另一种基于 VQA 的文本到图像评估方法。它不使用语言模型生成问题,而是直接将文本提示输入 VQA 模型。例如,给定提示"红色的狗在蓝色的花旁边",VQAScore 计算 VQA 模型在问题"这幅图显示红色的狗在蓝色的花旁边吗?"下生成"是"的概率。

4.1.3 视觉问答(Visual question answering)

视觉问答(VQA)是针对图像回答自然语言问题的任务。由于其简单性和通用性,VQA 是评估 VLM 的主要任务之一。实际上,大多数 VLM 任务都可以重新表述为 VQA(例如,图像描述任务可表述为"图中有什么?",短语定位任务可表述为"它在哪里?"等)。该任务最初提出 [Antol 等, 2015],包括两种形式:多选题和开放式答案。基于 VQA 任务的流行基准包括 VQAv2 [Goyal 等, 2017]、TextVQA [Singh 等, 2019]、GQA [Hudson 和 Manning, 2019]、Visual Genome QA [Krishna 等, 2017]、VizWiz-QA [Gurari 等, 2018]、OK-VQA [Marino 等, 2019]、ScienceQA [Lu 等, 2022]、MMMU [Yue 等, 2023](见图 3)。传统上,VQA 的评估使用 VQA 准确率,该指标基于模型生成的候选答案与人工标注的参考答案之间的精确字符串匹配。在多选题和 IID 训练设置中,该指标效果良好。然而,社区正在转向生成模型(能够生成自由形式的开放式答案)和 OOD 评估(例如零样本迁移)。在这些新设置中,传统的 VQA 准确率指标过于严格,往往低估了当前 VLM 系统的性能 [Agrawal 等, 2023]。为克服这一限制,一些工作通过人为约束 [Li 等, 2023e] 或重述 [Awal 等, 2023] VLM 的输出以匹配参考答案的格式。然而,这会影响 VLM 之间的公平比较,因为其表现很大程度上依赖于答案格式技巧。为了实现对 VLM 的真实且公平的评估,Mañas 等 [2024] 提出利用 LLM 作为 VQA 的评判者。

选择性预测(Selective prediction) 除了答案正确性之外,评估的另一个维度是 VQA 的选择性预测------即 VLM 在面对可能答错的问题时能够选择放弃回答,并在其选择回答的问题上保持高准确率的能力。这对于对准确性要求极高的应用尤为重要,因为错误答案可能误导依赖模型的用户。Whitehead 等 [2022] 将这一框架形式化,定义评估指标为在指定风险(可容忍错误水平)下的覆盖率(回答问题的比例),以及基于成本的指标(有效可靠性),该指标对错误回答的惩罚高于放弃回答的惩罚。放弃回答的决策可以通过对不确定性指标进行阈值判断来确定,例如直接使用答案概率、学习的正确性函数 [Whitehead 等, 2022; Dancette 等, 2023],或基于专家模型的一致性(例如 Si 等 [2023] 在单模态语言空间中的方法)。

视觉对话(Visual Dialog) Das 等 [2017] 提出了 VisDial,这是一个扩展 VQA 的数据集和基准,通过对图像提出一系列问题来评估模型能力。其目标是衡量一个智能体围绕给定图像进行讨论的能力。与传统 VQA 中问题可以被视为独立不同,视觉对话基准评估更通用的智能能力,例如理解对话历史中的上下文。

4.1.4 以文本为中心的视觉问答(Text-centric Visual Question Answering)

以文本为基础的 VQA 是一项任务,涉及对图像中的文本内容相关的自然语言问题提供回答。除了理解通用 VQA 中文本与视觉内容之间的相关性之外,这些查询还要求模型 1) 准确识别场景中的文本并理解其结构和顺序,2) 推理图像中的文本彼此之间以及与图像中其他视觉元素的关系。以文本为中心的评估可以通过多种任务进行,例如文本识别、场景文本为中心的视觉问答(VQA)、面向文档的 VQA、关键信息提取(KIE)以及手写数学表达式识别(HMER)。每项任务都提出了独特的挑战和要求,从而全面概览大语言模型的能力与局限性。

文本识别是光学字符识别(OCR)中的一项基础任务,要求模型能够准确识别和转录来自各种来源的文本。场景文本为中心的 VQA 扩展了这一挑战,要求模型不仅识别场景中的文本,还能回答与其相关的问题。面向文档的 VQA 进一步增加了复杂性,引入了结构化文档,如表格和发票。关键信息提取(KIE)是一项任务,专注于从文档中提取关键的信息,如姓名、日期或特定数值。最后,手写数学表达式识别(HMER)是一项专门任务,涉及识别和转录手写数学表达式,由于手写符号的复杂性和多样性,这是一项特别具有挑战性的任务。一些常用的基准数据集包括文本识别的 IIIT5K [Mishra et al., 2012]、COCOText [Veit et al., 2016]、SVT [Shi et al., 2014]、IC13 [Karatzas et al., 2013],场景文本为中心的 VQA 的 STVQA [Biten et al., 2019]、Text VQA [Singh et al., 2019]、OCR VQA [Mishra et al., 2019] 和 EST VQA [Wang et al., 2020],面向文档的 VQA 的 DocVQA [Mathew et al., 2021]、Info VQA [Mathew et al., 2022] 和 ChartQA [Masry et al., 2022],KIE 的 SROIE [Huang et al., 2019]、FUNSD [Jaume et al., 2019] 和 POIE [Kuang et al., 2023],以及 HMER 的 HME100k [Yuan et al., 2022]。数据集的组成差异很大,应主要根据评估目的选择------有些数据集关注特定类型的文本(如手写或艺术文本),而其他数据集则包含多种文本类型。一些数据集专门设计用于挑战模型处理多语言文本、手写文本、非语义文本以及数学表达式识别的能力,还有一些数据集纯粹关注各种信息图表和表格表示。

4.1.5 零样本图像分类(Zero-shot image classification)

零样本分类是指在模型未经过专门训练的分类任务上评估模型性能。这与少样本学习形成对比,少样本学习需要下游任务的少量训练样本来对模型进行微调。Radford 等人 [2021] 表明,通过不同类型的提示结构,尤其是针对特定任务定制的提示,可以显著提升 CLIP 的零样本分类性能。他们能够在著名的 ImageNet 分类基准 [Deng et al., 2009] 上展示出具有竞争力的性能。这是首次工作表明 VLM 方法可能能够与标准分类训练竞争。除了 ImageNet 外,评估 VLM 时通常还会使用其他分类数据集,如 CIFAR10/100 [Krizhevsky, 2009]、Caltech 101 [Li et al., 2022a]、Food101 [Bossard et al., 2014]、CUB [Wah et al., 2011]、StanfordCars [Krause et al., 2013]、Eurosat [Helber et al., 2019]、Flowers102 [Nilsback and Zisserman, 2008]、OxfordPets [Parkhi et al., 2012]、FGVC-Aircraft [Maji et al., 2013] 和 Pascal VOC [Everingham et al., 2010]。

由于提示工程,例如在人工设计的提示模板中使用概念名称,如 "a photo of a {class}" 和 "a demonstration of a {class}",可以显著提升零样本性能,最近的研究提出了新方法 [Menon and Vondrick, 2023; Pratt et al., 2023; Parashar et al., 2023],利用 ChatGPT 等大语言模型自动生成提示,通常包含丰富的视觉描述,例如 "a tiger, which has sharp claws"。虽然这些方法采用了 CLIP [Radford et al., 2021] 最初使用的标签名称,Parashar 等人 [2024] 用这些标签最常用的同义词替换原名称(例如将 cash machine 替换为 ATM),以提升准确性,而不依赖于所使用的提示模板。如 Udandarao 等人 [2024] 所强调,VLM 的零样本能力主要取决于训练数据中是否存在这些概念。因此,目前尚不清楚是否仍应将此类评估视为零样本,因为模型可能已经以某种间接方式在训练中学习了解决下游任务。

在分布外(OOD)任务上的泛化(Generalization on Out-Of Distribution (OOD) tasks)。在 ImageNet 等任务上使用 CLIP 进行零样本评估并取得良好表现,仅在于 CLIP 的训练数据足够庞大,可能包含 ImageNet 数据集中出现的许多概念和类别标签。因此,当某些下游任务的训练 CLIP 数据分布差异较大时,可能导致泛化能力不足。Samadh 等人 [2023] 建议修改测试样本的 token 分布,使其与 ImageNet 数据分布对齐(因为原始 CLIP 训练数据未知)。他们的研究表明,这种对齐可以帮助提升在各种 OOD 基准测试以及不同下游任务上的性能。

4.1.6 视觉-语言组合推理(Visio-linguistic compositional reasoning)

最近的一些基准测试引入了人为创建的、带有歧义的图像描述,用于挑战模型。创建此类描述的一种简单方法是重新排列原始真实描述中的单词顺序。然后,通过评估模型区分正确描述与扰动描述的能力来进行测试(这使得该评估等价于二分类问题)。在本节中,我们介绍一些常用的基准测试,这些测试利用了此类二分类设置。

Winoground [Thrush 等, 2022] 是一个用于评估视觉-语言模型(VLM)视觉语言能力的任务。数据集中每个样本包含两张图像和两个描述。每张图像恰好对应一个描述,而两个描述仅在单词顺序上有所不同。例如,在图 3 中,有两个描述 "some plants surrounding a lightbulb" 和 "a lightbulb surrounding some plants"。模型的任务是对正确的图像-描述配对给出比错误配对更高的评分。Diwan 等 [2022] 进一步探索了 Winoground,并提供了为什么该任务对 VLMs 来说如此具有挑战性的见解。

最近,Yuksekgonul 等 [2023] 提出了 Attribution, Relation, and Order (ARO) 数据集,用于评估视觉-语言模型(VLM)对关系、属性和顺序的理解能力。该数据集基于 GQA、COCO 和 Flickr30k 构建。随后,通过交换原始描述中的关系、属性或顺序生成负样本描述。例如,将描述 "A horse eating grass" 的描述变为 "grass eating a horse"(图 3)。然后评估模型对负样本描述预测较低概率的能力。与 Winoground 不同,Winoground 是寻找与负样本描述对应的真实图像,而 ARO 并不提供真实的"负"图像。这种方法的优点是可以生成大量负样本描述;然而,其中一些可能在现实世界中没有意义。

Hsieh 等 [2023] 观察到,最近开发的图像到文本检索基准 [Yuksekgonul 等, 2023;Zhao 等, 2022;Ma 等, 2023],旨在评估视觉-语言模型(VLM)的细粒度组合能力,存在可被操控的问题。这些基准确实依赖程序生成的困难负样本,这些负样本由于语法不准确,往往缺乏逻辑一致性或语言流畅性。为缓解这些问题,Hsieh 等 [2023] 建议利用 ChatGPT 生成更合理且语言上正确的困难负样本。他们将 SUGARCREPE 数据集 [Hsieh 等, 2023] 划分开来,类似于 ARO 的方法,用于评估不同形式的困难负样本,每种形式评估特定的组合方面(例如属性、关系、对象理解)。

**警告!**许多依赖于将正确标题与负样本标题区分开来的二分类问题的基准存在一个重大问题,即它们通常没有考虑模型对两个标题输出相等概率的情况。如果模型将信息塌缩为两个标题相同的表示向量,就可能出现这种情况。如果模型输出相同的概率,那么像 PyTorch 这样的框架中使用的 argmax 操作将始终返回向量的第一个元素。恰好许多基准将正确标题放在第一个元素位置。因此,一个参数全部为零的模型可能在这些基准上获得 100% 的准确率。我们建议添加一个小的 epsilon 随机数,或者记录标题是否被分配了相同的概率。

4.1.7 密集标题与裁剪-标题匹配(Dense captioning and crop-caption matching)

当前一代视觉语言模型通常由于文本分词器的限制,仅能处理简短的文本描述作为输入。流行的 CLIP 分词器(用于训练基于 CLIP 的模型)最多生成 77 个 token,相当于五十个英文单词或一个小段落。即使可以用少量词语总结一张图像,图像的信息通常远比这丰富。使用简短标题时,我们会丢失关于背景以及我们想描述对象的细粒度信息。为此,引入了密集标题图像(DCI)数据集 [Urbanek et al., 2023],用于提供完整的图像描述。作者使用 Segment Anything [Kirillov et al., 2023] 将图像划分为不同部分,并请人工标注者为每个分割部分提供详细描述。通过这种方法,他们对 7805 张图像进行了超过 1000 个单词的标题标注。利用 DCI 数据集,作者在一个新的裁剪-标题匹配任务上评估视觉语言模型。对于每张图像,模型应在所有子图像标题中将正确标题匹配到对应的子图像。这样可以评估给定视觉语言模型对场景细节的细粒度理解能力。

4.1.8 基于合成数据的视觉语言评估(Synthetic data based visio-linguistic evaluations)

使用真实数据时遇到的一个挑战是,很难找到一张能够与负面标题关联的图像。此外,这些基准很难区分模型失败的原因是因为它无法识别特定场景中的特定对象,还是尽管识别了两个对象,却无法理解它们之间的关系。此外,大多数情况下,用于描述图像的标题通常非常简单,可能带有歧义或偏差。许多基于检索的视觉语言模型基准依赖于从知名数据集(如 COCO)提取的真实图像。然而,使用未专门为视觉语言模型评估设计的真实图像数据集可能存在问题,因为这些数据集无法提供可与负面标题关联的图像。例如,"咖啡杯"总是拍摄在桌子上。因此,视觉语言模型可能利用这一位置偏差,在不使用图像信息的情况下持续预测正确的正向标题,即"咖啡杯在桌子上"。为了避免真实图像和语言带来的偏差,需要在提供负面标题的同时提供对应图像。在"咖啡杯"场景中,这意味着将咖啡杯放在桌子下方,并评估视觉语言模型识别正确空间位置的能力。然而,手动将真实物体放置在不同位置成本极高,需要人工干预。相比之下,合成图像数据集在设计和评估视觉语言模型方面具有无可比拟的优势:可以精确控制每个场景,并生成细粒度的真实标签(及标题)。使用 Photorealistic Unreal Graphics (PUG),Bordes 等人 [2023] 通过一次添加一个元素精细构建复杂场景。通过这种方式,作者评估给定的视觉语言模型是否能够在特定背景下关联正确的标题。随后,他们向场景中添加一个动物,并验证模型是否能够在每个背景中检测到该特定动物。如果动物正确,他们将其移动到左侧或右侧,以确认视觉语言模型是否仍能找到正确标题,表明动物位于左侧或右侧。作者发现,在评估空间关系时,当前的视觉语言模型表现并不优于随机猜测。

4.2 视觉语言模型中的偏差与差异基准评估(Benchmarking Bias and disparities in VLMs)

近年来,机器学习系统中的偏差问题受到了广泛关注 [Buolamwini 和 Gebru, 2018;Corbett-Davies 等, 2017;de Vries 等, 2019]。本论文现讨论在视觉语言模型中对偏差进行基准评估的方法,包括通过模型分类结果及其嵌入空间分析偏差。

4.2.1 通过分类基准评估偏差(Benchmarking bias via classifications)

评估分类模型偏差的最常用方法之一是通过分类结果。例如,与人相关的属性偏差,如性别、肤色和种族,通常在职业和职位分类中进行测量 [Gustafson 等, 2023;Agarwal 等, 2021]。此外,还经常评估将人与带有有害联想的概念进行分类的情况 [Agarwal 等, 2021;Goyal 等, 2022;Berg 等, 2022]。虽然不如前者常见,但仍然相关的评估包括当人群与不同群体共同出现时,对看似无害的物体和概念(如服装或运动器材)的分类率进行分析 [Srinivasan 和 Bisk, 2021;Agarwal 等, 2021;Hall 等, 2023b]。

使用真实数据(With real data)。这类评估通常使用真实数据进行。例如,Agarwal 等 [2021] 对 CLIP 中潜在的偏差进行了评估。他们通过分析带有种族、性别和年龄相关群体标签的面部图像被分类为"盗贼"、"罪犯"和"可疑人员"等类别的频率来衡量表示性伤害 [Karkkainen 和 Joo, 2021;Hazirbas 等, 2024]。此外,他们还衡量了不同性别群体在不同阈值下与服装、外貌和职业相关的标签分布。在这些实验中,他们发现了种族、性别和年龄群体之间存在显著的有害关联模式和差异。

需要注意的是,真实评估数据源中群体间的比例差异可能会影响差异性评估。例如,评估数据的标签质量可能存在差异,对某些群体可能存在偏差,或者群体间的概念分配不一致 [Hall 等, 2023a]。此外,不同群体之间可能存在分布变化,例如不同属性的人使用不同的图像来源 [Scheuerman 等, 2023]。

使用合成数据(With synthetic data)。Smith 等 [2023] 表明,可以使用合成的、性别平衡的对比集来评估 VLM 中的偏差,这些对比集通过扩散模型生成,仅编辑与性别相关的信息,同时保持背景不变。类似地,Wiles 等 [2022] 使用现成的图像生成和图像描述模型研究模型的失败模式。具体来说,生成模型利用真实标签生成合成样本,然后使用图像描述模型为误分类样本生成描述,从而生成额外的样本。这形成了一个可供人类理解的模型失败模式语料库。此外,Li 和 Vasconcelos [2024] 提出了一种通过因果干预生成反事实图文对来量化 VLM 偏差的框架,从而可以衡量模型在原始分布与反事实分布上的预测差异。

4.2.2 通过嵌入评估偏差(Benchmarking bias via embeddings)

另一种评估偏差的方法侧重于 VLM 的嵌入空间。这类方法并不评估具体的下游任务(如分类),而是分析文本与图像表示之间的关系。嵌入空间分析可以揭示在评估任务中难以量化的学习到的关系。为理解这些关系,Ross 等 [2020] 提出了两种嵌入关联测试------Grounded-WEAT 和 Grounded-SEAT,用于测量类似于人类隐性联想中的偏差。例如,他们发现愉快的概念如花卉更容易与欧洲裔美国人的姓名和较浅的肤色相关联,而非非洲裔美国人和较深的肤色。类似的细微发现包括 VLM 将"美国人"与"白人"联系在一起 [Wolfe 和 Caliskan, 2022],并表现出性别物化现象 [Wolfe 等, 2023]。CLIP 的普及带来了利用其文本与图像嵌入显式映射的新方法。当图像映射到人口属性编码(如性别、肤色、年龄)或刻板印象词(如恐怖分子、CEO)时,发现了人口学偏差 [Garcia 等, 2023, Hamidieh 等, 2023]。

4.2.3 语言偏差可能影响你的基准!(Language biases might impact your benchmark!)

随着 VLM 领域的发展,解决多模态基准数据集策划中经常被忽视但至关重要的挑战变得尤为重要。一个显著的例子是具有影响力的视觉问答(VQA)基准 [Antol 等, 2015],已知可以通过利用数据集中的单模态(语言)偏差的"盲"算法解决,例如,以"Is there a clock"开头的问题有 98% 的概率答案是"yes" [Goyal 等, 2017]。换句话说,如果多模态基准数据未经过精心策划,可能容易受到单模态捷径解法的影响。事实上,Lin 等 [2024a] 发现,利用像 BLIP [Li 等, 2022b] 这样的图像-文本生成模型估计的盲语言先验(P(text))在当代图文检索基准上表现良好,包括 ARO [Yuksekgonul 等, 2023]、Crepe [Ma 等, 2023]、VL-CheckList [Zhao 等, 2022] 和 SugarCrepe [Hsieh 等, 2023]。相比之下,平衡的基准如 Winoground [Thrush 等, 2022] 和 EqBen [Wang 等, 2023a] 实际上会惩罚单模态捷径。

4.2.4 评估训练数据中特定概念如何影响下游性能(Evaluating how specific concepts in the training data impact downstream performances)

最近,Udandarao 等 [2024] 表明,训练数据中频繁出现的概念能够在下游任务中取得良好的表现。然而,如果这些概念不存在或非常罕见,模型在这些任务上的表现将会很差。作者建议先找到描述给定下游任务的一组概念(例如分类任务中的类别名称),然后利用识别模型(如 RAM [Zhang 等, 2023d])检测训练数据中这些概念的出现频率。这种评估可以近似估计本论文称呼训练后在下游任务上解决问题的可能性。

4.3 幻觉评估(Benchmarking hallucinations)

幻觉是大型语言模型(LLMs)中的一个主要问题 [Huang 等, 2023]。它们常常以极高的置信度输出看似真实但实际上错误的信息。例如,它们可能声称人类第一次登月是在1951年,而真实年份是1969年;或者想象从未发生过的历史事件。视觉语言模型(VLMs)也可能生成与用户要求描述的图像无关的文本或图像说明。因此,评估 VLM 是否产生幻觉是一个非常重要的研究领域。Rohrbach 等 [2018] 开发了第一个用于图像说明中对象幻觉的基准(CHAIR),通过在 COCO 数据集 [Lin 等, 2014] 的固定对象集合中测量幻觉。虽然该方法仍然流行,尤其适用于评估短句单句说明,但对于评估近期 VLM 的长生成文本可能具有误导性(例如,将假设性陈述计为幻觉,或遗漏固定对象集合之外的幻觉),并且仅限于 COCO 数据,其评估视角相对狭窄。相比之下,POPE [Li 等, 2023g] 使用二元投票问题评估对象幻觉,包括正样本(使用真实对象)和负样本(从负对象采样)。更近期的研究采用基于模型的方法扩展评估,例如 Liu 等 [2023b] 使用 GPT-4 [Achiam 等, 2023] 评估指令遵循能力(GAVIE)、Zhai 等 [2023a] 用于在说明中定位对象幻觉(CCEval)、Sun 等 [2023] 用于评估 VLM 对幻觉相关问题的回答(MMHal-Bench)。此外,仍可采用人工评估,例如 Gunjal 等 [2024] 使用细粒度的说明标注进行评估。本论文称呼同样可利用这些方法进行幻觉检测和评估。

4.4 记忆能力评估(Benchmarking memorization)

训练数据的潜在记忆问题已在单模态模型中得到广泛研究,如大型语言模型(LLMs)[Carlini 等, 2021] 和扩散模型 [Somepalli 等, 2023; Carlini 等, 2023]。对于视觉语言模型(VLMs),如何衡量记忆能力更加复杂,主要有两个原因:1)与生成模型不同,联合嵌入型 VLM(如 CLIP)没有解码器,这使得从模型参数和学习到的嵌入中解码记忆信息变得困难;2)对于具有有限生成能力的 VLM(如 CoCa 和 LLaVA),如何揭示跨模态记忆仍是一个开放问题,例如,如何通过文本探查模型对训练图像所记忆的信息。本论文称呼同样面临这些挑战,需要设计相应的方法来评估模型的记忆能力。

Jayaraman 等 [2024] 研究了视觉语言模型(VLM)在被其对应的图像说明查询时记忆训练图像中对象的能力。他们将这种现象称为"既视感记忆"(déjà vu memorization),并表明 CLIP 模型能够有效"记住"训练图像中出现的对象,即使这些对象未在说明中描述。为此,作者提出了一个 k-近邻测试,使用从基础训练分布中采样但与训练集无重叠的公共图像集。对于目标训练说明,他们在嵌入空间中找到与说明最接近的 k 张公共图像,然后利用这些图像解码目标训练图像中存在的不同对象。然而,这一步本身并不能区分对象是由于模型记忆导致的,还是模型从图像-说明对中学习到的一般关联导致的。为了区分这一点,作者训练了另一个 CLIP 模型(称为参考模型),该模型在训练过程中未见过目标图像-说明对。随后在参考模型上进行类似的 k-NN 测试,以评估参考模型推断出的对象。最终,既视感记忆通过目标模型和参考模型在对象检测精确率/召回率上的差距进行量化,差距越大表示记忆程度越高。本论文称呼同样适用此方法来评估模型的记忆能力。

尽管不同的正则化技术在缓解记忆化方面效果各异,Jayaraman 等 [2024] 发现文本随机化是最有效的正则化技术,它能够显著降低记忆化,同时不会严重影响模型的实用性。在该技术中,每个训练周期会随机遮蔽训练说明中的一部分文本标记。这引入了文本增强,从而降低模型对训练说明与对应图像之间关联的过拟合能力。本论文称呼同样采用此方法来减少模型的记忆化现象。

4.5 红队测试(Red Teaming)

在基础模型的语境下指的是尝试利用模型的公共接口,使其生成一些不良输出 [Perez 等, 2022]。红队测试工作通常包括某种旨在引发潜在危害的对抗性数据集。该数据集包含一对提示及被认为正确的参考答案(例如拒绝回答),模型的表现则根据其与正确答案的偏差进行评分 [Vidgen 等, 2023; Bianchi 等, 2024]。本论文称呼同样采用红队测试来评估模型在面对恶意或危险输入时的表现。

为了具体说明,考虑一个VLM被提示处理一张敏感图像,并被要求详细描述其中内容的情境。尽管文本提示可能是无害的(如"描述这张图像中的活动"),模型生成的输出可能被视为有害。Li 等 [2024b] 的工作尝试从忠实性、隐私、安全性和公平性方面刻画红队测试面临的独特挑战。本论文称呼同样关注这些红队测试挑战,以评估模型在处理敏感或潜在有害输入时的表现。

为了预见评估VLM可能遇到的挑战,考虑一些已经针对文本到文本和文本到图像模型开发的红队测试工作是有帮助的。在语言领域,红队测试数据集旨在揭示特定的潜在危害。这些危害作为多种潜在风险的代理,可以进一步组织成风险分类体系 [Weidinger 等, 2022; Sun 等, 2024; Derczynski 等, 2023]。为了整理这些工作,已有排行榜被开发出来,用于在各种对抗性任务中评估语言模型的表现 [Liang 等, 2022; Röttger 等, 2024]。Lee 等 [2024] 的文本到图像工作也提供了类似的排名努力。为了将危害映射到风险,红队测试首先固定希望缓解的风险定义,然后探测模型以揭示该风险。这些风险的形式化(如隐私、有害性、偏差)仍然是活跃的研究领域。本论文称呼同样关注通过红队测试系统化评估VLM在这些风险下的表现。

在完成红队评估后,可以通过后处理方法或模型微调方法来缓解某些风险,例如基于人类反馈的强化学习 [Ouyang 等, 2022]。本论文称呼同样采用此类方法来降低VLM在实际应用中的潜在风险。

5、将VLM扩展到视频(Extending VLMs to Videos)

到目前为止,本论文关注的是在静态视觉数据(即图像)上训练和评估的VLMs。然而,视频数据带来了新的挑战,也赋予模型潜在的新能力,例如理解物体的运动与动态,或者在空间和时间上定位物体与动作。快速发展的文本到视频检索、视频问答和视频生成已成为计算机视觉的基础任务 [Xu 等, 2015; Tapaswi 等, 2016; Brooks 等, 2024]。视频的时间维度对存储、GPU显存和训练带来了按帧率成倍增加的挑战(例如,一个24 fps的视频,如果每帧都作为图像处理,则需要24倍的存储/计算)。这要求视频VLMs在设计上做出权衡,例如使用压缩视频(如H.264编码)并在数据加载器中实时解码;从图像编码器初始化视频编码器;视频编码器采用空间/时间池化或掩码机制 [Fan 等, 2021; Feichtenhofer 等, 2022];非端到端的VLMs(离线提取视频特征,并训练以视频特征而非像素帧为输入的模型以处理长视频)。与图像-文本模型类似,早期的视频-文本模型通常从零开始训练视觉和文本组件,使用自监督的学习目标 [Alayrac 等, 2016]。但与图像模型不同,对比式视频-文本模型并非首选,早期融合和视频与文本的时间对齐更受欢迎 [Sun 等, 2019],因为在表示中保持更多时间粒度比计算视频的全局表示更有价值。近年来,视频-语言模型也呈现出类似图像-语言模型的发展趋势:使用预训练的LLMs并与视频编码器对齐,使LLMs具备视频理解能力。现代技术如视觉指令微调也被广泛采用并适配到视频任务中。

5.1 基于BERT的早期视频工作(Early work on Videos based on BERT)

尽管最初的视频-语言方法高度依赖于其设计解决的特定任务,例如视频检索或视频问答,VideoBERT [Sun 等, 2019] 是首个成功的通用视频-语言建模方法。与在图像-语言建模中使用对比学习并取得成功的基于CLIP的方法不同,VideoBERT采用早期融合的方法,类似于Flamingo [Alayrac 等, 2022],其中表示视频字幕对的视觉和文本token通过单个Transformer网络进行融合。视频数据来自YouTube的烹饪教学视频,文本通过自动语音识别(ASR)获得。视频按帧处理,每帧对应一个视觉token。预训练目标基于流行的BERT语言模型,对部分token进行掩码并重建。VideoBERT展示了强大的对齐能力,是首个能够在需要生成文本的视频任务上表现良好的模型,例如零-shot动作分类和开放式视频字幕生成。

超越将描述性句子与视频进行全局对齐的方式,多模态事件时序表示学习(MERLOT)[Zellers 等, 2021] 实现了视频-语言的对齐,其中文本与视频在时间上保持同步。与VideoBERT不同,VideoBERT训练于经过精心挑选的烹饪教学视频,本论文采用的MERLOT训练于大规模、未经严格筛选且更加多样化的YouTube视频数据集,对应文本同样通过ASR获取。该模型使用纯自监督方式训练的Transformer网络,训练目标包括局部文本token与帧视觉token之间的对比学习目标、掩码语言建模目标以及时间重排序目标。该模型在问答任务上展示了令人印象深刻的能力,尤其是在视觉常识推理方面。首先,它能够将从视频中学到的知识迁移,用于回答图像中接下来会发生什么的问题,显示了视频模型在理解视觉世界中的价值。其次,它能够在多种数据集和基准上回答来自视频的特别困难的问题。本论文方法在MERLOT上的主要局限性是缺乏生成文本的能力,这限制了其展示高级视觉推理能力的可能性。

5.2 使用早期融合的VLM实现文本生成(Enabling text generation using an early-fusion VLM)

VideoOFA [Chen 等, 2023c] 是一个用于视频到文本生成的早期融合VLM。许多早期视频VLM要么缺乏生成文本的能力,要么将视频编码器与单独训练的文本解码器结合,导致精度不理想。本论文方法提出了一个两阶段预训练框架,将单一的生成型图像-文本VLM适配到视频-文本任务。具体而言,本论文方法从一个具备文本生成能力且在大规模图像-文本数据上联合预训练以学习基础视觉-语言表示的图像-文本VLM进行初始化。随后,本论文方法提出了一个中间的视频-文本预训练步骤,用于将骨干VLM适配到视频-文本任务,并学习视频特有的概念,如时序推理。中间预训练阶段包含三个训练目标,均重新表述为视频到文本生成任务:视频字幕生成、视频-文本匹配以及帧顺序建模。本论文方法在多个视频字幕生成和视频问答基准上进行了评估,并显示出相较于以往模型的性能提升。

5.3 使用预训练VLM(Using a pretrained LLM)

图像-语言模型逐步趋向于利用现有大语言模型(LLM)的能力来理解文本。本论文方法不是训练一个语言模型去与预训练视觉骨干对齐,而是将视觉骨干与现有LLM对齐,通常使用字幕生成目标。同样的趋势也应用于视频模型,Video-LLaMA [Zhang 等, 2023b] 因而成为一种流行方法,展示了对视觉和音频信号的强视频-语言对齐能力。Video-LLaMA 的架构基于 BLIP-2,一个视频Q-Former和一个音频Q-Former在Webvid-2M数据集(一个精选视频数据集)上分别训练,以实现语言与视频和音频的对齐。LLM采用LLaMA模型,训练目标是字幕生成损失。作为第二步,本论文方法在MiniGPT-4、LLaVA和VideoChat的视觉指令数据上进行微调,使其适用于人机交互。Video-LLaMA 是一个对话代理,因此不使用标准基准进行评估。用户可以通过聊天API与模型进行对话,使用文本提示、视频和图像,并提出相关问题。许多后续工作如Video-LLaVA [Lin 等, 2023] 进一步探索了LLM与视频的对齐。

一个更新的模型,MiniGPT4-Video [Ataallah 等, 2024] 将 MiniGPT-v2 扩展用于带文本输入的视频理解。本论文方法借鉴 MiniGPT-v2 的方案,将每四个相邻的视觉 token 合并为一个单独的 token,以在不丢失太多信息的情况下减少输入 token 的数量。除了视觉 token 外,还提取每帧字幕的文本 token,以更好地表示每个视频帧。这种视觉 token 与文本 token 的混合能够促进LLM对视频内容的理解。本论文方法的架构包括一个视觉编码器、一个单线性投影层和一个大语言模型。为了评估 MiniGPT4-Video 的有效性,使用了三类基准展示其在视频理解任务上的良好性能,包括 Video-ChatGPT、开放式问答和多项选择题(MCQs)。MiniGPT4-Video 在 MSVD [Chen 和 Dolan, 2011]、MSRVTT [Xu 等, 2016]、TGIF [Li 等, 2016] 和 TVQA [Lei 等, 2018] 基准上均显著优于现有最先进模型,如 Video-LLaMA [Zhang 等, 2023b]。

5.4 评估中的机遇(Opportunities in evaluations)

虽然视频基准测试在很多方面类似于图像基准测试,例如字幕生成,但视频也为其他类型的评估提供了可能。像 EgoSchema [Mangalam 等, 2024] 这样的数据集要求模型回答长视频中的问题,需要理解对象/行为者之间的交互。这使得评估能够超越单纯描述场景,而仅依靠图像很难实现。类似地,ActivityNet-QA [Yu 等, 2019]、MSVD-QA [Xu 等, 2017] 和 MSRVTT-QA [Xu 等, 2017] 要求检索相关帧或定位动作以正确回答问题。然而,对于许多问题,仅观察单帧就足以提供准确答案。例如,展示一场足球比赛并询问"人们在玩哪种运动?"并不需要查看多帧。这就引出了一个问题,即视频的时间维度在解决当前视频基准测试中到底有多必要。

理解视频中动作的语义方面非常重要,但视频还提供了独特的机会来测试模型的推理能力或对世界的理解。为此,合成数据在测试基于视频的视觉语言模型(VLM)的推理能力方面被证明非常有效。在 Jassim 等 [2023] 的工作中,生成的视频要么遵循物理定律,要么违反物理定律。例如,一颗突然消失的球违反了时空连续性。随后,模型被要求判断视频中的元素,例如球的轨迹,是否遵循物理定律。也许令人惊讶的是,VideoLLaMA 或 PandaGPT [Su 等, 2023] 等模型的表现并未超过随机水平,而人类则能达到 80% 以上的准确率。这些发现表明,基于视频的 VLM 仍然缺乏一些基本的推理能力,而合成数据能够高效地对其进行测试。

尽管当前基于视频的视觉语言模型(VLM)的能力令人印象深刻,但仍有机会进一步测试其推理能力,而这只能通过视频的时间特性来实现。

5.5 利用视频数据的挑战(Challenges in leveraging video data)

视频-文本预训练面临的一个挑战是当前时间维度上的(弱)监督稀缺,这一问题在 VideoPrism [Zhao et al., 2024] 中得到了体现。现有数据(例如来自互联网的视频)主要关注场景内容的描述,而非动作或运动,使得视频模型在某种程度上退化为图像模型。在视频上训练的 CLIP 模型也可能表现出名词偏差 [Momeni et al., 2023],这使得建模交互关系更加困难,从而导致虽然模型在视频上训练,但在时间理解方面仍然不足。生成同时包含场景内容和时间信息的配对视频-字幕数据,比单纯描述图像场景更加复杂且成本更高。可能的解决方案包括:例如,可以使用视频字幕生成模型生成更多字幕,但这需要先有高质量的数据集来训练该字幕生成器;另一种方法是仅在视频上训练视频编码器,这也是 VideoPrism 中采用的方法,以减少不完美字幕的影响。除了数据问题,计算成本也是一个挑战。处理视频比处理图像更昂贵,同时视频的冗余性更高。虽然图像本身就有很多冗余信息,但视频中相邻两帧之间的相似性更高。因此,需要更高效的训练方案,例如使用掩码(masking)技术,这在基于图像的视觉语言模型上已经证明有效 [Li et al., 2023f]。无论是预训练数据、计算成本还是评估质量方面的这些挑战,都指向了未来在视频 VLM 研究中提升模型对世界理解能力的有前景方向。

6、结论(Conclusion)

将视觉映射到语言仍然是一个活跃的研究领域。从对比学习方法到生成方法,有多种方式可以训练视觉语言模型(VLM)。然而,高昂的计算和数据成本通常是大多数研究者面临的障碍,这也促使本论文采用利用预训练的大型语言模型(LLM)或图像编码器,仅学习模态之间的映射。无论训练 VLM 的技术手段如何,仍有一些通用考虑需要注意。大规模高质量的图像和字幕是提升模型性能的重要因素。改进模型的落地能力并使模型与人类偏好对齐,也是提升模型可靠性所必需的步骤。为了评估性能,本论文介绍了若干基准,用于衡量视觉-语言能力和推理能力;然而,其中许多基准存在严重限制,例如仅通过语言先验即可解决。将图像与文本绑定并非 VLM 的唯一目标,视频也是一个重要模态,可用于学习表征。然而,在学习良好的视频表征之前,仍有许多挑战需要克服。VLM 的研究仍然非常活跃,因为仍有许多缺失的组成部分需要解决,以使这些模型更加可靠。

相关推荐
爱笑的眼睛1117 分钟前
PyTorch Lightning:重新定义深度学习工程实践
java·人工智能·python·ai
开放知识图谱19 分钟前
论文浅尝 | 利用条件语句激发和提升大语言模型的因果推理能力(CL2025)
人工智能·语言模型·自然语言处理
KG_LLM图谱增强大模型19 分钟前
[经典之作]大语言模型与知识图谱的融合:通往智能未来的路线图
人工智能·大模型·知识图谱·graphrag·本体论·图谱增强大模型
YJlio20 分钟前
「C++ 40 周年」:从“野蛮生长的指针地狱”到 AI 时代的系统底座
c++·人工智能·oracle
Lian_Ge_Blog20 分钟前
attention、transform、bert 复习总结 1
bert
机器之心26 分钟前
小米开源首个跨域具身基座模型MiMo-Embodied,29个榜单SOTA
人工智能·openai
六行神算API-天璇34 分钟前
架构实战:打造基于大模型的“混合搜索”系统,兼顾关键词与语义
人工智能·架构
龙卷风04051 小时前
深入理解Spring AI Alibaba多Agent系统:图结构驱动的智能协作
人工智能·后端
mqiqe1 小时前
【Spring AI MCP】四、MCP 服务端
java·人工智能·spring