摘要
大规模网络爬取数据集对于预训练视觉语言模型(如CLIP)的成功至关重要。 然而,网络爬取的替代文本固有的噪声和潜在的不相关性给实现精确的图像文本对齐带来了挑战。 利用大型语言模型 (LLM) 进行字幕改写的现有方法在 CC3M 和 CC12M 等小型精选数据集上显示出前景。 本研究介绍了一种用于噪声字幕改写的可扩展管道。 与最近的LLM改写技术不同,我们强调将视觉概念融入字幕中,称为Visual-enriched Captions (VeCap)。 为了确保数据多样性,我们提出了一种新颖的混合训练方案,该方案优化了替代文本与新生成的 VeCap 的利用。 我们展示了这种方法在大型网络爬取数据集上训练 CLIP 的应用,称为 VeCLIP。 利用这种经济高效的管道,我们轻松地将我们的数据集扩展到名为 VeCap 数据集的 3 亿个样本。 我们的结果显示出图像文本对齐和整体模型性能的显著优势。 例如,在 12M 设置下,VeCLIP 在 COCO 和 Flickr30k 检索任务中获得了高达+25.2% 的增益。 为了提高数据效率,VeCLIP 只使用了普通 CLIP 的14%数据和 ALIGN 的11%数据,就获得了+3%的增益。 我们还注意到,VeCap 数据与其他经过精心整理的、适用于零样本分类任务的数据集相补充。 将 VeCap 和 DFN 结合起来后,我们的模型在图像文本检索和零样本分类任务上都能取得良好的性能,例如,H/14 模型在 ImageNet 零样本上的准确率达到83.1%。 我们已在https://github.com/apple/ml-veclip发布了预训练模型。 † †
1引言
以 CLIP[32] 为例的大规模视觉语言表示学习,由于其从图像文本对中学习到的知识可以迁移到各种下游任务(例如零样本图像分类和图像文本检索[20, 17, 19]),因此受到了广泛关注。 CLIP 的训练通过图像文本对比损失进行,方法很简单,但需要使用从网络抓取的 4 亿对图像文本的大规模数据集。 因此,与其他视觉预训练方法(如 SimCLR[6] 和 MAE[15])相比,CLIP 嵌入在各种下游任务中都带来了持续的改进。 CLIP 的成功源于两个可扩展的范式:数据和计算资源。 首先,海量网络爬取数据[35, 36]使训练能够扩展,并满足数据密集型主干网络(例如,ViT[11])的要求。 其次,简单的图像文本对比损失赋予了计算资源良好的可扩展性。
尽管可以使用大规模网络爬取数据,但其质量可能较低或存在噪声。 例如,AltTexts存在两个主要问题:1)它们可能嘈杂、信息量不足或与图像无关;2)它们可能无法描述图像中的所有视觉内容。 例如,如图1所示,在第一张图像中,我们看到一栋带有白色屋顶和门廊的房子。 但是,相应的标题只描述了地址,这对于训练中的有效视觉-语言对齐来说过于抽象。 我们的观察结果表明,标题质量在CLIP的性能中起着关键作用,如表LABEL:table:ab_mixed_captio和附录(例如,CC3M与我们网络爬取的3M)中详细介绍。 值得注意的是,CC3M中的标题来自人工标注,如果进一步扩展规模,可能需要大量资源。 这促使了这项工作中提出的主要开放性研究问题:我们能否设计一个可扩展且经济高效的流程来大规模地改进这些嘈杂数据集中的标题(例如,达到百万或十亿级别)?
一个自然的方向是部署大型语言模型(LLM)来改写标题[12]。 然而,这种方法的主要局限性在于LLM无法生成和引入新的图像特定细节。 在这种情况下,LLM只能修改句子的语法。 例如,我们遵循最近的一项工作[12],并使用LLM改写来自网络的原始标题:如图1所示,LLM改写无法引入任何新信息,因此新标题与AltText仍然相似。 换句话说,如果原始AltTexts存在噪声,LLM改写带来的好处可能只会产生微不足道的改进。 本质上,对预训练数据集中高质量标题的依赖限制了简单LLM改写的有效性。 然而,获取像手动整理的CC3M和CC12M[5]这样的高质量数据集仍然具有挑战性,并且进一步扩展到更大的数据集变得既费时又费力,难以满足CLIP预训练的先决条件。 因此,在这项工作中,我们专注于构建一个可扩展且经济高效的流水线,专门用于处理原始的、嘈杂的网络爬取数据以改进CLIP。
除了数据质量之外,数据的多样性也会显著影响VLM的预训练[27, 2]。 基于LLM的改写方法可能会降低数据多样性,因为LLM倾向于在其句子改写中采用统一的风格。 此外,现有工作主要集中在图像增强上,而文本在训练过程中则被忽略且未经增强[12]。 这也可能导致过拟合问题,因为文本编码器在每个epoch中都会重复遇到相同的文本。 由于这些技术仅在精心策划的数据集(如CC3M和CC12M)[5]上进行了评估,因此它们是否适用于大规模的、未经审查的网络爬取数据仍然不确定。 因此,迫切需要构建一种可扩展的方法来提高数据质量、多样性和训练方法,从而改进VLM的预训练,提高模型性能和数据效率。
与此同时,随着CLIP的发展,指令微调LLM的发展也取得了长足的进步。 这些模型及其多模态扩展在各种自然语言和视觉任务中展现了卓越的性能,超越了人类的能力。 受这些模型的启发,我们研究了利用它们改进从互联网收集的噪声字幕的潜力。 具体来说,我们最初使用LLaVA[24](一种语言视觉助手)来利用从图像中提取的视觉概念。 鉴于AltTexts可能缺乏信息量,我们的目标是将新生成的视觉概念整合到字幕中。 然而,值得注意的是,LLaVA[24]在其自己生成的数据集上微调了其语言解码器,这可能会使其适应全面指令的能力下降。 因此,我们进一步提出利用LLM通过融合LLaVA生成的字幕和原始AltText来改进句子。 此过程旨在最大化图像特有的信息,以实现最佳的视觉语言对齐。 我们将LLM生成的字幕称为LLM Visual-enriched Captions(VeCapap),简称VeCap。 为了数据多样性,我们提出了VeCLIP并引入了一种混合训练方案,在VeCap和原始AltText之间交替进行。 此策略确保模型捕捉所有相关信息,不会有遗漏。 我们将这个可扩展的流程推广到五个预训练数据集的整理工作,规模从小到高达3亿。 总体而言,我们的贡献总结如下:
•
我们提出了一种视觉增强的重新字幕技术用于CLIP训练。 这标志着首次尝试利用从图像中提取的视觉概念,并将它们注入到字幕过程中。
•
我们的流程具有成本效益,能够处理超过3亿规模的数据,命名为VeCap。 然后,我们提出了VeCLIP和一种混合训练方案,该方案使用VeCap来改进CLIP训练的模型性能。
•
在检索任务中,VeCLIP可以实现高达25.2%的改进,优于CLIP。 为了提高训练数据的效率,例如,我们在训练中仅使用5%的数据,但在图像文本检索任务中取得了具有竞争力的结果。
•
VeCap数据也与其他精心策划的数据集互补。 在VeCap和DFN组合上训练的CLIP-H/14模型在图像文本检索和零样本分类任务上都取得了优异的性能,在ImageNet上令人印象深刻的零样本准确率@1达到了83.1%。
2相关工作
对比语言图像预训练。 CLIP [32]在大规模预训练后,通过文本监督有效地获得了可迁移的图像表示。 类似的模型,如ALIGN [17],Florence [44],BASIC [30]和OpenCLIP [8] 都展示了令人印象深刻的零样本图像分类和图像文本检索能力。 SLIP [26] 和 DeCLIP [21] 结合了自监督训练技术来提升性能。 CoCa [43] 在对比损失的基础上引入了一个额外的解码器。 LiT [47] 提出保持预训练的图像编码器不变,并微调文本编码器以提高零样本迁移能力。 然而,这些后续研究中的大多数都包含补充的训练输入和损失,这可能会对训练效率和内存使用产生不利影响。
改善图像-文本数据集。 鉴于预训练数据的重要性,许多工作都集中在改进数据集上,例如过滤信息量较少的图像-文本对 [12, 1, 4, 25]。 然而,即使某些图像包含丰富的视觉概念,这些方法也可能忽略大量数据。 一种替代方法是改写标题以增强文本和图像之间的一致性。 例如,LaCLIP [12] 使用大语言模型 (LLM) 来执行改写。 然而,他们的评估是在CC3M和CC12M [5]等小型且精心策划的数据集上进行的,其中初始标题质量已经很高。 如图 1所示,如果替代文本 (AltText) 存在噪声,则在嘈杂的网络爬取数据上使用LLM改写带来的优势微乎其微。
3方法
3.1预备知识
剪辑。 对比语言-图像预训练 (CLIP) 方法已证明其通过语言监督训练视觉模型的有效性。 具体来说,在每次训练迭代期间,都会从海量训练数据中采样一批
其中
3.2利用视觉概念进行重新生成字幕
网络爬取的字幕 (AltTexts) 可能存在噪声且对图像信息量不足。 LaCLIP [12] 使用大语言模型来改写字幕。 如图1所示,如果标题存在噪声,则此方法可能不适用,因为大语言模型 (LLM) 只能重建句子,而无法在图像未提供任何信息的情况下引入新的信息。 鉴于替代文本 (AltTexts) 中固有的噪声,我们提倡利用预训练的多模态模型来生成增强的标题,这些标题包含从图像中提取的更丰富的视觉概念。 在本小节中,我们以LLaVA[24]为例,展示了一个可扩展且经济高效的规模化流程。
LLaVA 和用于视觉增强标题 (VeCap) 的图像字幕生成。 作为一种多模态模型,LLaVA 将 CLIP[32] 的开放式视觉编码器与一个大语言模型 (LLM)(例如 LLaMA[38])连接起来,然后在视觉指令调优数据集上对其进行微调。 LLaVA 表明其有效地利用了预训练的大语言模型和视觉基础模型的能力。 给定输入图像
3.3用于概念融合的可扩展大语言模型改写
鉴于 LLaVA 的语言能力有限,我们只使用 LLaVA 来提取所有可能的视觉线索。 然后,我们利用大型语言模型 (LLM) 来细化标题,融合来自 AltText
考虑到使用 ChatGPT 或 Bard 等闭源模型为海量文本生成改写是不切实际的,因为通过 API 使用会产生巨大的财务成本和时间成本。 因此,为了促进大规模数据集上的改写任务,我们转向开源的最新 LLMs。 由于许可证问题,我们选择 Vicuna-1.1 [48],它以其在文本完成任务中的强大性能而闻名,作为本研究中 LLM 改写的一个示例。 我们将上下文输入表述为以下三个组成部分。 首先,我们包含一个旨在告知 LLM 任务的句子,具体来说,是改写和融合两个附加的句子。 这作为初始上下文线索,引导 LLM 理解总体目标。 其次,我们对最终输出施加了一些约束。 例如,我们的目标是将属性放在名词实体之前,同时避免引入任何新的语义解释。 此外,重要的是句子避免以“图像”开头,而是直接阐述所有涵盖的概念。 最后,上下文的最后一部分包括需要融合和改写的两个句子 (
可扩展的批量推理过程。 利用精心设计的上下文输入作为提示,Vicuna展示了其在执行文本补全和生成相关文本样本的改写版本方面的能力。 然而,单项推理可能非常耗时,并且对于海量数据来说不可扩展。 因此,我们采用批处理推理过程而不是单项推理过程来执行此过程,如图2所示:我们将数据分组到批次中,并实现批处理推理过程,在Nvidia A100上实现高达64倍的加速。 具体来说,我们使用Vicuna-1.1-13B模型生成最终输出为
大语言模型的潜在伦理问题和故障案例处理。 在扩展大语言模型改写过程时,我们确定了大语言模型在执行指定任务时遇到困难的两种情况:1)伦理问题。 如果替代文本包含非法或暴力内容,大语言模型可能会回复“对不起,我不能……”;2)长度限制。 如果替代文本超过最佳长度,大语言模型的处理时间可能会大大延长,从而阻碍大规模改写。 为了解决第一种情况,我们使用模型生成的标题作为唯一输入,通过大语言模型进行改写以形成VeCap,从而预先排除潜在的非法或攻击性内容。 在第二种情况下,我们通过保留生成的标题但截断替代文本以符合最大允许长度来缓解这个问题,因此我们有更多与图像一致的视觉概念。
3.4VeCLIP:用于CLIP的具有视觉增强标题的混合训练方案
由于大语言模型改写可能会引入一致的风格,即使数据质量得到提高,也可能导致大规模预训练的数据多样性下降。 为增强数据多样性,我们提出一种混合训练方案,作为预训练中应用的额外文本增强:
然后,迭代图像的训练损失变为:
4实验
Data | Model | COCO | Flickr30k | ||||||||||
Image-to-Text | Text-to-Image | Image-to-Text | Text-to-Image | ||||||||||
R@1 | R@5 | R@10 | R@1 | R@5 | R@10 | R@1 | R@5 | R@10 | R@1 | R@5 | R@10 | ||
1.8B | ALIGN [17] | 58.60 | 83.00 | 89.70 | 45.60 | 69.80 | 78.60 | 88.60 | 98.70 | 99.70 | 75.70 | 93.80 | 96.80 |
400M | FLIP* [22] | 60.20 | 82.60 | 89.90 | 44.20 | 69.20 | 78.40 | 89.10 | 98.50 | 99.60 | 75.40 | 92.50 | 95.90 |
400M | OpenAI CLIP | 53.76 | 77.92 | 85.53 | 33.09 | 58.42 | 68.90 | 88.00 | 98.70 | 99.40 | 68.70 | 90.60 | 95.20 |
1.4B | In-house CLIP | 61.38 | 82.80 | 89.78 | 44.48 | 69.19 | 78.28 | 87.60 | 97.90 | 98.80 | 71.70 | 91.30 | 95.24 |
3M | CLIP | 5.46 | 15.34 | 22.42 | 3.28 | 10.44 | 15.96 | 12.20 | 27.80 | 37.50 | 6.36 | 19.16 | 27.58 |
VeCLIP | 22.30 | 45.00 | 56.16 | 13.01 | 31.61 | 42.42 | 40.60 | 67.30 | 76.70 | 27.58 | 52.44 | 63.20 | |
Performance Gain | +16.84 | +29.66 | +33.74 | +9.73 | +21.17 | +26.46 | +28.40 | +39.50 | +39.20 | +21.22 | +33.28 | +35.62 | |
12M | CLIP | 24.52 | 48.28 | 59.82 | 14.28 | 34.52 | 46.29 | 44.70 | 71.80 | 80.40 | 29.06 | 58.62 | 70.00 |
VeCLIP | 47.78 | 72.54 | 81.56 | 31.62 | 57.19 | 68.47 | 73.90 | 92.30 | 95.90 | 55.68 | 80.78 | 87.64 | |
Performance Gain | +23.26 | +24.26 | +21.74 | +17.34 | +22.67 | +22.18 | +29.20 | +20.50 | +15.50 | +26.62 | +22.16 | +17.64 | |
100M | CLIP | 47.24 | 72.34 | 81.56 | 30.61 | 56.49 | 67.91 | 74.40 | 93.20 | 96.70 | 57.16 | 88.12 | 88.98 |
VeCLIP | 64.82 | 85.56 | 91.98 | 46.12 | 71.19 | 80.23 | 89.30 | 97.70 | 99.20 | 73.10 | 89.12 | 93.14 | |
Performance Gain | +17.58 | +13.22 | +10.42 | +15.51 | +14.70 | +12.32 | +14.90 | +4.50 | +2.50 | +15.94 | +1.00 | +4.16 | |
200M | CLIP | 52.20 | 76.22 | 85.04 | 34.97 | 60.42 | 71.08 | 80.90 | 94.90 | 97.60 | 63.26 | 86.58 | 92.26 |
VeCLIP | 67.20 | 87.28 | 92.70 | 48.40 | 73.26 | 81.79 | 91.10 | 98.50 | 99.70 | 76.32 | 93.50 | 96.40 | |
Performance Gain | +15.00 | +11.06 | +7.66 | +13.43 | +12.84 | +10.71 | +10.20 | +3.60 | +2.10 | +13.06 | +6.92 | +4.14 | |
300M | CLIP | 54.24 | 78.14 | 86.48 | 36.98 | 62.32 | 72.70 | 81.30 | 95.80 | 97.80 | 65.80 | 88.28 | 93.16 |
VeCLIP | 67.80 | 87.94 | 92.84 | 48.91 | 73.54 | 82.11 | 91.20 | 99.10 | 99.80 | 76.30 | 93.00 | 96.44 | |
Performance Gain | +13.56 | +9.80 | +6.36 | +11.93 | +11.22 | +9.41 | +9.90 | +3.30 | +2.00 | +10.50 | +4.72 | +3.28 |
4.1预训练数据集和下游任务
预训练数据集和训练设置。 我们在四个规模的数据库 (命名为 VeCap) 上进行预训练实验,以展示我们方法的效率和可扩展性。 具体来说,我们将3M设为小型规模,12M设为中型规模,100M+设为大型规模。 我们使用ViT-B/16 [11]作为CLIP训练的视觉编码器。 对于小型/中型规模(3M/12M),我们的批量大小为8,192;对于大型规模(100M+),批量大小为32,768。 出于效率考虑,我们采用JAX [3],并在64个TPU上训练3M/12M设置的模型,而在100M/200M预训练配置中,我们则使用了512个TPU。 所有模型均使用AXLearn框架进行训练。 1更多细节可以在附录A中找到。 为了展示其泛化能力和有效性,我们还在精心整理的CC3M/CC12M数据集上进行了评估,此外还有我们爬取的噪声WIT数据,这在我们的消融研究和附录C.2中有所体现。 我们对所有预训练模型进行了以下三个任务的评估。
零样本图像分类。 我们对ImageNet [10]、ImageNetV2 [33]和VTAB [46]上的所有模型进行了评估。 我们选择了9个任务(6个来自自然数据集,3个来自专业数据集),这些任务适合零样本分类任务,例如Flowers102 [28]和Caltech-101 [14]。 详细信息列在附录中。
零样本图像文本检索。 我们对COCO [23]和Flickr30k [31]跨模态检索任务(图像到文本(表示为I2T)和文本到图像(T2I)检索)进行了预训练模型的评估。 对于Flickr30k,我们使用标准的1K测试集进行评估。 我们根据召回率@
零样本图像到图像检索。 我们选择GPR1200 [34] 用于图像到图像检索。 GPR1200 [34] 作为基于内容的图像检索的通用基准,包含来自六个不同领域的子集。 它包含1200个类别(每个类别10张图像)。 遵循 [34],我们不将图像分割为查询集和索引集进行评估。 相反,我们对每张图像执行最近邻检索,并将剩余图像用作索引集。 我们报告平均精度均值 (mAP)。
4.2检索任务的结果
图像到文本和文本到图像检索。 我们在表 1 中总结了主要结果。 我们在COCO和Flickr30k数据集的图像到文本和文本到图像检索任务中,都显示了Recall@
Data | Model | Natural Sets | Specialized Sets | Average | |||||||
Caltech101 | CIFAR100 | SVHN | DTD | OxPet | Flowers102 | EuroSAT | RESISC45 | Camelyon | |||
3M | CLIP | 39.50 | 9.83 | 20.89 | 7.42 | 7.44 | 10.40 | 11.94 | 7.93 | 50.65 | 18.45 |
VeCLIP | 54.30 | 17.74 | 18.74 | 11.23 | 10.09 | 22.75 | 7.35 | 16.54 | 52.52 | 23.48 | |
12M | CLIP | 70.43 | 30.06 | 30.11 | 30.69 | 34.51 | 33.67 | 8.87 | 30.05 | 53.46 | 35.76 |
VeCLIP | 70.58 | 45.10 | 23.61 | 30.90 | 36.22 | 43.94 | 27.46 | 38.09 | 55.54 | 41.27 | |
100M | CLIP | 81.44 | 54.75 | 38.70 | 57.28 | 70.51 | 51.71 | 34.45 | 48.56 | 53.87 | 54.59 |
VeCLIP | 81.64 | 64.62 | 46.49 | 57.51 | 64.81 | 66.41 | 46.23 | 51.75 | 58.51 | 59.78 | |
200M | CLIP | 82.30 | 61.87 | 42.83 | 64.29 | 75.60 | 58.67 | 46.73 | 55.59 | 59.30 | 60.79 |
VeCLIP | 83.14 | 68.14 | 44.93 | 61.95 | 72.61 | 68.51 | 47.36 | 55.10 | 62.59 | 62.70 |
图像到图像检索。 我们使用具有6个领域的GPR1200 [34]进行此设置:Google Landmarks V2(自然和建筑地标),表示为Land;IMDB Faces,表示为Faces;iNat(植物、动物、昆虫和真菌);INSTRE(平面图像和标志/玩具的照片),表示为INST;ImageNet Sketch,表示为Sketch;以及SOP(产品和物体,部分隔离)。 结果(mAP)总结在表3中。 在小型/中型规模(3M/12M)下,我们的性能提升了5.22%/3.92%。 即使将数据集扩展到2亿,我们仍然观察到六个领域平均得分显著提高了1.84%。 值得注意的是,我们的主要性能提升来自Sketch领域,这突显了视觉概念在零样本迁移能力中的关键作用。 因此,我们富含视觉信息的标题在学习这种向下游任务的迁移能力方面发挥着关键作用。
预训练的数据效率。 为了展示VeCLIP的数据效率,我们加入了在18亿数据上预训练的ALIGN[17](表示为1.8B-ALIGN),以及在我们内部训练的、在14亿数据上训练的CLIP[32]模型(表示为1.4B-CLIP)作为基线,这些模型的训练规模要大得多。 我们使用这些模型,它们使用的数据量是我们设置的十倍以上,以展示VeCLIP训练的数据效率。 当扩展到1亿时,VeCLIP能够在几乎所有下游任务中超越1.4B-CLIP模型,这大约是其规模的7%。 具体来说,在COCO中,我们在两个检索任务中Recall@1都获得了+3.44%/+1.64%的提升。 进一步扩展到2亿后,改进更加显著,达到+5.82%/+3.92%。 此外,与1.8B-ALIGN模型相比,我们在COCO检索中获得了显著的+8.60%/+2.80%的提升,在Flickr30k中也获得了+2.50%/+0.62%的改进。 值得注意的是,这些改进仅使用了预训练过程中11.1%的数据。 这些结果显示了VeCLIP的数据效率。 当我们将其扩展到3亿时,结果与2亿相似。 3亿的结果可以在附录中找到。 因此,我们停止进一步扩展数据集。
4.3图像分类结果
ImageNet。 我们在ImageNet[10]和ImageNetV2[33]上使用与CLIP相同的提示(“一张[classname]的照片。”)进行零样本评估。 主要结果总结在表3中。 我们报告了Top-1、Top-5和Top-10的准确率。 在小型和中型规模的设置下,我们观察到显著的改进:在3M设置下,ImageNet/ImageNetV2的Top-1准确率分别提高了+10.52%/+6.42%,在12M设置下分别提高了+6.51%/5.50%。 虽然在扩展到100M/200M时改进变得微乎其微,但我们仍然在ImageNet和ImageNetV2上分别取得了值得注意的+2.07%/+3.21%和+0.90%/+0.83%的增益(100M和200M)。 这表明了我们预训练方法的数据效率。
视觉任务适应基准(VTAB)。 除了ImageNet/ImageNetV2之外,我们还选择VTAB[46]进行评估。 表4总结了原始CLIP模型和我们的模型的零样本图像分类结果,使用了来自CLIP的相同的提示集。 我们的方法在大多数数据集上始终取得与CLIP相当或更好的性能。 例如,在3M、12M和100M的设置下,我们观察到平均准确率提高了5%以上。 即使扩展到200M,我们仍然保持了+1.91%的显著增益。 这些结果表明在不同数据分布下的零样本分类任务中具有强大的鲁棒性。 我们在图3中显示了性能增益随数据规模变化的整体趋势。
4.4跨规模的性能趋势
除了性能提升外,我们还在预训练中可视化了跨数据规模的性能趋势。 如图4所示,利用原始AltTexts的CLIP模型的性能随着数据量的增加而显著提高:虽然其在3M时的起点较低,但在12M和100M时却表现出快速进步。 然而,一旦规模超过1亿,性能趋势就会表现出逐渐趋于饱和的增长。 另一方面,VeCLIP使用VeCap,起始基线较高,与CLIP相比,在小型到中型规模(3M和12M)上有了显著的改进。 当我们超过3亿时,VeCLIP的性能提升变得相对渐进,但在检索任务中仍然显著。 CLIP和VeCLIP在扩展到1亿时都达到了饱和点:超过1亿后,性能提升变得缓慢且微不足道。
4.5与其他数据集互补以达到最先进的性能
我们的具有视觉丰富字幕的VeCap数据集也可以与其他精心策划的数据集互补。 例如,DFN[13]已显示出对CLIP的益处。 为了证明这一点,我们分别使用VeCap和DFN以及它们的组合来训练CLIP模型。 所有模型都在相同的学习率、最大步数等配置下进行训练。
我们在表5中总结了结果。 与DFN相比,来自VeCap的高质量描述性标题在检索任务中能够取得更好的结果。 然而,在分类任务上的性能较差。 在我们将DFN和VeCap结合起来进行训练后,CLIP在所有模型尺寸上都能取得最大的改进。
我们还训练了一个分辨率为336x336的H/14模型,并将其与MetaCLIP[42]和DFN[13]等最先进的模型进行了比较。 结果总结在表5的第6到8行。 尽管在不同的分辨率和方案上进行了训练,但使用VeCap+DFN的CLIP模型与其他模型兼容,并为下游任务提供了另一种选择。 2.
Model | Resolution | Data | COCO (R@1) | Flickr30k (R@1) | ImageNet | ||
I2T | T2I | I2T | T2I | ||||
B/16 | 224 | DFN [13] | 63.0 | 43.2 | 87.1 | 70.4 | 76.2 |
VeCap+DFN | 66.3 | 45.1 | 88.8 | 73.6 | 76.2 | ||
Comparison to other state-of-the-art models | |||||||
DFN [13] | 68.5 | 48.5 | 89.2 | 75.1 | 81.0 | ||
L/14 | 224 | FLIP [22] | 60.2 | 44.2 | 89.1 | 75.4 | 74.6 |
VeCap+DFN | 70.8 | 49.5 | 92.4 | 78.4 | 81.1 | ||
224 | MetaCLIP [42] | 67.2 | 49.5 | 92.1 | 78.5 | 80.5 | |
H/14 | 378 | DFN [13] | 71.8 | 55.6 | 94.0 | 82.1 | 84.4 |
336 | VeCap+DFN | 72.8 | 52.3 | 93.6 | 82.6 | 83.1 |
我们的带有DFN[13]的VeCLIP可以胜过具有不同主干的FLIP[22]和OpenAI CLIP(如附录中的表A10所示)。 具体来说,我们的ViT-H/14模型在ImageNet上取得了令人印象深刻的83.1%的准确率。 我们将合成数据(VeCap)与其他数据整理方法相结合的进一步研究留作未来的工作。
4.6消融研究
Data | Caption | PromptConstraint | COCO (R@1) | Flickr30k (R@1) | ImageNet | ImageNetV2 | ||
I2T | T2I | I2T | T2I | |||||
WIT-3M | AltText | - | 5.18 | 3.40 | 10.50 | 6.88 | 8.02 | 6.88 |
VeC | - | 16.76 | 9.57 | 32.60 | 20.06 | 7.31 | 6.58 | |
VeCap | ✗ | 17.34 | 9.52 | 37.30 | 21.62 | 8.12 | 6.83 | |
VeCap | ✓ | 18.10 | 9.51 | 40.00 | 21.94 | 8.20 | 7.39 | |
WIT-12M | AltText | - | 22.58 | 14.23 | 44.40 | 30.90 | 31.14 | 25.91 |
VeC | - | 40.06 | 24.59 | 64.10 | 43.46 | 7.29 | 14.74 | |
VeCap | ✗ | 44.52 | 27.46 | 70.90 | 50.46 | 21.05 | 18.11 | |
VeCap | ✓ | 46.82 | 26.61 | 72.60 | 50.94 | 20.99 | 18.41 |
Data | AltText | VeCap | TrainingSampling | COCO (R@1) | Flickr30k (R@1) | ImageNet | ImageNetV2 | ||
I2T | T2I | I2T | T2I | ||||||
WIT-3M | ✓ | ✗ | HCS | 5.18 | 3.40 | 10.50 | 6.88 | 8.02 | 6.88 |
✓ | ✗ | random | 5.46 | 3.28 | 12.20 | 6.36 | 8.26 | 7.09 | |
✗ | ✓ | HCS | 18.10 | 9.51 | 40.00 | 21.94 | 8.20 | 7.39 | |
✓ | ✓ | HCS&mixed | 19.70 | 12.14 | 39.30 | 25.60 | 14.83 | 12.36 | |
✓ | ✓ | random&mixed | 22.30 | 13.01 | 40.60 | 27.58 | 15.98 | 13.51 | |
WIT-12M | ✓ | ✗ | HCS | 22.58 | 14.23 | 44.40 | 30.90 | 31.14 | 25.91 |
✓ | ✗ | random | 23.32 | 14.28 | 44.70 | 29.06 | 31.60 | 27.03 | |
✗ | ✓ | HCS | 46.82 | 26.61 | 72.60 | 50.94 | 20.99 | 18.41 | |
✓ | ✓ | HCS&mixed | 46.00 | 31.10 | 72.50 | 56.82 | 37.45 | 32.41 | |
✓ | ✓ | random&mixed | 47.78 | 31.62 | 73.90 | 55.68 | 38.11 | 32.51 | |
CC3M | ✓ | ✗ | - | 13.88 | 9.64 | 26.30 | 18.04 | 14.59 | 12.52 |
✓ | ✓ | random&mixed | 32.04 | 22.07 | 57.20 | 36.54 | 20.73 | 17.90 |
视觉增强概念的重要性。 与之前的改写方法不同,我们的主要重点在于融合从图像中提取的视觉增强概念。 消融实验结果总结在表 LABEL:table:ab_caption 中。 我们使用 3M/12M 作为示例,以展示在小型/中型规模下的性能提升。 原始 AltTexts 由于其噪声和有限的图像特异性信息,在检索任务中显示出其局限性。 从 LLaVA 生成的 VeC 可以提高检索任务的性能,但可能会损害 ImageNet 零样本任务的性能。 引入 VeCap 可以进一步改善所有设置下的 VeCap 性能。 令人感兴趣的是,零样本 ImageNet 结果仍然落后于原始 AltText。 本质上,我们的 VeCap 对检索能力产生了深远的影响,但对分类任务产生了负面影响。 我们认为这种现象源于以下两个原因:1) 从预训练到 ImageNet 零样本推理的提示中可能存在分布偏移,鉴于 VeCap 的扩展长度和增强的视觉内容,这一点尤其值得注意;2) LLM 使用相同的写作/释义风格来融合 VeCap 和 AltText,从而损害了数据多样性。
混合训练策略的重要性。 为了减轻上述问题,我们提出了一种混合训练方案,在 AltTexts 和 VeCap 之间交替进行训练,以便在预训练期间提供更多的数据多样性。 我们在表 LABEL:table:ab_mixed_captio 中总结了 VeCLIP 的消融实验结果。 首先,我们观察到,在多个 AltTexts 与一张图像关联的情况下,随机选择一个 AltText 会略微提高性能。 此实践增强了预训练期间的数据多样性。 其次,在AltText和VeCap之间进行互换被证明是有利的,这不仅保留了检索任务中大量的性能提升,而且显着提高了ImageNet上的零样本结果。 最后,在VeCLIP的混合训练方法中利用所有AltText和VeCap,几乎在所有设置下都能取得优异的结果。
更大的主干架构。 我们还研究了更大的主干架构,例如ViT-L/14和ViT-H/14。 详细结果可在表5和附录C.1中找到。 在主干大小上进行扩展的VeCLIP在所有下游任务中都能持续优于原始CLIP。 此外,更大的主干(ViT-L/14)与ViT-B/16相比,还可以实现高达5.87%的改进。 这些发现支持了VeCLIP在改进CLIP预训练方面的有效性,而不管具体的底层主干架构如何。
VeCap在精心策划的数据集上的泛化能力。 除了我们的WIT数据集外,我们还在精心策划的CC3M/CC12M上评估VeCap。 表LABEL:table:ab_mixed_captio显示,在CC3M上进行预训练的CLIP比在WIT-3M上进行预训练的CLIP性能更好,这表明高质量字幕对于预训练的重要性。 使用VeCap进一步提高CC3M字幕的质量,CLIP可以取得显著改进,因为CC3M的字幕质量高于我们嘈杂的WIT数据集。 使用其原始字幕的CC3M可以胜过我们使用AltText的WIT-3M的性能,这表明CC3M的质量更高。 VeCap可以在CC3M设置下显著改进CLIP,例如,在COCO的I2T任务上提高+18.16%,在ImageNet上提高+6.14%,这表明其在精心策划的数据集上的泛化能力。 更多结果见附录C.2。
5讨论
结论。 我们提出了一种简单而有效的方法来改进CLIP预训练,利用LLaVA和LLM用更丰富的视觉概念改写标题。 VeCLIP的设计初衷是可扩展且适应性强,能够处理从网络爬取获得的大规模图像-文本数据集。 我们对VeCLIP在各种原始和噪声数据集上进行了彻底的评估,涵盖了小型、中型和大型规模。 结果显示性能大幅提升,为我们的策略在增强大型VLM预训练中的有效性提供了令人信服的证据。 VeCLIP可以显著降低大型模型达到与原始CLIP竞争结果所需的计算成本和训练数据量。
未来工作。 我们使用CLIP作为说明性实例,以突出在训练数据集中对齐文本和图像的重要性。 未来工作中,我们计划使用收集到的大型数据集来改进其他类型VLM的预训练。 此外,LLM生成的输出可能包含事实不准确和幻觉。 因此,我们还计划深入研究更复杂的过滤技术以去除此类描述。
局限性。 我们只利用LLaVA来利用视觉概念。 然而,此类生成式AI的质量度量指标仍在研究中。