Vlm

VLM 综述

理论

主要涉及,EBM ,MCMC ,NCE ,SSL

CLIP

经典的用对比学习方法的 infoNCE loss评估的就是 CLIP

  • 创新点 视觉和语言共享表征空间

SigLIP

跟CLIP相似,但用的原始的NCE loss 在二项交叉熵上,相比于 CLIP,更适合在小样本批次上 0样本学习

Latent language image pretraining (Llip)

提出用交叉注意力机制来限制图片编码器的捕获,由于多样性增大,提升了下游迁移的分类和检索能力

VLMs with masking objectives

掩码是常规骚操作

FLAVA

首个例子就是,Foundational Language And Vision Alignment (FLAVA)

由三个核心部件组成,每一个依据一个 transformer 框架并针对特定处理模式进行定制

图像编码器用的 VIT 来加载线性表征和基于 transformer 的表征, 包含分类 token,CLS_I

文本就用 transformer 编码,包含分类 token CLS_T

两个编码器的训练都用掩码方式

在此基础上,多模态编码器融合了来自图像和文本编码器的隐藏状态,利用 transformer 框架内学习到的线性投影和交叉注意力机制来整合视觉和文本信息,并通过一个额外的多模态分类标记([CLSM])来突出显示。

该模型采用了综合的训练方案,结合了多模态和单模态的掩码建模损失以及对比目标。

预训练7千万公开图片文本对 ,35个任务 SOTA

MaskVLM

上个的限制是用预训练图片编码器 dVAE,为了减少第三方依赖 ,MaskVLM直接在像素空间和文本空间掩码

使其在文本和图像之间都能正常工作的关键之一是利用从一种模式传递到另一种模式的信息流;文本重构任务接收来自图像编码器的信息,反之亦然。

VLM 里面的信息论

从信息论的角度来看,我们将对比损失和自动编码损失理解为失真的实现,而速率则主要由使用的数据转换决定。

生成式 VLM

前面的方法都只在浅层表征上搞

SD不香吗

CoCa(一个文本生成器)

Contrastive Captioner (CoCa)

CLIP 和对比描述生成器(Contrastive Captioner,CoCa)也采用了一种生成损失,该损失对应于由多模态文本解码器生成的描述。该解码器将图像编码器的输出和由单模态文本解码器生成的表示作为输入。这种新的损失使其能够执行新的多模态理解任务(如视觉问答,VQA),而无需使用多模态融合模块进行进一步适配。CoCa 从零开始进行预训练,仅将带注释的图像标签视为文本。预训练依赖于两个数据集:包含约18亿张带替代文本的图像的 ALIGN 数据集,以及 JFT-3B 内部数据集,该数据集包含超过 29,500 个类别作为标签,但将这些标签视为替代文本。

Chameleon and CM3leon(多模态生成模型)

CM3Leon, 引入特殊 token 表示模态转换

这货两阶段训练

第一阶段,检索增强预训练,用一个基于CLIP的编码器和dense检索器获取相关的不同的多模态文档并制作序列。然后使用下一个标记训练模型 对输入序列的预测。检索增强有效地提高了 预训练期间可用的 token ,从而提高数据效率。

第二阶段,用SFT,多任务指令微调,这阶段允许模型处理生成不同模态的内容,显著提升在不同任务的文生图和文字引导图片编辑能力。 SOTA

扩展工作,Chameleon,可以生成带有混合序列的解释

模型稳定对于 qk归一化,修改后的图层规范放置修改很重要

同时他们还讲了咋样把 SFT 从文本模型转到混合模型内容上,在扩展的基础上进行强对齐

用生成式文生图模型适配下游视觉语言模型任务

Likelihood estimation with autoregressive models.

大部分 tokenizer 基于 Vector Quantised-Variational AutoEncoder (VQ-VAE)

Likelihood estimation with diffusion models.

Advantages of generative classifiers.

VLM 预训练骨干网络

Frozen

Frozen 是一个利用预训练大型语言模型(LLM)的首例模型。该工作提出通过一个轻量级映射网络将视觉编码器连接到冻结的语言模型中,该网络将视觉特征投射到文本标记嵌入。

MiniGPT

在 MiniGPT-4 中,使用一个简单的线性投影层来对齐图像表示(使用与 BLIP-2 相同的视觉编码器,基于 Q-Former 和 ViT 骨干)与 Vicuna 语言模型的输入空间。鉴于视觉编码器和 Vicuna 语言模型已经经过预训练并作为现成模型使用,MiniGPT-4 仅需要训练线性投影层,这在两轮中完成。第一轮包括 20,000 个训练步骤(批量大小为 256),对应大约 500 万个来自 Conceptual Caption 、SBU 和 LAION 的图像-文本对。由于仅需要训练线性投影层的参数,作者仅使用了四个 A100 GPU 大约十小时。第二轮训练利用高度精心策划的数据进行指令调优,仅需要 400 个训练步骤(批量大小为 12)。

其他比较受欢迎的骨干模型

  • Qwen (256 7B)
  • BLIP2(100-200M)

VLM 训练

CLIP实在400M的图片上寻来你的

OpenCLIP 用256-600 GPUs 数以周计才能训练出来

使用数据管理可以打破缩放定律

训练数据

DataComp 提了个benchmark,里面模型架构和训练超参数是固定的

这个聚焦于设计图文数据集来达到强零样本和检索性能在下游的38个任务上

Heuristics

Ranking based on Pretrained VLMs

Diversity and Balancing:

使用合成数据提升训练数据

Bootstrapping Language-Image Pre-training (BLIP)

用 LLAVA 可以高效训练文图生成模型

使用数据增强

  1. 数据增强在自监督视觉模型中的利用

    • SLIP [Mu et al., 2022] 通过在视觉编码器上引入辅助自监督损失项来回答这个问题。
    • 输入图像生成两个增强版本,创建一个正对比组,并与批次中的所有其他图像进行对比。
  2. 对比损失和正则化的效果

    • 这种方法增加的开销较小,同时提供了一个正则化项,改进了所学习的表示。
  3. 充分利用文本信号

    • 仅将自监督学习(SSL)损失用于视觉编码器并未充分利用来自文本的重要信号。
  4. 跨模态的 SSL 损失

    • CLIP-rocket [Fini et al., 2023] 建议将 SSL 损失转换为跨模态。
    • CLIP 对比损失在存在多个图像-文本对增强时效果优于其他非对比替代方案。
  5. 不对称增强和投影器设计

    • 输入的图像-文本对以不对称的方式进行增强,一个是弱增强集,一个是强增强集。
    • 使用两个不同的投影器:弱增强对的投影器为线性层,强增强对的投影器为2层的 MLP,以应对噪声嵌入。
  6. 推理时的表示插值

    • 弱和强增强学习到的表示在推理时被插值以获得一个单一向量。

交错数据管理

  1. 自回归语言模型与交错数据

    • 像 Flamingo [Alayrac et al., 2022] 和 MM1 [McKinzie et al., 2024] 这样的自回归语言模型表明,在训练期间包含交错的文本和图像数据可以提高模型的少样本性能。
    • 用于预训练的交错数据集通常从互联网抓取,并经过精心策划以提高质量和安全性。
  2. 数据策划策略

    • 自然交错数据
      • 例如 OBELICS [Laurençon et al., 2023] 数据集,该数据集保留了文本和图像在网页文档中共同出现的固有结构和上下文,提供了更真实的多模态网络内容表示。
      • 数据策划步骤包括从 Common Crawl 收集英语数据并进行去重,预处理 HTML 文档以识别和保留有用的 DOM 节点,对每个 DOM 节点应用图像过滤以去除标志,接着是段落文本,并使用各种启发式方法进行文档级文本过滤以处理格式不良或不连贯的文本。
    • 合成交错数据
      • 例如 MMC4 [Zhu et al., 2023b] 数据集,该数据集通过将从互联网收集的图像与仅包含文本的数据集进行改造,图像根据上下文相关性与文本配对,这通过计算基于 CLIP 的相似度分数实现。
      • 这种方法提供了一种将现有的大量文本语料库改造为具有视觉信息的方法,从而扩展了它们在多模态学习中的用途。
      • 虽然这种方法可能缺乏自然交错数据集的上下文细微差别,但它允许从成熟的仅文本资源中大规模创建多模态数据。

评估多模态数据质量

方法

  • QuRating
  • Data efficient LMs
  • text-quality-based pruning

相似的有

  • VILA
  • LAION-aesthetics

利用人类专业知识:数据标注

目前流行的多模态数据集

  • OKVQA
  • A-OKVQA
  • Image Paragraph Captioning
  • VisDial
  • Visual Spatial Reasoning
  • MagicBrush

这些大部分依赖 COCO,或者 Visual Genome 的老benchmarks

最近的

  • DCI dataset

软件

用现成的

  • OpenCLIP
  • transformers

我需要多少 GPU

像 CLIP 和 OPENCLIP 用了超过 500个GPU去训练

数据集质量高就不超过 64 个GPU

这里都是从头训练

加速训练

  • Pytorch
  • 高效的注意力机制
  • xformers
  • FFCV
  • Masking

超参数的重要性

我该用啥模型

啥时候用 CLIP 的对比模型

  1. 对比模型与文本-视觉概念关联
    • 像 CLIP 这样的对比模型通过在表示空间中匹配文本和图像表示来关联文本与视觉概念,保持了简单的训练范式。
    • 通过这种方式,CLIP 学习到在图像和文本空间中都有意义的表示,使得可以通过提示 CLIP 文本编码器的单词来检索与相应文本表示匹配的图像。
  2. 数据策划管道
    • 例如,MetaCLIP [Xu et al., 2024] 使用元数据字符串匹配来构建数据集,以确保每个单词或概念都有足够的图像与之关联。
    • CLIP 模型也是构建更复杂模型的良好基础,特别是在试图改进基础时。
  3. 研究和应用
    • 对于研究人员来说,CLIP 是一个特别好的起点,适合尝试额外的训练标准或不同的模型架构,以更好地捕捉关系或理解概念。
    • 然而,需要注意的是,CLIP 不是生成模型,因此无法根据特定图像生成描述,只能在现有描述列表中检索最佳描述。
  4. 局限性
    • CLIP 目前不能用于提供给定图像的高级描述。
    • CLIP 通常需要非常大的数据集和大批量大小才能提供不错的性能,这意味着从头训练 CLIP 需要大量资源。

啥时候用掩码模型

  1. 掩码策略

    • 掩码是一种训练视觉语言模型(VLMs)的替代策略。通过学习重建被掩码的图像和文本,可以联合建模它们的分布。
    • 与在表示空间中操作的对比模型不同,基于掩码的模型可能需要利用解码器将表示映射回输入空间,并应用重建损失。
  2. 训练解码器的挑战

    • 训练额外的解码器可能会增加一个瓶颈,使这些方法比纯对比方法效率低。
  3. 掩码策略的优势

    • 不再依赖批量,因为每个例子可以单独考虑(不需要负例)。
    • 移除负例可以使用更小的迷你批次,无需微调额外的超参数(如softmax温度)。
  4. 混合策略

    • 许多 VLM 方法利用掩码策略与一些对比损失的混合策略。

啥时候用生成模型

  1. 生成模型的能力

    • 基于扩散或自回归标准的生成模型在根据文本提示生成逼真图像方面表现出色。
    • 大多数大型视觉语言模型(VLM)训练也开始整合图像生成组件。
  2. 研究观点

    • 一些研究人员认为,能够根据单词生成图像是创建良好世界模型的重要一步。
    • 另一些研究人员认为,这种重建步骤不是必需的 [Balestriero and LeCun, 2024]。
  3. 应用视角

    • 从应用角度来看,模型能够在输入数据空间解码抽象表示时,更容易理解和评估模型的学习成果。
    • 像 CLIP 这样的模型需要使用数百万图像数据点进行广泛的 k-NN 评估,而生成模型可以直接输出最可能的图像。
  4. 隐式联合分布

    • 生成模型可以学习文本和图像之间的隐式联合分布,这可能比利用预训练的单模态编码器更适合学习良好的表示。
  5. 计算开销

    • 生成模型比对比学习模型训练所需的计算资源更多。

啥时候用预训练骨干

  1. 预训练编码器的使用

    • 在资源有限的情况下,使用已经预训练的文本或视觉编码器是一个不错的选择。在这种情况下,只需学习文本表示和视觉表示之间的映射。
  2. 潜在问题

    • 这种方法的主要问题是,视觉语言模型(VLM)可能会受到大型语言模型(LLM)潜在幻觉的影响。
    • 也可能受到预训练模型中任何偏见的影响。
    • 因此,可能需要额外的工作来纠正视觉模型或 LLM 的缺陷。
  3. 独立编码器与联合学习的观点

    • 一些人认为利用独立的图像和文本编码器将信息投射到较低维度的流形上,然后学习映射是重要的。
    • 另一些人则认为联合学习图像和文本的分布更为重要。
  4. 总结

    • 在计算资源有限的情况下,使用预训练模型是一个有趣的选择,尤其是研究人员对学习表示空间中的映射感兴趣时。

提升答案

使用边界盒子标注

  • IoU

负捕获

提升对齐

RLHF

LLaVA-NeXT

多模态在ICL

提升图片文本富语义度理解

MLLMs 对 OCR 极好

使用细粒度的文本丰富数据进行指令调整:LLaVAR

处理高分辨率图像中的细粒度文本:Monkey

解耦场景文本识别模块和 MM-LLM : Lumos

PEFT

  • LoRA base
    • QLoRA
    • VeRA
    • DoRA
  • Prompt base
    • CoOp
    • VPT
  • Adapter base
    • CLIP-Adapter
    • VL-Adapter
    • LLaMA-Adapter V2
  • Mapping base
    • LiMBeR
    • MAPL

评估方法

VQA

Benchmarking 视觉语言能力

图像描述

由 Chen 等人 [2015] 引入的 COCO 描述数据集和挑战赛用于评估给定视觉语言模型(VLM)生成的描述质量。通过利用外部评估服务器,

图文一致性

视觉问答

  • 筛选预测
  • 视觉对话

以文本为中心的视觉问答

零样本图像分类

尤其是在 OOD 任务

视觉语言构图推理

ARO

密集描述和裁剪描述匹配

DCI

基于合成数据的视觉语言评估

PUG

benchmarking VLM 中的基准偏差和差异

通过分类 benchmark bias

  • 真实数据
  • 合成数据

通过 embedding Benchmark bias

语言 bias 影响你的benchmark

评估训练中的特殊概念怎么影响你的下游任务表现

benchmark 幻觉

benchmark 记忆

红队测试(安全攻防)

扩展 VLM 到视频

早期基于 BERT 的视频模型

  • Multimodal Event Representation Learning Over Time (MERLOT)

  • VideoBERT

用早期混合 VLM 获取文本生成能力

使用预训练LLM

评估中的机会

利用视频数据的挑战

提到的术语概览

  • ARO Attribution, Relation, and Order. 36
  • BERT Bidirectional Encoder Representations from Transformers. 6
  • BLIP Bootstrapping Language-Image Pre-training. 19
  • CLIP Contrastive Language–Image Pre-training. 9
  • CNN Convolutional Neural Network. 13
  • CoCa Contrastive Captioner. 11
  • DCI Densely Captioned Images. 37
  • EBM Energy-Based Models. 6
  • FFCV Fast Forward Computer Vision. 22
  • FLAVA Foundational Language And Vision Alignment. 9
  • IoU Intersection over Union. 25
  • LLaVA Large Language-and-Vision Assistant. 19, 26
  • LLMs Large Language Models. 4
  • LM Language Model. 33
  • LoRa Low Rank Adapters. 29
  • MCMC Markov Chain Monte Carlo. 8
  • MERLOT Multimodal Event Representation Learning Over Time. 43
  • MIM Masked Image Modeling. 9
  • MLLMs Multimodal Large Language Models. 28
  • MLM Masked Language Modeling. 9
  • NCE Noise Contrastive Estimation. 8
  • OBELICS Open Bimodal Examples from Large fIltered Commoncrawl Snapshots. 20
  • OCR Optical Character Recognition. 28, 33, 35
  • OOD Out-Of Distribution. 36
  • PEFT Parameter-Efficient Fine-Tuning. 29
  • PUG Photorealistic Unreal Graphics. 38
  • RLHF Reinforcement Learning from Human - Feedback. 26, 27
  • ROI Region of Interest. 29
  • SSL Self-Supervised Learning. 8
  • STR Scene text recognition. 29
  • ViT Vision Transformer. 10
  • VLMs Vision Language Models. 4
  • VQ-VAE Vector Quantised-Variational
  • AutoEncoder. 13
  • VQA Visual Question Answering. 31, 33