AIGC宇宙 AIGC宇宙

模态编码器 | FLIP:通过图像掩码加速CLIP训练

作者:
2025-04-11 12:16
来聊聊Meta AI团队(何恺明组)提出的一个高效的CLIP加速训练方法——FLIP。 看完MAE,很自然的一个想法就是将MAE用到CLIP里的图像编码器上,FLIP实现了这个想法,通过在训练过程中对图像进行随机掩码(masking),显著提升了训练效率。 动机也很简单,CLIP训练成本高,耗费大量时间和资源,高效省时的训练方法则成为研究重点。

模态编码器 | FLIP:通过图像掩码加速CLIP训练

来聊聊Meta AI团队(何恺明组)提出的一个高效的CLIP加速训练方法——FLIP。看完MAE,很自然的一个想法就是将MAE用到CLIP里的图像编码器上,FLIP实现了这个想法,通过在训练过程中对图像进行随机掩码(masking),显著提升了训练效率。

动机也很简单,CLIP训练成本高,耗费大量时间和资源,高效省时的训练方法则成为研究重点。

简单看下FLIP结果,只需要mask掉部分图像,就可以将CLIP的训练过程加速2~3倍,而且可以实现更好的性能:

图片

01、方法介绍

图片

与CLIP相比,FLIP最关键的改进就是借鉴了MAE(Masked Autoencoders)的思想,在训练过程中对图像进行随机mask。这意味着图像编码器(image encoder)只需要处理未被mask的部分图像块(patches)。具体实现上的差异:

  • 图像编码器(Image Encoder): FLIP的图像编码器与原始的ViT(Vision Transformer)架构类似,但在patch embedding后没有采用额外的LayerNorm,并且使用全局平均池化(global average pooling)来提取最终的全局特征,而CLIP则使用class token的特征。
  • 文本编码器(Text Encoder): FLIP使用非自回归的Transformer,而CLIP则使用自回归的Transformer(带有因果注意力掩码)。此外,FLIP使用长度为32的WordPiece tokenizer,而CLIP使用长度为77的BytePairEncoding tokenizer。

对图像进行掩码处理,主要有以下几个显著的优势:

  1. 加速训练: 由于图像编码器只需要处理部分图像块,大大降低了计算量,从而在相同的训练时间内可以处理更多的图像-文本对,提高了训练效率。
  2. 节省显存: 遮挡部分图像可以显著减少图像编码器的显存占用(例如,遮挡50%的图像,显存消耗就降低50%)。这使得在有限的硬件资源下可以使用更大的batch size进行训练,而对比学习通常需要较大的batch size才能取得更好的效果。
  3. 可能的正则化效果: 虽然图像掩码会导致部分信息丢失,但这可能反而起到一种正则化的作用,有助于模型更好地泛化,避免过拟合。

02、实验结果

与OpenCLIP对比

与OpenCLIP的对比结果清晰地展示了FLIP的效率提升。在训练相同epochs(32 epochs)的情况下:

  • 使用50%掩码的FLIP可以将训练速度提升2倍,同时在ImageNet1K上的zero-shot准确率提高0.9%。
  • 使用75%掩码的FLIP可以将训练速度提升2.9倍,准确率提高0.6%。

需要注意的是,如果不进行unmasking tuning(即在训练后期少量使用无掩码图像进行微调),FLIP的性能会有所下降,尤其是75%掩码的情况,其性能甚至略逊于CLIP。这表明训练和测试过程中图像分布的差异(distribution gap)仍然会对性能产生一定影响。

图片

不同模型和数据集上的表现

论文基于ViT-L/16、ViT-B/16、ViT-L/14以及ViT-H/14等不同模型进行了实验,并在ImageNet1K上进行了评估。结果表明,FLIP(50%掩码)在zero-shot性能上优于同样基于LAION-400M数据集复现的CLIP以及开源的OpenCLIP(除了B/16模型),但略逊于OpenAI的CLIP。在linear probe和fine-tune实验中也观察到了类似的趋势。这很可能归因于预训练数据集的差异(WIT-400M vs LAION-400M)。

图片

在其他图像数据集上的对比结果也显示,FLIP明显优于基于LAION-400M复现的CLIP和OpenCLIP,但在部分数据集上略逊于OpenAI的CLIP,这再次印证了预训练数据集的重要性。

论文还进一步在zero-shot图像-文本检索、zero-shot鲁棒性、图像描述(image captioning)以及视觉问答(visual question answering)等任务上进行了对比实验。结果表明,FLIP在这些任务中均表现出良好的性能,仅在zero-shot鲁棒性方面略逊于OpenAI的CLIP(这同样可能是由于训练数据集的差异)。

图片

消融实验

为了深入理解FLIP中各个设计选择的影响,论文进行了一系列消融实验,这些实验基于ViT-L/16模型在LAION-400M数据集上训练6.4个epochs。

图片

  • (a) 不同掩码比例(mask ratio): 实验表明,随着掩码比例的增加,batch size增大,FLOPs和训练时长均下降。50%的掩码比例在速度和性能之间取得了最佳平衡,而75%的掩码比例则由于信息丢失过多而导致性能下降。
  • (b) Batch size的影响: 实验证实,更大的batch size可以带来更好的性能,这突显了图像掩码带来的额外优势。
  • (c) 文本掩码(text masking): 实验表明,对文本进行掩码会导致性能下降。这可能是因为图像信息通常是冗余的,而文本信息密度更高。此外,由于文本编码器的计算量相对较小,因此文本掩码并不是一个有效的优化手段。
  • (d) 推理阶段的掩码: 实验对比了在推理阶段使用掩码图像和非掩码图像的性能差异。
  • (e) Unmasking tuning的影响: 正如前面提到的,由于训练和测试数据分布的差异,如果没有unmasking tuning,模型性能会受到影响。
  • (f) 添加MAE的重建损失: 实验表明,添加MAE的重建损失并不能带来性能提升。

Scaling性能

由于FLIP显著加速了CLIP的训练,论文还进行了大规模的scaling实验,包括:

  • 模型Scaling(Model scaling): 使用ViT-H代替ViT-L,将模型参数增加了一倍。
  • 数据Scaling(Data scaling): 将预训练数据集从LAION-400M扩展到更大的LAION-2B数据集(固定训练过程中采样的样本总量)。
  • 训练计划Scaling(Schedule scaling): 增加训练过程中采样的样本量(从12.8B到25.6B,即训练epochs从32增加到64)。

实验结果表明:增大模型规模可以带来稳定的性能提升。使用更大的训练数据集在后期可以带来额外的性能提升。仅增加采样数据量(在相同的LAION-400M数据集上增加epochs)并不能显著提升性能。

图片

通过组合scaling实验,特别是model+data scaling的组合,可以在各个任务上取得较好的性能。而model+data+schedule的联合scaling在ImageNet1K数据集上取得了最高的zero-shot性能,达到78.1%,与目前OpenCLIP开源的最佳模型(同样基于ViT-H和LAION-2B,采样32B数据量,性能为78.0%)相当。但得益于图像掩码,FLIP的训练速度比后者快2.5倍。

03、总结

FLIP增大模型尺寸继续涨点;FLIP增大数据规模继续涨点;FLIP增大训练时长几乎没什么涨点

FLIP给出资源受限情况下的视觉语言训练新范式,也给出模型训练中数据规模和模式尺寸的通用Trick。摘要最后一句提到“We hope that our work will foster future research on scaling vision-language learning.”。预计会成vision-language learning的一个通用Trick,是对的MAE一次推广。

相关标签:

相关资讯

模态编码器|CLIP详细解读

下面来详细了解一下多模态大模型模态编码器部分。 今天首先来看下CLIP,OpenAI发表在2021年ICML上的一篇工作。 项目地址::在自然语言处理(NLP)领域,通过大规模的文本数据预训练模型(如GPT-3)已经取得了显著的成果,但在计算机视觉领域,预训练模型仍然依赖于人工标注的图像数据集,严重影响了其在未见类别上的泛化性和可用性(需要用额外的有标注数据)。
4/7/2025 3:30:00 AM
Goldma

模态编码器|CLIP技术改进之EVA-CLIP

上一篇看了EVA,趁热打铁,今天来看EVA-CLIP,同样是智源曹越团队的工作,主要研究主题是结合EVA改进CLIP。 研究动机:训练CLIP模型面临计算成本高和训练不稳定等挑战,尤其是在扩大模型规模时。 因此,这项工作的研究动机是提供一种高效且有效的解决方案,以促进更大规模CLIP模型的训练和发展。
4/7/2025 5:30:00 AM
Goldma

Pravega Flink connector 的过去、现在和未来

本文整理自戴尔科技集团软件工程师周煜敏在 Flink Forward Asia 2020 分享的议题《Pravega Flink Connector 的过去、现在和未来》,文章内容为:Pravega 以及 Pravega connector 简介Pravega connector 的过去回顾 Flink 1.11 高阶特性心得分享未来展望   一、Pravega 以及 Pravega connector 简介Pravega 项目的名字来源于梵语,意思是 good speed。项目起源于 2016 年,基于 Apac
7/22/2021 11:07:00 AM
阿里云大数据AI技术