专栏名称: FightingCV
一个专注于分享计算机视觉、多模态机器学习方向前沿论文,解答常见科研问题,分享好用科研工具的公众号。努力努力再努力,瑞思拜!
目录
相关文章推荐
新浪科技  ·  【#DeepSeek下周开源5个代码库#,每 ... ·  3 天前  
腾讯研究院  ·  腾讯研究院AI速递 20250221 ·  3 天前  
51好读  ›  专栏  ›  FightingCV

TinyCLIP:基于亲和力模拟和权重继承的CLIP蒸馏

FightingCV  · 公众号  ·  · 2025-02-08 09:00

正文

摘要

本文提出了一种新颖的跨模态蒸馏方法,称为TinyCLIP,用于大规模语言图像预训练模型。 该方法引入了两个核心技术:亲和力模拟和权重继承。 亲和力模拟探索了蒸馏过程中模态之间的相互作用,使学生模型能够在视觉-语言亲和空间中模拟教师模型学习跨模态特征对齐的行为。 权重继承将预训练权重从教师模型传递到学生模型,以提高蒸馏效率。 此外,我们将该方法扩展到多阶段渐进式蒸馏,以减轻极端压缩过程中信息权重的损失。 综合实验表明了TinyCLIP的有效性,结果表明它可以将预训练的CLIP ViT-B/32的大小减少50%,同时保持相当的零样本性能。 在追求相当性能的同时,带有权重继承的蒸馏可以将训练速度提高1.4-7.8 × 倍,这比从头开始训练要快得多。 此外,我们基于YFCC-15M训练的TinyCLIP ViT-8M/16在ImageNet上实现了令人印象深刻的41.1%的零样本top-1准确率,比原始CLIP ViT-B/16高出3.5%,同时仅使用了8.9%的参数。 最后,我们证明了TinyCLIP在各种下游任务中的良好可迁移性。 代码和模型将在aka.ms/tinyclip开源。

1 引言

大规模的语言图像预处理,例如 ,例如 ,剪辑 [46] ,由于其显着的零射击传递能力 [46] 和文本到图像生成中的前所未有的性能 [47] 。 由于视觉和语言的复杂性质,当前的方法通常诉诸利用大量参数来赋予具有跨模式功能的模型 [46,22,71,71,72,72,43,39,1] 。 反过来,这导致了这些模型的存储,内存和计算时间的高成本,这激发了模型压缩的需求,以使其对现实世界应用程序的更小,更快 [64,13]

作为一种核心压缩技术,知识蒸馏已被广泛研究并应用于单模式设置 [20,17] 。 但是,其多模式的潜力仍未得到充实。 与单模模型不同,语言图像跨模型模型的蒸馏构成了不同的挑战。 首先,类似剪辑的语言图像模型通常由两个分支组成:图像编码器和文本编码器 [22,72,52,73] 。 在提炼这种多分支模型时,要考虑教师和学生模型中不同模态分支之间信息的相互作用至关重要。 其次,原始剪辑 [46] 模型在4亿张图像文本对中进行了预训练,用于32个时期,这需要数千个GPU天,当计算资源受到限制时,使蒸馏成为一项重大挑战。 有什么方法可以降低夹蒸馏的成本?

图1: OpenClip [21] 和TinyClip的比较。 TinyCLIP is pre-trained and distilled on LAION-400M [50] using OpenCLIP ViT-B/32 [21] as the teacher, whose zero-shot top-1 accuracy is 65.6%.

为了应对这些挑战,我们提出了一种称为tinyclip的新型跨模式蒸馏方法,该方法引入了两种关键技术: 亲和力模仿 重量继承 。 与依靠图像或文本特征进行蒸馏的方法相反,我们从经验上表明,图像文本亲和力空间中的蒸馏知识更有效。 具体来说,我们利用教师模型中图像和文本嵌入的余弦相似性来促进学生模型的蒸馏,从而使学生模仿教师的视觉语言特征对齐。 We refer to this process as affinity mimicking .

为了提高蒸馏效率,我们介绍了 权重继承 ,这是一种将预训练的权重从教师模型转移到学生对应的技术。 由于继承权重为学生模型提供了良好的初始化,因此蒸馏的进度可以在很大程度上加速。 体重继承的主要挑战在于确定哪些权重更有利。 为了解决这个问题,我们介绍了两种解决方案:手册和自动继承。 我们出人意料地发现,从教师模型中的 k -dimension或 k - 层的重量的简单手动选择可以为夹蒸馏带来令人满意的结果。 另一方面,我们还引入了可学习的面具,以自动从教师模型中确定最重要的权重。 面具是独立于视觉和语言分支的,使它们能够捕获跨模态的差异。

此外,我们将提出的权重继承扩展到多阶段的渐进过程,在此过程中,每个后续阶段都会自动从前阶段继承重要权重。 我们观察到,当教师模型表现出更高的表现并与学生分享类似的体系结构时,体重继承可以提供更好的结果。 这是因为重大的建筑差异可能会破坏从老师传输到学生时学到的权重。 因此,我们将继承分为多个阶段,使每个阶段的学生模型与前任教师共享一个更相似的结构,并逐步继承权重。

我们的实验表明,TinyClip在ImageNet零射门评估和各种下游任务中的各个级别的加速和模型大小都提供了竞争模型。 As shown in Fig. 1 , pre-trained on the same LAION-400M dataset [50] , TinyCLIP-ViT using 63M parameters achieves 61.4% zero-shot top-1 accuracy on ImageNet [7] , being 2.0 × smaller and 1.5 × faster than the OpenCLIP [21] model (62.9% accuracy with 126M parameters). 同时,具有38m参数的TinyClip-Resnet获得了56.4%的零射击TOP-1精度,为2.1 × 较小,2.0 × 比Clip resnet-50快(59.6%的精度为76mm)参数)。 此外,我们的方法可以通过1.4 × - 7.8 × 加快原始Openclip培训的速度。 TinyCLIP还在下游场景中展现了良好的迁移能力。 总而言之,这项工作的贡献有两个方面:

  • 我们提出了一种新的跨模态蒸馏方法,以释放小型CLIP模型的能力,充分利用大型模型和预训练数据。 据我们所知,这是第一项探索语言图像模型预训练蒸馏的工作。

  • 我们提出了在小型规模下最先进的语言图像预训练模型,在速度和精度之间取得了最佳平衡。 大量的实验结果证明了小型模型在各种下游任务中的优越性和良好的泛化能力。

2 相关工作

语言图像预训练 在过去几年取得了显著进展 [10, 4] 。 特别是,对比语言图像预训练展现出非常令人印象深刻的零样本迁移和泛化能力 [45, 46, 22, 72, 61, 43, 74] 。 最具代表性的作品之一是CLIP [46] 。 大量的后续工作被提出以优化预训练框架 [28, 76, 16, 68, 62, 15, 29, 67] 。 同时,一些工作利用预训练模型进行下游任务,例如开放词汇检测和分割 [30, 75, 66, 33] ,视频识别 [56, 24] 以及文本到图像生成 [47, 41]

最近,有一些工作尝试扩展语言图像预训练模型。 BEiT-3 [57] 使用多路Transformer将多模态预训练模型扩展到19亿个参数。 FLIP [31] 通过掩码建模扩展图像文本预训练,使CLIP能够获得更快的训练速度,同时获得更好的性能。 另一方面,也有一些关于缩小CLIP模型规模的工作 [51] 。 但是,它们都集中在特定任务上,例如 [5,51] 和视频内容理解 [42] 。 相比之下,我们的工作集中于语言图像预训练,这是剪辑压缩方面的第一部作品。

知识蒸馏 在教师框架 [20] 中已被广泛用于将知识从大型转移到小模型。 单个模态中的蒸馏,例如视觉 [54,64,37] 或语言 [48,23] ,已经进行了广泛的研究。 但是,跨模式蒸馏的探索相对有限。 探索跨模式蒸馏的一些早期作品仅着眼于特定任务,例如VQA和图像标题 [5,11,59] ,限制了在一般下游任务中应用的方法。 相比之下,这项工作会注意一般的跨模式预训练蒸馏,其中蒸馏模型可以转移到各种下游场景中。

值得注意的是,我们提出的权重遗传策略具有与模型修剪技术相似的精神 [18,65,51] 。 两种方法都涉及识别重要权重的同时删除冗余的权重。 但是,它们有三个基本差异。 1)以前的修剪方法主要集中于单模式模型 [18,65,3] ,而我们的方法将注意力转移到了多模式上。 由于不同的模态表现出不同的冗余特征,因此在从每种方式中选择重要权重时必须考虑这些差异。 2)与以前强调修剪架构 [12,35,58] 的重要性不同,我们认为从原始模型继承的权重也非常有益,尤其是在压缩剪辑时喜欢语言图像模型。 3)我们的方法利用了渐进的多阶段过程,这使得遗传的权重能够在训练过程中加速小型模型的收敛性。

3 方法

在本节中,我们提出了TinyClip,这是一种简单有效的方法,用于提炼大规模的语言图像预处理模型,例如剪辑。 它由三个组成部分组成:模仿(§ 3.1 ),重量继承(§ 3.2 )和多阶段的渐进式蒸馏(§ 3.3 ) 。

3.1 与亲和力蒸馏模仿

语言图像预训练模型通常由两个分支组成,一个图像编码器以提取视觉表示形式和一个文本编码器来提取文本表示。 视觉和文本表示形式通过最小化对比损失 0 线性地投影到跨模式的共同空间中。 可以将监督信号视为一个身份矩阵,其中对角度值设置为1的正面图像纹理对,而所有其他矩阵的对角值则将负值设置为0的负值。 该信号忽略了负对之间的相似性,这阻止了模型对负面对之间复杂关系的细微理解。 因此,我们介绍 模仿 的亲和力使学生模型能够从教师模型中学习负面对之间的相似之处。

更具体地说,如图 2 所示,我们考虑了两种类型的亲和力蒸馏损失:图像到语言损失 I 2 T 和语言对图像损失 T 2 I 。 前者根据图像到语言亲和力 A I 2 T 了解教师和学生模型之间的对齐方式,该>代表图像的亲和力得分,其中所有文本说明都在批处理中(突出显示了黄色行图。 2 )。 The latter refers to the alignment of language-to-image affinity A T 2 I , which compares a text description with all the images to obtain a matching score (the blue column in Fig. 2 ). 这两种损失的结合表达了我们的亲和力模仿蒸馏,这表示为:

在这里, C E 表示跨熵损失。 Superscripts s t 分别表示学生和教师模型。 A I 2 T A T 2 I 中的元素定义为:

where τ is a temperature parameter, I i is the feature embedding of i -th image in the batch , T j is the feature of j -th text description in . Affinity mimicking allows student models to imitate the behavior of the large model in learning visual-linguistic alignment. 与以前依赖图像或文本特征进行蒸馏的方法相反,我们表明在此图像文本亲和力空间中蒸馏知识更有效。

图2: 模仿语言图像模型的亲和力。 损失包括图像到文本损失(黄色)和文本对图像损失(蓝色)。

3.2 用重量继承蒸馏

原始的夹型模型在4亿张图像文本对上进行了32个时期的预训练,花费了数千个GPU天。 这给蒸馏带来了重大的成本挑战。 为了提高训练效率,我们引入了体重继承,这种技术从训练有素的大型教师模型到较小的学生模型都继承了重要权重。 继承权重的主要挑战是从老师的大量权重中确定重要的权重。 我们提出了两种选择重要权重的方法:手动重量继承和自动权重继承。

手动继承 。 对于手动重量继承,我们首先分析现有剪辑预训练模型的冗余。 图。 4 表明,文本编码器在深度(层)上显示出更多的冗余,而图像编码器则在宽度上显示出更多的冗余(通道)。 基于这一发现,我们采用了均匀选择 k 层的方法,并直接采用图像分支的前 k 频道来从大师模型中选择重要权重。 这些权重将作为蒸馏过程中小型模型的初始化。 我们出乎意料地发现,如此简单的手动选择权重可以在很大程度上加速夹蒸馏。

自动继承 。 尽管手动继承可以被认为是模型压缩的一种有效方法,但它确实存在一个缺点,即需要预先了解哪些权重需要继承。 这一限制可能会使该技术难以应用于不同的模型。 为了解决这个问题,我们提出了一种自动权重继承方案。 受大型语言模型中结构化剪枝的启发 [65] ,我们引入可学习掩码来识别权重的重要性。 考虑到不同模态之间的差异,可学习掩码分别施加在视觉和语言分支上,如图 3 所示。 引入一个整体稀疏性约束,以保证选定的重要权重数量满足我们的压缩要求。 为不失一般性,这里我们以Transformer架构为例介绍权重继承的详细过程。 特别地,一个标准的Transformer块包含一个多头注意力(MHA)层和一个前馈网络(FFN)。 为了细粒度地捕获权重的重要性,我们引入了两个掩码变量 𝐦 head 𝐦 int { 0 , 1 } ,分别用于识别MHA中冗余的注意力头和FFN中冗余的神经元,同时保留重要的部分。 这两种掩码分别施加在注意力头的激活和FFN的中间层上,其公式为

其中 𝐗 是层输入, 𝐖 Q h , 𝐖 K h , 𝐖 V h , 𝐖 O h d × d h 分别表示MHA中的查询、键、值和输出矩阵, 𝐖 U d × d f 𝐖 D d f × d 表示FFN层的参数。 这里, d 表示隐藏维度( e.g. ,768), d h = d / N H 表示每个头的输出维度( e.g. ,64),其中 N H 是头的总数。 可训练掩码 𝐦 head 𝐦 int 作为MHA和FFN层重要性的指示器。 此外,为了进一步学习Transformer中嵌入维度的重要性,我们引入了一个额外的掩码 𝐦 embed { 0 , 1 } 。 此掩码在所有层之间共享,因为隐藏表示中的每个维度都通过残差连接连接到后续层中的对应维度。

在自动继承过程中,使用了两个损失函数来联合优化掩码和模型, i.e. ,方程( 1 )中定义的稀疏性损失和蒸馏损失。

其中 λ , β 是可学习的乘数,保证 p = q [60, 65] 。 这里, q 是目标压缩率, p 是模型可学习掩码的整体压缩率,包括图像编码器和文本编码器:


其中 M i M t 分别表示图像编码器和文本编码器的完整模型大小, L 是 Transformer 层的总数。

图 3: CLIP 的权重继承。 给定一个大型预训练的 CLIP 模型,继承的权重由掩码选择。 掩码为 0 的权重将被移除。 对于手动方式,掩码在前 k 维或均匀的 k 层设置为 1,其余设置为 0。 对于自动方式,掩码在稀疏性约束下与模型一起学习。

3.3 渐进式多阶段蒸馏

当试图达到较高的目标稀疏性, >70% 时,单阶段压缩模型会导致精度显著下降,甚至导致收敛失败。 这是因为大型模型的大部分权重都被直接丢弃,包括那些对确保模型质量和收敛至关重要的权重。 作为解决方案,我们提出了一种多阶段渐进式蒸馏方法,以在不严重牺牲精度的情况下实现高压缩率。 在每个阶段,我们使用适度的压缩程度, 例如 25%,以避免性能大幅下降并使训练稳定。

具体来说,每个阶段都包括权重继承和亲和力模拟,如算法 1 中所述。 在权重继承阶段,大型模型的权重逐渐减少,直到保留目标稀疏性和关键权重用于小型模型。 之后,小型模型通过模仿亲和力提炼,这涉及将视觉语言的亲和力知识从老师转移到学生。 重复此过程,直到达到目标稀疏度。

输入: 预先训练的剪辑模型 f ( x ; θ 0 ) ,重量 θ 0 ,目标压缩率 q ,总迭代步骤 N


1 Initialize the number of stages G , each stage steps L , target compression rate q i of stage i , weight inheritance steps L M , input x , learnable mask M = { 𝐦 head , 𝐦 int , 𝐦 embed } ; 1

2 for i in [ 1 , , G ] do

3 // Increase mask compression rate, retain important weights

4 for j in [ 1 , , L M ] do

5 Update target compression rate 2 q of current step based on q i and step j ;

6 Calculate distillation loss between origin teacher model f ( x ; θ 0 ) and masked student model f ( x ; θ i 1 M i ) ;

7 Calculate sparsity loss between learnable mask compression rate 3 p and target compression rate q ;

8 Optimize θ i 1 and M i ;

9 end for

10 θ i θ i 1 M i // Inherit weight with masks

11 // Cross-Modal distillation

12 for j in [ L M + 1 , , L ] do

13 Calculate distillation loss between origin teacher model f ( x ; θ 0 ) and compressed model f ( x ; θ i ) ;

14 Optimize θ i ;

15 end for

16

17 end for

Return compressed model f ( x ; θ G ) at compression rate q

  • 1

    每个阶段压缩25%, q i = 1 i 25 % , G = ( 1 q ) / 0.25 , L = N / G , L M = 3000 , M 被初始化为 1 q i 可以根据不同的模型进行调整。

  • 2

    目标压缩率 q 使用步骤 j 线性地增加到 q i 3 p 由eq中的蒙版 M 计算。 ( 8 )。

Algorithm 1 TinyCLIP: Cross-Modal Distillation

4 实验

4.1 实现详细信息

架构。 The original CLIP employs a transformer-based model as its text encoder, while its image encoder has two variations, i.e. , ViT [9] and modified ResNet [19] , covering both transformer-based and CNN-based architectures. 为了继承权重,我们从两个模型变体中继承了权重: openclip vit-b/32或vit-b/16 [21] clip Resnet-50 [46] ,在Laion-2B [49] 和WIT-400M [46] 上进行了预训练 1 . 为了进行蒸馏,我们使用 openclip vit-b/32 [21] 在laion-2b [49] 上预先训练作为教师模型,由于ImageNet [7] 的高零射精准确度具有65.6%的高度,并且具有较高的推理吞吐量。 此外,我们还将方法扩展到davit [8] ,这是一种混合体系结构。 我们在Laion-400m上重新生产了佛罗伦萨-Davit-5m [72,8] 。 然后,我们使用亲和力模仿和权重继承来提炼相同的模型。 教师模型是Florence-Davit-D3,它在FLD-900M [72] 上进行了预先培训,并在Imagenet [7] 上实现了78.0%的顶部1精度为78.0%。 >具有128m参数。

亲和力模仿。 如选项卡中所定义。 2 ,我们探索了跨模式之间教师和学生模型之间的不同互动方案。 The contrastive loss 0 and affinity mimicking 1 ( i.e. , d i s t i l l ) serve as the basic ones, which can be combined with other losses. 合并时,每个损失的重量设置为1。 等式中的温度参数 τ 。 ( 3 )设置为 1 50 默认情况下。 τ 的灵敏度分析在 补充材料 中提供。

重量继承。 我们使用建议的多阶段渐进式蒸馏来压缩Openclip vit-b [21] 和夹子Resnet-50 [46] 。 在每个阶段,我们都采用手动或自动重量继承。 在手动继承中,我们通过减少图像编码器的宽度和文本编码深度来分别压缩图像编码器和文本编码器。 在自动继承中,我们为整个模型设置了目标稀疏性。 在每个阶段,可训练的面罩初始化为1,并在前3,000个训练迭代中进行了更新,其中优化器为ADAMW [36,25] ,恒定学习率为0.01且无重量衰减。 在等式中定义的可学习乘数 λ , β 。 ( 7 )均初始化为0.01。

训练设置。 我们在两个公共数据集上训练我们的模型,即 LAION-400M [50] 和 YFCC-15M [53] 。 在 LAION-400M 上,模型压缩分为三个阶段,包括:参数从 100% 压缩到 75% 训练 6 个 epoch;参数从 75% 压缩到 50% 训练 16 个 epoch;参数从 50% 压缩到 25% 训练 16 个 epoch。 在 YFCC-15M 上,包含两个压缩阶段,其中训练 epoch 数均为 25,参数从 100% 压缩到 50%,然后从 50% 压缩到 10%。 我们遵循 CLIP [46] 的超参数,除了在使用权重继承时学习率设置为 10 4 。 详细信息见 补充材料 。 除非另有说明,我们的消融研究使用相同的设置,除了仅训练模型 1 个 epoch,学习率为 5 × 10 4 。 所有模型都在 32 个 Nvidia V100 或 A100 上训练,并使用 PyTorch [40] 、OpenCLIP [21] 、梯度缓存 [14] 和 Timm 库 [63] 实现。

评估设置。 模型在多个基准测试上进行评估。 在零样本迁移评估和鲁棒性评估中,我们遵循 CLIP [46] 中相同的提示工程,其中每个类别使用 80 个文本模板用于 ImageNet [7] 。 在线性探测中,我们使用 Elevater 工具包 [27] 进行评估,其中使用搜索到的超参数训练分类头 50 个 epoch。 请注意,我们没有计算文本嵌入层中的参数数量。 它是一个查找表,其参数大小与具有相同隐藏维度和词汇量大小的模型相同。 推理吞吐量在配备 CUDA 11 和 PyTorch v1.12 [40] 的 Nvidia V100 上测量,其中批大小为 1024。

Method Image Text Encoder #Params (M) MACs Throughput Training IN-1K Flickr30k MSCOCO
Encoder depth width Image+Text (G) (pairs/s) datasets top1 acc (%) I T@1 T I@1 I T@1 T I@1
Training data: 15M / 20M







RILS [69] ViT-B/16 12 512 86 + 38 20.5 818 LAION-20M 45.0 45.1 34.9 32.2 25.5
MaskCLIP [77] ViT-B/16 12 512 86 + 38 20.5 818 LAION-20M 46.6 64.9 48.1 38.5 24.8
SLIP [38] ViT-B/16 12 512 86 + 38 20.5 818 YFCC-15M 42.8 57.6 40.1 31.1 20.3
CLIP [46, 38] ViT-B/16 12 512 86 + 38 20.5 818 YFCC-15M 37.6 51.6 32.2 26.5 17.1
TinyCLIP ( Ours ) ViT-39M/16 6 512 39+19( 2.1 × ) 9.5( 2.2 × ) 1,469( 1.8 × ) YFCC-15M 63.5 84.4 66.7 54.9 38.9
TinyCLIP ( Ours ) ViT-8M/16 3 256 8+3( 11.3 × ) 2.0( 10.3 × ) 4,150( 5.1 × ) YFCC-15M 41.1 62.3 42.3 36.2 21.5
Training data: 400M







Florence [72] DaViT-5M 6 256 5+5 1.1 2,980 LAION-400M 45.0 61.2 41.5 36.2 20.9
TinyCLIP ( Ours ) DaViT-5M 6 256 5+5 1.1 2,980 LAION-400M 50.0 66.2 48.5 40.7 24.5
CLIP [46] ResNet-101 12 512 56 + 38 12.8 1,161 WIT-400M 62.2 78.1 59.2 49.3 30.7
CLIP [46] ResNet-50 12 512 38 + 38 9.1 1,549 WIT-400M 59.6 81.2 58.2 50.8 28.3
TinyCLIP ( Ours ) ResNet-30M 9 512 30+29( 1.3 × ) 6.9( 1.3 × ) 1,811( 1.2 × ) LAION-400M 59.1 81.1 61.2 52.7 33.9
TinyCLIP ( Ours ) ResNet-19M 6 512 19+19( 2.0 × ) 4.4( 2.1 × ) 3,024( 2.0 × ) LAION-400M 56.4 76.2 58.3 48.9 30.9
OpenCLIP [21] ViT-B/32 12 512 88 + 38 7.4 2,452 LAION-2B 65.7 84.7 66.8 56.9 39.3
CLIP [46] ViT-B/32 12 512 88 + 38 7.4 2,452 WIT-400M 63.2 80.1 59.8 51.2 30.6
OpenCLIP [21] ViT-B/32 12 512 88 + 38 7.4 2,452 LAION-400M 62.9 79.3 62.0 53.3 35.4
TinyCLIP ( Ours ) ViT-61M/32 9 512 61+29( 1.4 × ) 5.3( 1.4 × ) 3,191( 1.3 × ) LAION-400M 62.1 78.6 63.3 53.9 35.9
TinyCLIP ( Ours ) ViT-40M/32 6 512 40+19( 2.1 × ) 3.5( 2.1 × ) 4,641( 1.9 × ) LAION-400M 59.7 77.3 58.9 49.8 33.1
[1.1pt/6pt] TinyCLIP ( Ours ) ViT-63M/32 auto auto 63+31( 1.3 × ) 5.6( 1.3 × ) 2,905( 1.2 × ) LAION-400M 63.9 83.2 64.4 55.5 37.6
TinyCLIP ( Ours ) ViT-45M/32 auto auto 45+18( 2.0 × ) 3.7( 2.0 × ) 3,682( 1.5 × ) LAION-400M 61.4 80.9 62.2 52.8 34.7
TinyCLIP ( Ours ) ViT-22M/32 auto auto 22+10( 3.9 × ) 1.9( 3.9 × ) 5,504( 2.2 × ) LAION-400M 53.7 71.3 52.0 44.4 28.3
[1.1pt/6pt] TinyCLIP ( Ours ) ViT-63M/32 auto auto 63+31( 1.3 × ) 5.6( 1.3 × ) 2,909( 1.2 × ) LAION+YFCC-400M 64.5 84.9 66.0 56.9 38.5
TinyCLIP ( Ours ) ViT-45M/32 auto auto 45+18( 2.0 × ) 3.7( 2.0 × ) 3,685( 1.5 × ) LAION+YFCC-400M 62.7 80.3 63.9 54.0 36.7


表 1: 与最先进的方法进行比较。 文本编码器的体系结构是 Transformer [55] 。 “自动”表示自动重量继承,我们的其他模型使用手动重量继承。

4.2 与最先进的模型进行比较

我们将TinyClip与TAB中的最新模型进行比较。 1 。 报告了对Imagenet-1K [7] ,Flickr30k [44] 和MSCOCO检索 [34] 的零射门评估。

When performing training on YFCC-15M [53] , we use affinity mimicking and manual weight inheritance to distill OpenCLIP ViT-B/16 [21] , whose zero-shot performance ImageNet上为70.2%。 通过遗传一半的参数,我们的TinyClip VIT-39M/16可以在Imagenet上获得63.5%的零光精度,超过原始的夹子VIT-B/16 [46] 25.9%。 此外,当将图像编码器压缩到具有256个尺寸的10层和具有256个尺寸的3层的文本编码时,TinyClip vit-8m/16仍然超过夹子vit-b/16 [46] 。 %使用 11.3 × 更少的参数,并且运行 5.1 × 更快。

When conducting training on LAION-400M [50] , we distill three different models, i.e. , Florence DaViT [72, 8] , CLIP ResNet [46] , and OpenCLIP ViT-B/32 [21] . 结果选项卡。 1 演示了我们方法的功效。 更具体地说,我们的TinyClip davit-5M可在ImageNet上的原始模型和5.0/4.5%的图像到文本检索中的闪烁和MSCOCO分别提高5.0%。 值得注意的是,这是一个仅使用10M参数来实现Imagenet上50.0%精度的微小语言图像预训练的模型。

对于剪辑重新系统,TinyClip-30M仅在第一阶段接受4个时期的训练,从原始模型继承了75%的参数。 结果表明,ImageNet上TOP-1精度的略有降低,但是 在检索任务中的提高了2%。 TinyClip Resnet-19m继承了30m型号的权重,并经过12个时期的训练。 它将参数减少了50%,同时获得了 2 × 推理速度提升。 但是,由于参数的大幅减少,它在ImageNet上的性能下降了2.7%。

对于OpenCLIP ViT-B/32,我们使用我们的亲和力模拟方法,结合手动或自动权重继承对其进行蒸馏。 我们设计了一个三阶段渐进式蒸馏,其中每个阶段将模型压缩25%。 这三个阶段分别训练了6、16和16个epochs。 在手动继承中,TinyCLIP ViT-61M/32获得了与OpenCLIP ViT-B/32 [21] 相当的性能,同时将参数减少了29%。 另一方面,自动继承获得了比手动继承更好的结果。 例如,TinyCLIP ViT-63M/32在分类和检索任务上的性能都比手动继承的ViT-61M/32模型高出 1%以上。 当自动压缩模型到 3.9 × 时,TinyCLIP ViT-22M/32获得了5,504的最高推理吞吐量,并达到了53.7%的top-1精度。 由于YFCC-15M包含高质量的图像-文本对,如果用它来替换部分LAION数据,我们的方法可以获得额外的改进,尤其是在检索任务上。

4.3 消融研究

亲和力模拟的影响。 如表 2 所示,我们提出了四种不同的交互模式。 亲和力模拟 1 d i s t i l l )在ImageNet [7] 上top-1精度方面比对比损失 0 高出2.1%。 在视觉-语言亲和力空间中的对齐带来了更多相似性信息。 交叉模态交互的精度比亲和力模拟低0.2%。 在这种模式下,学生图像和文本的嵌入功能没有任何互动,但是它们与老师的嵌入空间保持一致。 由于缺少使学生的形象和常见嵌入空间中的文本特征损失的损失,因此单态互动的精度较低。

Interaction Mode Loss Formula Top-1 Acc
Contrastive loss [46] 0 = C E ( < I s , T s > , ) 53.4 %
Affinity mimicking 1 = C E ( < I s , T s > , < I t , T t > ) 55.5 %
Cross modalities 2 = C E ( < I s , T t > , < I t , T t > ) 55.3 %
3 = C E ( < I t , T s > , < I t , T t > )

4 = C E ( < I s , I t > , )
Single modality 5 = C E ( < T s , T t > , ) 19.2 %


表2: 图像 I 和文本 T 的信息的相互作用在学生和教师模型中的方式。 下标 s t 分别表示学生和老师。 是一个身份矩阵。 C E 是交叉熵函数。 TinyClip-Vit-40M/32通过相互作用模式和手动重量继承在Laion-400m [50] 上进行1个时期的训练。 报告了Imagenet [7] 上的零射击精度。

图4: 每一层的输入和输出嵌入的余弦相似性,以及ImagEnet [7] 上的零射击精度,删除用于OpenCLIP LIPP VIT-B-32 的层后[21,46] 在LAION-2B [49] 上预估计。

Weight Inheritance IN-1K Flickr30k MSCOCO
top1 acc (%) I T@1 T I@1 I T@1 T I@1
None 37.8 50.2 33.4 29.7 16.6
Manual 54.0 70.4 52.9 46.5 29.3
Automatic 54.9 73.5 55.9 47.9 30.8


表3: 手动继承 vs。 自动继承。 模型Openclip vit-b/32 [21] 被50%压缩,在Laion-400m 上进行蒸馏[50] 1个时期。

体重遗传的影响。 我们验证了TAB中提出的两种重量继承的功效。 3 。 与不使用权重继承的模型相比,手动继承带来了 16.2 % Imagenet [7] 的精度提高。 自动重量遗传可以进一步提高准确性0.9%。 在图像文本检索上,自动继承的改进相对较高, 即。

语言图像模型的冗余。 我们通过删除层来分析图像编码器和文本编码器的冗余和文本编码器的冗余 [6,2,26] ,并通过删除层来分析零摄像机的精度。 如图 4 所示,我们观察到余弦相似性和准确性之间的高相关性。 与图像编码器相比,文本编码器具有较高的余弦相似性。 它显示文本编码器的冗余比图像编码器的冗余高。 因此,可以在没有明显的性能下降的情况下实现沿深度维度的文本编码器。

我们进一步探讨了提议的自动重量遗传的冗余。 As shown in Fig. 5 , for width analysis, it is observed that the embedding channels of the text encoder experience only a marginal reduction ( e.g. , 512 511), whereas the embedding channels of the image encoder are reduced to a greater extent (e.g., 768 526). 关于深度分析,观察到可以从文本编码器中删除大部分MHA层和FFN通道,表明其中的冗余。 这一发现表明,可以沿宽度维度压缩图像编码器,而文本编码器可以沿深度维度压缩。

图5: 在隐藏维度,注意力头和MLP中间维度上以50%稀疏性的可学习面膜可视化。 删除红色的块。 原模型为 OpenCLIP ViT-B/32 [21]

教师模型的影响。 我们研究了哪种模型更适合权重继承。 如表 4 所分析,强大的教师模型并不一定能保证权重继承获得更好的结果。 相反,架构相似且性能更高的教师模型是更好的选择。 例如,虽然 ViT-H/14 的性能排名最高,但在权重继承方面却落后于其他模型。

Pretrained Teacher Inherited Student
Teacher Model Acc.(%) Ratio Acc.(%)
w/o weight inheritance - 0 36.2
CLIP ViT-B/32 [46] 63.2 59 / 126 52.4( +16.2 )
OpenCLIP ViT-B/32 [21] 62.9 59 / 126 53.5( +17.3 )
OpenCLIP ViT-B/16 [21] 67.1 59 / 124 52.8( +16.6 )
OpenCLIP ViT-L/14 [21] 75.3






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