专栏名称: FightingCV
一个专注于分享计算机视觉、多模态机器学习方向前沿论文,解答常见科研问题,分享好用科研工具的公众号。努力努力再努力,瑞思拜!
目录
相关文章推荐
他化自在天  ·  2月第4周祝福语「二笑江湖」 & ... ·  23 小时前  
他化自在天  ·  《从艺术家,取长补短》(营销艺术入门1/la ... ·  2 天前  
廣告狂人  ·  “好炸鸡自有答案”,系列整活简直王炸! ·  3 天前  
销售与市场  ·  投入上千万,商超巨头扎堆拜师胖东来 ·  3 天前  
他化自在天  ·  《爆改产品整活用(阳谋级推广入门1/Last ... ·  3 天前  
51好读  ›  专栏  ›  FightingCV

LLM2CLIP:强大的语言模型解锁更丰富的视觉表示

FightingCV  · 公众号  ·  · 2024-11-17 09:00

正文

摘要

CLIP 是当今最重要的多模态基础模型之一,它使用大规模图像文本对上的简单对比学习损失,将视觉和文本信号对齐到共享特征空间。 什么赋予了 CLIP 的能力? 自然语言提供的丰富的监督信号——人类知识的载体——塑造了强大的跨模态表示空间。 因此,CLIP 支持各种任务,包括零样本分类、检测、分割和跨模态检索,对整个多模态领域产生了重大影响。 然而,随着 GPT-4 和 LLaMA 等大型语言模型 (LLM) 的快速发展,语言理解和生成的边界不断被打破。 这提出了一个有趣的问题: 大语言模型的能力是否可以被利用来进一步改进多模态表示学习? 将 LLM 纳入 CLIP 的潜在好处是显而易见的。 LLM 强大的文本理解能力可以从根本上提高 CLIP 处理图像标题的能力,从而大大增强其处理长而复杂文本的能力——这是普通 CLIP 的一个众所周知的局限性。 此外,LLM 在大量的文本语料库上进行训练,拥有开放世界知识。 这使它们能够在训练期间扩展标题信息,提高学习过程的效率。 然而,实现这种潜力具有挑战性。 尽管 LLM 拥有强大的内部理解能力,但它们的自动回归性质将这种能力隐藏在模型内部,导致输出特征的可区分性较差。 我们的实验表明,直接将 LLM 集成到 CLIP 中会导致性能灾难性下降。 在本文中,我们提出了 LLM2CLIP ,一种新颖的方法,它利用了 LLMs 的强大功能来释放 CLIP 的潜力。 通过在字幕空间中使用对比学习对 LLM 进行微调,我们将它的文本能力提取到输出嵌入中,显著提高了输出层的文本可区分性。 然后,我们设计了一个高效的训练过程,其中经过微调的 LLM 充当 CLIP 的视觉编码器的强大老师。 由于 LLM 的存在,我们现在可以整合更长、更复杂的字幕,而不受限于普通 CLIP 文本编码器的上下文窗口和能力限制。 我们的实验表明,这种方法在跨模态任务中带来了显著的改进。 我们的方法直接将之前 SOTA EVA02 模型在长文本和短文本检索任务上的性能提高了 16.5%,将仅在英语数据上训练的 CLIP 模型转变为最先进的跨语言模型。 此外,当与 Llava 1.5 等模型集成到多模态训练中时,它在几乎所有基准测试中都持续优于 CLIP,证明了全面的性能改进。

图 1: LLM2CLIP 概述。 在将字幕对比微调应用于 LLM 后,文本可区分性的提高使 CLIP 训练更加有效。 我们利用 LLM 的开放世界知识和通用能力来更好地处理密集字幕,解决了预训练的 CLIP 视觉编码器的先前限制,并提供了更丰富、更高维度的文本监督。 实验结果表明,LLM2CLIP 可以使任何 SOTA CLIP 模型变得更加 SOTA。

1 介绍

CLIP (Radford 等人,2021) 是当今最重要的多模态基础模型之一。 它通过对大规模图像-文本对采用简单的对比学习损失,将视觉和语言信号对齐到共享特征空间。 作为检索器,CLIP 支持广泛的任务,包括零样本分类 (Qian & Hu, 2024) 、检测 (Lin & Gong, 2023) 、分割 (Zhou 等人,2023) 和图像-文本检索 (Lülf 等人,2024; Koukounas 等人,2024) 作为特征提取器,它已成为几乎所有跨模态表示任务中的主导力量,例如图像理解、视频理解和文本到图像/视频生成。 例如,像 LLaVA (Liu et al., 2023) 和 Qwen-VL (Bai et al., 2023) 这样的工作利用 CLIP 作为特征提取器来获取文本模型的视觉特征,而像 Stable Diffusion (Rombach et al., 2021) 和 DALL·E 2 (Ramesh et al., 2022) 这样的模型使用 CLIP 的文本编码器为视觉模型提取文本特征。

什么让 CLIP 如此强大,特别是在作为视觉编码器时? 它的核心力量在于它前所未有的将视觉预训练与自然语言(人类知识的载体)对齐的能力。 与早期的视觉编码器(如 VGG 和 ResNet)不同,这些编码器依赖于有限的 ImageNet 数据集和仅包含几个词语的简单图像类别,CLIP 是使用丰富的描述性文本在网络规模的数据上训练的。 这种与语言的对齐是 CLIP 与众不同并释放其巨大潜力的原因。 然而,自从 CLIP 被引入以来,大型语言模型 (LLM) 已取得显著进步。 像 GPT-4 (Achiam et al., 2023) 和 Llama (Dubey et al., 2024) 这样的模型现在展现出非凡的语言能力,但这些进步并未转化为视觉表示学习的相应改进。 这就引出了一个问题: 大语言模型的能力是否可以被利用来进一步改进多模态表示学习?

将 LLM 纳入 CLIP 的潜在好处是显而易见的。 LLM 强大的文本理解能力可以从根本上提高 CLIP 处理图像标题的能力,从而大大增强其处理长而复杂文本的能力——这是普通 CLIP 的一个众所周知的局限性。 此外,LLM 在大量的文本语料库上进行训练,拥有开放世界知识。 这使它们能够在训练期间扩展标题信息,提高学习过程的效率。

在这项工作中,我们的目标是利用大型语言模型 (LLM) 使 CLIP 能够学习更强大、更细粒度和更丰富的视觉表示。 目前,CLIP 经常因其类似于词袋的感知以及文本编码器的局限性而受到批评,该编码器存在模型大小受限、上下文长度有限以及主要在图像标题数据上进行训练,缺乏对不同世界语料库的接触等问题。 一种自然的方法是将 CLIP 的文本编码器替换为一个嵌入丰富的人类知识的 LLM。 然而,这带来了巨大的挑战。 在 CLIP 使用的跨模态对比学习框架中,文本编码器充当共享潜在空间中的知识锚点集合,引导视觉编码器与人类对物理世界的知识对齐。 这些知识锚点的结构、丰富性和可辨别性对于视觉模型的有效性至关重要。 相反,LLM 主要用于预测下一个词,而不是生成它们包含的知识的显式表示。 它们的文本理解能力和开放世界知识潜藏在模型中,而不是存在于输出嵌入中,这使得它们难以像 CLIP 的文本编码器那样以相同的方式显式使用。 因此,使用 LLM 作为文本编码器可能不会产生线性可分离的特征,而线性可分离的特征对于有效特征对齐至关重要。


表 1: MS COCO 5K 测试集上各种语言模型的 top-1 图片标题检索准确率 (CRA) 比较。


图 2: 标题到标题检索实验中 Top-1 结果的真实示例。 在微调之前,Llama3 的结果通常完全不相关。


为验证我们的假设,我们设计了一个标题到标题的检索实验,如 1 2 所示。 MS-COCO 数据集中的每张图像都有五个人工标注的标题。 我们选择了前两个标题作为正样本,并在整个验证集中进行了检索。 使用标题检索准确率 (CRA),我们评估了文本模型区分标题的能力,这有助于我们确定哪种语言模型更适合 CLIP。 我们发现 Llama-3 8B 仅取得了 18.4% 的 top-1 准确率,而标准的 CLIP-ViT-L 则达到了 66.0% 的 top-1 准确率。 2 所示,原始 Llama-3 检索到的 top-1 标题可能与查询标题完全无关,这显然会阻碍有效的 CLIP 学习。 因此,直接使用 LLM 来指导 CLIP 的视觉编码器训练受到很大限制。

我们认为,通过微调增强 LLM 输出符元的判别能力对于我们提出的方法的成功至关重要,这将使 LLM 的潜在能力浮出水面。 令人鼓舞的是,我们发现这可以非常有效地实现。 具体来说,我们设计了一种标题对比(CC)微调策略,使用 LoRA 对 CC3M (Sharma 等人,2018) 图像字幕数据集的 Llama-3 8B 输出符元进行轻量级微调。 此训练任务的主要目标是调整输出空间,提高模型区分不同字幕的能力。 我们利用了监督 SimCSE (Gao 等人,2021;BehnamGhader 等人,2024) 对比学习损失,其中 ShareCaptioner (Chen 等人,2023) 生成的原始字幕和重新标注的字幕被视为正样本对,将它们拉近。 相反,所有其他字幕形成了一个负样本集,模型学习将它们推开。 值得注意的是,在进行 CC 微调后,如 1 所示,标题检索准确率从 18.4% 上升到 73%,比原始 CLIP-ViT-L 文本编码器提高了 7%。 此成功的微调过程使我们能够更有效地利用 LLM 的开放世界能力进行 CLIP 训练。

总之,我们提出了一种名为 LLM2CLIP 的新方法,该方法通过集成大型语言模型 (LLM) 来增强视觉表示学习,如 1 所示。 此方法采取了一个简单但大胆的步骤,即用原始 CLIP 文本编码器并用嵌入在 LLM 中的丰富知识来增强 CLIP 视觉编码器。 我们已经确定了与这种创新理念相关的关键障碍,并提出了一种经济高效的微调策略来克服这些障碍。 我们的实验表明,利用 LLM 作为 CLIP 训练的教师可以带来显著的改进, LLM2CLIP 明显优于最先进的预训练 CLIP 模型。 我们的方法将之前最先进的 EVA02 模型在长文本和短文本检索任务上的性能提高了 16.5%,将仅用英语数据训练的 CLIP 模型转变为最先进的跨语言模型。 此外,当整合到多模态模型训练中,例如与 Llava 1.5 一起使用时,它在几乎所有基准测试中都始终如一地超越 EVA02,取得了全面改进。 此外, LLM2CLIP 提出的高效训练方法确保训练成本几乎与微调原始 CLIP 相同。 我们还证明了使用更强大的语言模型和更大的训练数据集可以进一步提高 LLM2CLIP 的性能,展示了我们方法的巨大潜力。 这些有希望的结果证实,我们已成功将 CLIP 转换为更通用的基础模型。 增强的 LLM2CLIP 模型拥有更丰富的知识,并展现出非凡的能力,可以区分细粒度和复杂的长文本语义。 这一进步不仅拓宽了支持的下游任务范围,而且推动了整个视觉领域的进展。

2 相关工作

对比语言-图像预训练 (CLIP)。

CLIP (Radford 等人,2021) 是当今最重要的多模态模型之一。 通过在网络规模数据上进行训练,图像标题作为丰富、细粒度的监督信号,用于学习与图像密切相关的表示,从而使 CLIP 摆脱了手动定义标签的限制。 标题的丰富性赋予 CLIP 许多非凡的能力;除了零样本图像-文本检索外,CLIP 特征甚至可以实现区域级对应关系,支持零样本检测和分割任务。 此外,CLIP 是当前图像和视频理解任务中使用最广泛的编码器。 Tong 等人 (2024) 的分析中,它在 MLLMs 训练中各种视觉编码器中脱颖而出,成为最重要的模型,展示了其强大的能力。 对于生成性任务,CLIP 同样是基础。 它的文本和图像编码器用于提供文本控制 (Rombach 等人,2021; Ramesh 等人,2022) 和图像控制信号 (Blattmann 等人,2023; Zhang 等人,2023) ,用于调节生成模型。 此外,CLIP 分数 (Hessel 等人,2021) 已成为评估生成图像与文本相关性的重要指标。 虽然原始 CLIP 只利用了图像和文本模态,但 CLIP 已被大量扩展以包含各种其他模态 (Dai 等人,2024;He 等人,2023;Moon 等人,2022;Zhang 等人,2022) CLIP 对视觉和多模态领域产生了重大影响,其影响力仍在不断增长。

CLIP 遇见更强大的语言模型。

许多研究探索了将 LLM 整合到 CLIP 中。 JinaCLIP (Koukounas 等人,2024) 使用了 Jina-embeddings-v2 (Günther 等人,2023) 作为文本编码器,它是一个具有 1.37 亿参数的 BERT 变体,支持更长的文本。 虽然在视觉性能方面与 EVA-CLIP (Sun 等人,2023) 相当,但其文本编码器远远落后于我们使用的 Llama3-8B,限制了 LLM 的潜在益处。 T5-V (Jiang 等人,2024) 采取了不同的方法,通过在 LLAVA-next-8B 的 MLLM 层 (Li 等人,2024a) 聚合 LLM 特征,同时冻结 ViT 梯度,重点调整 MLLM 输出。 但是,冻结视觉编码器并不能解决 ViT 本身缺乏复杂的视觉特征提取能力的问题,导致性能远低于 LLM2CLIP。 MATE (Jang 等人,2024) 设计了一个可学习的适配器,以弥合 CLIP 的文本编码器和 LLM 之间的差距。 他们使用 LoRA 在一个小数据集上训练了 CLIP 视觉编码器,该数据集专注于长文本图像检索任务。 但是,他们没有认识到我们在本文中提出的关键问题:LLM 特征空间的可分离性较差,不足以直接支持 CLIP 训练。 我们的工作旨在彻底探索 LLM 对 CLIP 作为基础模型的影响,超越其对长文本检索的影响。

CLIP 遇见更长的标题。

众所周知,CLIP 的文本嵌入质量粗糙,仅限于 77 个标记。 许多研究尝试扩展 CLIP 标题的长度并相应地重新训练 CLIP。 例如,DCI (Urbanek 等人,2024) 雇佣了标注者根据 SAM (Kirillov 等人,2023) 的目标提示来扩展标题。 LaCLIP (Fan 等人,2024) 采用了 ChatGPT、Bard 和人工改写。 DreamLIP (Zheng 等人,2024) 利用 ShareCaptioner (Chen 等人,2023) 和 InstructBLIP 扩充了 3000 万个字幕。 Recap-DataComp-1B (Li 等人,2024b) 使用 Llama3 训练的 LLAVA1.5 扩展了 10 亿个字幕。 为了处理超过 77 个符元的字幕,这些方法通过将长字幕总结成更短的字幕 (Urbanek 等人,2024) 、将字幕拆分成多个段落 (Fan 等人,2024;Zheng 等人,2024) 或微调模型的位置编码来支持更长的符元输入 (Zhang 等人,2024) 来做出妥协。 相比之下,LLM2CLIP 利用 Llama3 作为文本编码器,可以全面理解长而密集的字幕。 它不仅解决了符元长度的限制,还允许使用 LLMs 的开放世界知识更好地理解。 因此,我们的模型在性能上取得了突破。

3 方法

我们方法的贡献有三方面: 首先,我们设计了实验来分析阻止 LLM 直接参与多模态表示学习的关键原因——其输出特征的弱区分性。 其次,我们引入了字幕对比微调方法,这显著提高了特征区分性。 第三,我们开发了 LLM2CLIP 训练框架,该框架已被证明是一种有效且高效的方法,可以利用 LLM 为预训练的 CLIP 模型提供显著的性能改进。

3.1 原生 LLM 是 CLIP 的无效文本编码器

大型语言模型 (LLM),例如 Llama-3,通过自回归在海量世界语料库上进行训练,使其具备开放世界知识,并能够执行各种任务。 我们最初希望利用 LLM 的能力直接重新训练 CLIP 模型。

尽管 LLM 表现出强大的文本理解能力,但很难直接用作文本嵌入模型。 这是因为它们的知识封装在模型中,它们的输出特征严重偏向于单个词预测。 作为生成式模型,它们没有经过训练以确保输出特征的良好线性可分性,这使得它们在用于解释 CLIP 的标题时效率较低。 正如 Chen 等人 (2022) 所强调的那样,CLIP 中的跨模态对比学习要求每种模态都具有强大的内部可区分性。

为了评估各种语言模型在文本可区分性方面的有效性,并测试 LLM 的原生输出特征是否如假设的那样难以区分图像标题,我们引入了一个新的指标:MS COCO 标题检索准确率 (CRA)。 MS COCO 是一个广泛使用的多模态数据集,包含超过 330,000 张图像,每张图像都有五个标题。 这些标题由不同的标注人员编写,为每张图像提供了不同的描述。 在我们对 MS COCO 验证集的评估中,我们只使用每张图像的前两个标题,并将同一图像的标题视为正样本对,而所有其他标题则作为负样本。 然后,我们执行标题到标题的检索,并使用不同的语言模型评估 Top-1 准确率,并将结果定义为它们的 CRA 分数。 更高的 CRA 分数表示语言模型对图像标题的更好可区分性。

1 所示,使用纯 LLM 会导致 CRA 分数仅为 18.4%,这表明大部分标题无法在输出空间中很好地分离。 事实上,距离相似的标题可能完全无关,如 2 所示。 然而,来自原始最先进 CLIP 模型的文本编码器实现了 66% 的 CRA 分数,证明了原生 LLM 输出特征在标题可区分性方面的不足。 因此,将 LLM 直接应用于 CLIP 模型训练是具有挑战性的。 6 中的后续实验也证实,用 Llama-3 8B 替换 CLIP 的文本编码器和相应的 ViT 进行对比学习,其性能明显低于原始 CLIP。

3.2 一个关键教训:LLM 学习用于图像标题识别

在本节中,我们的目标是对 LLM 的标记输出进行微调,以更好地捕获能够区分图像标题的特征。

改善 LLM 输出特征对标题文本的可区分性的过程非常简单:我们需要同一图像的标题之间的距离更近,而不同图像的标题之间的距离更远。 因此,我们将字幕对比(CC)微调应用于LLM的输出特征,将同一图像的不同字幕视为正样本,将其他字幕视为负样本。

为了获得同一图像足够多的不同描述,我们使用ShareCaptioner (Zheng 等人,2024;Chen 等人,2023) 修改后的 CC-3M (Sharma 等人,2018) 数据集,该数据集为每个图像提供原始字幕和增强密集字幕。 这些可以视为正对。 我们遵循LLM2Vec (BehnamGhader 等人,2024) 的训练方法,首先将LLM的注意力机制扩展到双向注意力,并采用掩码下一个标记预测(MNTP)进行初始化,以获得更好的结果。 具体来说:

首先,我们将LLM的因果注意力机制转换为双向注意力,因为我们不再需要它保留生成能力,而是作为编码器发挥作用。 由于不再需要自回归训练,因此切换到双向注意力可以提高其捕获上下文信息的能力。 其次,我们采用 MNTP 来训练新添加的双向注意力机制,提供强大的初始化。 对于给定的 N 符元序列,我们掩盖一个子集并预测其值,类似于 BERT (Devlin 等人,2018) 但是,与 BERT 不同的是,我们调整了此过程以适应 LLM 的性质,通过预测被掩盖符元之前的符元。 我们在图像字幕和纯文本上进行训练,权重相同。 除了 CC-3M,我们还使用 Wikitext-103 (Merity 等人,2016) 数据集来保留LLM的文本能力,防止其偏离其原始优势。 最后,我们执行实际的字幕对比微调,使用监督 SimCSE 损失将同一图像的字幕拉近,将不同图像的字幕推开。 我们使用两个提示模板:“给定一个字幕,检索一个详细的相关字幕”和“给定一个详细的字幕,检索一个简短的相关字幕”,它们被预先添加到查询(原始字幕或密集字幕)中以检索相应的密集字幕或原始字幕。 同样,我们使用从 Springer 等人 (2024) 策划的 150 万对通用文本数据集,以在纯语言任务中保持强大的性能。 所有训练使用 LoRA 高效地进行,并在一个 epoch 内完成,确保低计算成本。

随之而来的是一个显著的结果:在 CC-3M 上仅对 LLM 作为标题编码器进行了一个 epoch 的微调后,Llama-3 8B 的 CRA 分数从 18.4% 跃升至 73.0%,超过了之前在海量 Laion-2B (Schuhmann 等人,2022) 和 COYO-700M (Byeon 等人,2022) 图像-文本数据集上训练的最新 CLIP 和 EVA 模型的文本编码器。 6 所示,后续实验表明,在进行 CC 微调后,LLM 最终释放了其强大的功能,显著提升了先前最先进的 CLIP 模型的性能,这与未进行 CC 微调的结果形成鲜明对比。 这一突破揭示了 LLM 在 CLIP 训练中的潜力,并消除了利用 LLM 推进视觉基础模型的主要障碍。

3.3 LLM2CLIP : 使 SOTA CLIP 比以往更 SOTA

通过对 LLM 的上述修改,我们现在已经获得了非常适合 CLIP 训练的超级文本编码器。 下一步是将此 LLM 与预训练的最先进的 CLIP 视觉编码器结合使用,以重建更强大的跨模态特征空间。

1 所示,在 LLM2CLIP 训练阶段,我们冻结了LLM的梯度以保留其固有能力,主要有两个原因。 首先,这显著降低了微调的计算成本和内存占用。 CLIP 训练需要非常大的批次大小才能保持负样本的有效性。 为 LLM 分配内存可能会影响 CLIP 的性能。 其次,通过冻结 LLM,我们确保了它从大规模语料库中获得的开放世界知识在多模态对齐过程中保持完整。

为了弥补冻结的 LLM,并受到 FuseMix (Vouitsis 等人,2023) 和 APE (Rosenfeld 等人,2022) 等方法的启发,我们在 LLM 后引入了一些新的线性层作为适配器。 这些层充当可学习参数,以改善 LLM 和 CLIP 视觉编码器之间的对齐。 遵循 CLIP 的原始设计,我们还使用了一个投影层来对齐两个编码器的维度,便于使用 CLIP 损失进行训练。

利用这个强大的基于 LLM 的超级文本编码器,我们在 CLIP 的语言理解能力方面取得了实质性的质的飞跃。 LLM 的开放世界知识使 CLIP 视觉编码器能够学习更结构化且与人类知识一致的全局信息视觉表示。 此外,这种方法使我们能够充分利用高质量、长且密集的字幕数据集,而无需任何特殊的架构调整,而之前像 DCI、DreamLip 和 Recaption 这样的工作难以有效地利用这些数据集。 2 所示, LLM2CLIP 使任何现有的 SOTA CLIP 模型更加 SOTA,显著超越了之前的性能。

3.4 概述和效率讨论

我们提出 LLM2CLIP 作为一种有效地将大型语言模型 (LLM) 整合到 CLIP 训练中的方法,利用 LLM 的能力使跨模态表示学习变得更加强大。 在我们的实验中,我们评估了大型语言模型,包括具有 10 亿和 80 亿参数的 Llama,以及具有 120 亿参数的 Mistral-Nemo。将如此庞大的 LLM 纳入似乎会大大增加训练 CLIP 的计算负担,尤其是 CLIP 本身计算量很大,需要很大的批次大小。 然而,我们提出的 LLM2CLIP 非常轻便。 训练开销 几乎与 微调原始 CLIP 模型相同,仅需极小的额外成本,但 LLM 提供了更强大的监督。

这里,我们重点介绍了一些显著提高训练效率的设计细节: 1)。 在字幕对比微调阶段,我们对 LLM 使用 LoRA 训练。 即使对于 120 亿参数的 LLM,使用 512 批次大小训练也只需要大约 70GB 的 GPU 内存,这使得它可以在单个 80GB 8 A100 GPU 节点上运行。 2). LLM2CLIP 阶段,我们冻结了 LLM 的梯度,只训练可学习的适配器、CLIP 的原始视觉编码器和两个投影器。 额外的可训练参数大致相当于原始 CLIP 中的参数,将开销降至最低。 为了进一步降低使用 LLM 的推理成本,我们预先提取了训练数据中的所有文本特征,并将它们存储在内存中。 这确保了即使 LLM 提供了强大的文本监督,训练期间的内存和计算成本也 几乎与 标准 CLIP 训练相同。

例如,当我们使用 Mistral-Nemo 1 120 亿模型训练 LLM2CLIP 时,该模型与常用的 EVA ViT-L/14-224 集成,使用 8 个 H100 GPU 的 4096 批次大小,每个 GPU 的内存使用量仅为 30GB,整个训练过程仅需 9 个小时。 尽管训练成本低廉, LLM2CLIP 在下游任务中带来了变革性的改进,例如长文本和短文本检索、跨语言检索和 LLAVA 训练。

4 实验

4.1 实验设置

4.1.1 标题对比微调

训练数据集。

我们利用 ShareCaptioner 修改后的 CC-3M 数据集 (Zheng 等人,2024;Chen 等人,2023) ,该数据集为每个图像提供了原始标题和增强后的密集标题,用于对比学习。 对于掩码下一个符元预测和标题对比微调阶段,我们采用了 Wikitext-103 数据集 (Merity 等人,2016) 和来自 Springer 等人 (2024) 的 E5 数据集,以确保一般文本域没有过度偏向。

训练设置。

我们使用 LoRA 训练语言模型,在所有数据集上应用轻量级训练,共 1 个 epoch。 我们采用所有 LLM 输出符元的平均值作为标题的文本全局嵌入。 所有训练参数都遵循 BehnamGhader 等人 (2024) 的设计。

4.1.2 LLM2CLIP 微调

训练数据集。

为了比较不同的配置,我们根据数据集大小设计了三种实验设置: LLM2CLIP -3M:此配置仅使用 CC-3M 数据集进行训练,代表我们的轻量级设置。 LLM2CLIP -15M:此配置使用 CC-3M 和 CC-12M 数据集,这是我们的默认设置。 所有没有特定数据集大小标签的 LLM2CLIP 模型都是使用这 15M 数据进行训练的。 LLM2CLIP -60M:此配置扩展了数据集,将 CC-3M、CC-12M、YFCC-15M 和从 Recaption-1B (Li 等人,2024b) 中随机选择的 30M 子集合并在一起。 所有使用的数据都是由多模态大型语言模型 (MLLMs) 重写的密集字幕。 CC-3M、CC-12M 和 YFCC 数据集源自 Zheng 等人 (2024) ,使用 ShareCaptioner 进行重写,而 Recaption 数据则使用 Llama3-LLAVA1.5 进行重写。 我们主要使用了原始字幕和密集字幕的混合,默认混合比例为 1:1。 LLM2CLIP -S 代表仅使用原始数据进行训练的设置,与原始 CLIP 预训练分布相匹配,以单独分析模型的优势。

训练设置。

所有使用不同数据集进行的实验都进行了 4 个 epoch。 默认情况下,我们冻结了 LLM 梯度。 在训练期间,我们使用 LLM 预先提取了字幕中的文本特征,并将它们存储在内存中,以避免重复的 LLM 推理,从而减少了额外的计算开销。 我们训练了原始 CLIP 视觉编码器、LLM 的可学习适配器以及两个编码器的投影器。 在 3M、15M 和 60M 数据集上训练 CLIP ViT-L/14-224 仅需要每个 GPU 内存 30G,分别在 8 个 H100 GPU 上需要 2、9 和 45 小时。

4.1.3 评估

评估数据集。

对于短文本数据集,我们使用常用的 COCO 2014 5k 测试集和 Flickr 1k 测试集作为我们的测试数据集。 对于长文本数据集,我们使用了 ShareGPT4V 的 1K 子集 (Chen 等人,2023) 数据集和 Urban1k (Zhang 等人,2024) 数据集,这两个数据集都是由 LongCLIP 提供的,以及 DOCCI (Onoe 等人,2024) 数据集。 ShareGPT4V-1M 数据集是使用来自 GPT-4V 和 ShareCaptioner 的标注生成的,图像来自 Laion、CC、SBU (Ordonez 等人,2011) 和 MS COCO。 我们使用了该数据集的随机选择的 1K 子集。 Urban1k 包含由 GPT-4V 为来自 Visual Genome 的 1000 张繁忙的城市景观图像生成的字幕。 每个字幕都是一个描述图像的长句,包括各种属性的类型、颜色和相对位置。 只有当模型准确理解并建模两种模态中的详细属性时,它才能成功地将图像与正确的字幕匹配。 DOCCI 数据集包含大约 1.5K 张带有详细的人工标注描述性字幕的高分辨率图像。 DOCCI 被分为 9.6K 对的训练集和 5.1K 对的测试集。 我们使用测试集进行图像-长字幕检索实验。 对于中文检索任务,我们使用了 FlickrCN (Lan 等人,2017) 和 CNCOCO (Li 等人,2018) 数据集,它们分别是 Flickr30K 和 MS COCO-1K 的翻译版本。 这些数据集在中文中进行了测试。 对于 Llava (Liu 等人,2023) 训练,我们使用了 LLAVA 1.5 中的标准训练集和测试集。

评估设置。

本文中的实验主要集中在 LLM2CLIP 如何增强广泛使用的原始 CLIP 在各个维度上的性能。 我们主要将我们的方法与 EVA (Fang 等人,2023) 和 OpenAI CLIP 模型作为基线进行比较,因为它们是开源社区中使用最广泛的 SOTA 视觉编码器。 我们用来比较的 CLIP 模型是 ViT-B/16 2 、ViT-L/14 3 和 ViT-L/14-336 4 对于 EVA02 模型,我们使用 EVA02 ViT-B/16 5 、EVA02 ViT-L/14 6 和 EVA02 ViT-L/14-336 7 ,总共六个模型。 对于语言模型,我们试验了四种不同的模型:Jina-Embeddings-V2 8 ,以及来自 Llama3 (Dubey 等人,2024) 家族的三个流行的 LLM,即 Llama 3.2 1B、Llama 3 8B 和 Mistral-Nemo 12B。 为了避免任何误解,本文中的实验,除非另有说明,将使用 EVA02 ViT-L/14 作为默认的基线进行比较。 使用的默认语言模型是 LLaMA 3 8B,它是在包含 15M 个设置的上述数据集上训练的。

4.2 主要结果

直接用 Vanilla LLM 替换 CLIP 的文本编码器是有害的。

4 中的实验所示,直接用 Llama3-8B 替换 EVA02 ViT-L/14 的文本编码器会显著降低检索性能。 例如,DOCCI 基准测试的性能几乎下降了一半,从 75.0/73.4 降至 51.7/50.6。 此外,Vanilla Llama3-8B 的 CRA 分数特别低,表明其输出特征对标题的辨别力非常差。 这些结果清楚地表明,这种方法给 CLIP 的学习过程带来了很大的负担。

表 2: 展示 LLM2CLIP 性能改进的系统比较实验。

Methods Flickr30k COCO ShareGPT4V Urban-1k DOCCI
I2T T2I I2T T2I I2T T2I I2T T2I I2T T2I
ViT-B/16









ALIGN 80.6 62.2 52.0 43.2 75.9 80.6 62.2 59.1 59.7 62.1
BLIP 80.6 74.1 61.7 48.5 65.8 74.3 45.5 48.5 50.5 53.5
Jina-CLIP 80.6 67.4 55.6 41.1 - - 87.7 88.0 78.7 80.0
Long-CLIP 85.8 70.6 56.9 40.9 94.8 93.5 79.1 79.1 63.1 71.4
CLIP 82.3 62.2 52.4 33.1 84.5 79.8 67.5 53.1 60.7 57.1
+ LLM2CLIP 89.2 78.1 62.2 48.7 98.1 97.4 86.1 90.0 84.1 85.0
EVA02 86.2 71.5 58.7 42.1 90.5 85.5 67.0 60.8 67.7 68.0
+ LLM2CLIP 88.5 78.0 63.6 49.8 98.0 98.1 84.7 89.7 85.5 86.8
ViT-L/14









Long-CLIP 90.0 76.2 62.8 46.3 97.2 97.3 82.5 86.1 66.5 78.6
CLIP 85.2 65.0 56.3 36.5 84.2 83.6 68.3 55.6 63.1 65.8
+ LLM2CLIP 92.6 81.7 64.9 52.5 98.4 98.4 87.6 92.0 87.6 88.7
EVA02 89.7 77.3 63.7 47.5 91.9 89.3 73.3 68.5 73.5 75.0
+ LLM2CLIP -3M 89.6 77.3 59.7 48.0 98.3 98.6 87.1 91.1 84.9 87.8
+ LLM2CLIP 92.0 82.8 68.5 54.8 98.6 99.0 88.1 94.0 88.2 90.4
+ LLM2CLIP -30M 92.0 83.5 69.0 55.3 98.9 98.8 93.1 95.0 89.3 91.2
+ LLM2CLIP -60M 94.4 83.2 70.4 55.7 99.2 99.4 94.1 95.2 90.2 92.0
ViT-L/14-336









CLIP 87.7 67.0 58.0 37.1 86.2 84.0 72.8 57.0 67.4 65.7
+ LLM2CLIP 91.2 82.1 65.5 53.6 98.1 98.4 90.3 93.2 87.7 89.0
+ LLM2CLIP -60M 93.9 82.3 68.5 54.8 98.9 99.1 94.6 95.9 89.6 90.6
EVA02 89.6 78.0 64.2 47.9 91.5 89.4 76.6 70.0 74.7 76.4
+ LLM2CLIP 93.9 83.8 68.7 55.7 98.8 99.2 89.5 94.2 89.2 91.3


表 3: Flickr30K-CN 和 COCO-CN 的检索性能。

Methods Flickr-CN COCO-CN
I2T@1 I2T@5 I2T@10 T2I@1 T2I@5 T2I@10 I2T@1 I2T@5 I2T@10 T2I@1 T2I@5 T2I@10
ViT-L/14-336











Wukong 76.1 94.8 97.5 51.7 78.9 86.3 53.4 80.2 90.1 55.2 81.0 90.6
CN-CLIP 80.2 96.6 98.2 68.0 90.7 95.4 63.4 84.2 92.9 64.0 89.2 94.4
JinaCLIP 3.30 9.90 15.1 0.7 3.5 6.0 2.9 8.9 13.7 1.0 4.9 8.2
EVA02 4.40 11.8 16.7 0.94 2.9 4.8 2.7 9.8 15.2 1.0 3.7 7.3
+ LLM2CLIP 86.9 98.1 99.3 75.1 92.9 96.0 69.1 92.5 97.2 70.0 92.6 96.7


提高 LLM 输出特征的辨别力是将 LLM 集成到 CLIP 的关键。

为了提高 LLM 输出特征的辨别力,我们应用了标题对比微调。 Llama3-8B-TC 和 Llama3-8B-CC 分别代表使用纯文本语料库和来自 ShareCaptioner 的文本和增强 CC3M 语料库混合进行训练的结果,两者都使用监督 SimCSE 损失进行训练。 6 所示,在混合标题语料库上进行对比学习,与在通用文本上进行训练相比,可以产生更高的 CRA 分数,在几乎所有基准测试中都有显著的改进。 这种差异源于这样一个事实,即在标题分布式数据上训练的 LLM 对标题特征具有更强的辨别力。 这些发现突出了文本模型可辨别性对于 CLIP 训练的重要性,并强调了 LLM2CLIP 中标题对比微调背后的原理。

LLM2CLIP 使预训练的 SOTA CLIP 更加 SOTA。

我们将 LLM2CLIP 微调方法应用于 EVA02 和 CLIP 模型,并在 2 中观察到显著的性能提升。 即使是轻量级的微调,其结果也大大超过了在 Laion2B 等数据集上预训练的原始模型。 与其他方法(如 LongCLIP 和 JinaCLIP,它们也试图微调预训练的 CLIP 模型)相比,我们的性能提升是革命性的。 这证明了 LLM2CLIP 作为一种将 LLM 引入以增强 CLIP 性能的方法的有效性。

表 4: LLM2CLIP 的消融研究。 这里 LLM2CLIP-S 指的是在原始短标题数据集上训练的结果。

Methods Flickr30k COCO ShareGPT4v Urban-1k DOCCI
I2T T2I I2T T2I I2T T2I I2T T2I I2T T2I
EVA02 Vit-L/14 89.7 77.3 63.7 47.5 91.9 89.3 73.3 68.5 73.5 75.0
+ Jina-Bert 88.1 77.7 60.5 51.1 83.3 81.0 66.9 68.5 68.9 71.2
++ Dense Caption 87.9 77.9 60.9 50.3 95.3 95.1 79.4 83.8 73.8 77.9
+ Llama3-8B-S 87.9 75.6 56.7 41.8 55.1 46.1 37.2 35.1 39.3 32.3
++ CC Finetuning 92.4 82.9 67.6 54.5 97.7 94.9 75.8 83.4 83.7 85.6
+++ Dense Caption 92.0 82.8 68.5 54.8 98.6 99.0 88.1 94.0 88.2 90.4


LLM 的内置知识直接有利于 CLIP。

4 的消融研究中,我们检查了 LLM2CLIP 中不同步骤对 EVA02 模型的影响。 当只使用原始标题时,改进很小,因为这些标题与 EVA02 CLIP 预训练中使用的标题来自相同的分布。 然而,我们观察到 LLM 通过其开放世界知识能够对原始标题提供更深入的理解,从而赋予 CLIP 模型更强大的能力,并进一步提升性能。 自然地,当引入密集标题时,性能提升会更加明显。

LLM 提高了 CLIP 处理长而密集标题的能力。

由于 LLM 固有的长上下文窗口和强大的文本理解能力,CLIP 可以更有效地处理长标题数据集,而无需任何架构修改。 这与 LongCaption 等方法形成对比,LongCaption 需要对位置编码进行微调,而 Dreamlip 则将字幕拆分为子字幕。 例如,Jina CLIP 通过用 Jina BERT 替换其文本编码器来实现长文本输入。 为了验证 LLM 在长文本方面的天然优势,我们将我们的方法与 Jina CLIP 进行了比较,以评估 LLM 是否对长字幕的理解更深。 4 所示,在训练过程中添加密集标题后, LLM2CLIP 展现出比Jina CLIP显著更好的性能提升,证明了大型语言模型更适合处理长而密集的标题。

更大的 LLM 带来更好的性能。

LLM2CLIP 探索了一种方法,即用 LLM 替换 CLIP 的文本编码器并继续训练。 在表 X 中,我们深入研究了不同版本 LLM 带来的性能差异。 6 所示的实验中,我们用不同的语言模型替换了CLIP中的文本编码器,以探索它们的影响。 我们保留了原始的 LLM2CLIP 设计,唯一的改变是文本编码器的初始化。 正如预期的那样,在同一个 Llama 家族中,8B 模型的性能明显优于 1B 模型。 Mistral Namo 也显示出比 8B 模型略有改进。 值得注意的是,在 CLIP 训练期间,LLM 的梯度保持冻结,进一步证明了更大的 LLM 凭借其更丰富的知识可以为 CLIP 带来显著的性能提升。 即使如此,1B LLaMA3.2 模型仍然为 EVA02 CLIP 带来了令人印象深刻的性能提升,平均提升了 11.1%——考虑到 EVA02 已经是 SOTA 开源 CLIP 模型之一,这是一个令人印象深刻的成就。

表 5: LLM2CLIP 训练过程中不同密集字幕比例的对比实验。

Ratio Flickr30k COCO ShareGPT4v Urban-1k DOCCI
I2T T2I I2T T2I I2T T2I I2T T2I I2T T2I
100% 85.5 72.7 60.1 46.9 98.7 99.0 88.7 93.9 88.0 90.5
75% 92.4 82.6 68.5 54.2 98.7 99.3 89.0 94.3






请到「今天看啥」查看全文