一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)

发布于 2024-4-19 10:54
浏览
0收藏

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

论文链接 : ​​https://arxiv.org/pdf/2404.10407​


视觉Transformer(ViT)在计算机视觉领域标志性地实现了一次革命,超越了各种任务的最先进模型。然而,它们的实际应用受到高计算和内存需求的限制。本研究通过评估四种主要的模型压缩技术:量化、低秩近似、知识蒸馏和剪枝,来解决这一挑战。系统地分析和比较了这些技术及其组合在优化ViT以适应资源受限环境方面的效果。全面实验评估表明,这些方法在模型准确性和计算效率之间实现了平衡的折中,为在边缘计算设备上的更广泛应用铺平了道路。

介绍

Transformer,由Vaswani等人引入,以其强大的数据建模能力、可伸缩性以及出色的捕捉长距离依赖性的能力,彻底改变了机器学习。起源于自然语言处理(NLP)领域,取得了机器翻译和文本摘要等方面的成功,Transformer现在将其实用性扩展到计算机视觉任务,如图像分类和目标检测。


最近,它们的能力已经在多模态情感分析领域得到了利用,其中它们整合和解释多样的数据流——文字、视觉和声音——以评估情感反应。Transformer的应用还扩展到了医疗保健领域,促进了疾病检测、医学影像分析以及电子健康记录的处理等领域的进步。这些技术在开发预测模型、提高诊断准确性和个性化治疗策略方面至关重要,展示了Transformer对影响患者护理的巨大潜力。


与之前NLP领域的研究不同,该领域的研究人员在长序列中处理softmax-attention的二次复杂度,正如Child等人所指出的,而Vision Transformers(ViTs)处理较短的、固定长度的输入序列。因此,在ViTs中,softmax-attention在总浮点运算(FLOPs)中占比较小,提出了一套独特的优化挑战,并强调了对专门的模型压缩策略的需求。


Vision Transformer(ViT),这是一种源自NLP方法学的创新架构,已经证明了将图像 patch转换为由Transformer块处理的 token 序列可以实现,有时甚至超越传统的CNN架构的准确性。这一突破已经催生了图像处理领域的一次范式转变。


然而,ViT的高性能伴随着数量庞大的参数集,数量达到数亿个,在推理过程中会产生相当大的内存和计算开销。因此,对于ViTs的模型压缩技术的开发和改进已经变得至关重要,尤其是在工业应用中,效率和资源管理至关重要。


与深度学习模型的研究相比,Vision Transformers的模型压缩领域仍然相对未被开发。本文系统地探讨了ViTs的模型压缩策略,重点关注量化、低秩近似、知识蒸馏和剪枝。通过深入的比较分析,评估了这些技术对模型效率的个体和集体影响。研究还探讨了结合不同方法的潜在协同效应,旨在提高性能。广泛的实验结果证实,本文提出的方法有助于在维持准确性和提高计算效率之间取得良好的平衡,这对于实际部署至关重要。

相关工作

量化

量化已经成为促进神经网络高效推理的基石技术。这个过程涉及将网络转换为低比特表示,从而减少计算需求和内存占用,并最小化对模型性能的影响。这项技术的关键方面是确定权重的适当裁剪范围。Krishnamoorthi建议通过评估层的卷积滤波器内的所有权重来确定这个范围,而Shen等人则采用了一种分组量化方法来处理Transformer。为了减轻量化可能引入的精度损失,提出了量化感知训练(QAT)。QAT包括使用量化模型的浮点表示进行标准的前向和反向传递,然后在每次梯度更新后重新量化模型参数,从而在保留精度的同时利用量化的好处。

低秩近似

Vision Transformer(ViT)利用了自注意力机制,这本质上涉及到二次计算复杂度,这对可扩展性构成了重大挑战。Chen等人指出ViT内部的注意力矩阵本质上具有低秩特性,为复杂度降低提供了机会。在这些注意力矩阵上利用低秩矩阵逼近出现为减少计算成本的有前途的方法。


已经为此目的开发了各种方法,包括基于Nyström的方法、Performer和Linformer,每种方法都具有独特的实现方式,并适用于在微调和验证阶段与预训练的ViT模型进行集成。此外,如Chen等人所建议的,将低秩近似与稀疏注意力机制结合起来,已被证明能产生更精细的逼近,增强了ViT的效率和有效性。

知识蒸馏

知识蒸馏是一种精细的模型压缩技术,其中通过利用教师模型的软标签,训练一个紧凑的“学生”模型来模拟一个更复杂的“教师”模型。这些软标签因其丰富的信息内容而被认为在学生模型中的表现通常优于使用硬标签进行训练的情况。软标签在增强学生学习方面的有效性已被Yuan等人和Wei等人证实。

在这个领域的一个新进展是由Touvron等人引入的Vision Transformers中的蒸馏 token 。这个 token 类似于类 token ,但专门用于捕捉教师的预测,通过自注意机制参与优化蒸馏过程。这些定制的方法已经证明在传统的蒸馏技术上取得了相当大的收益,突显了针对Transformer的优化策略的潜力。

剪枝

剪枝是一种被广泛认可的方法,通过减少Vision Transformers的维度复杂性来简化它们的架构。这项技术的核心是为每个模型维度分配一个重要性分数,允许基于这些分数对被认为不太关键的维度进行选择性消除。这种有针对性的减少旨在在保持模型准确性的同时保持稳健的剪枝比例。杨等人提出的维度重分配策略可能被整合到剪枝过程中,进一步提高模型的性能。

有趣的是,研究表明,经过剪枝的模型有时可能会在性能上超过原始模型,这表明剪枝不仅可以简化模型,还可以增强模型的功能。

方法论

量化

基本概念

量化的总体目标是将模型参数(θ)和中间激活图的精度降低到较低的精度格式,例如8位整数,同时最小化对模型泛化性能的影响。这个过程的初始步骤涉及定义一个量化函数,能够将权重和激活图映射到一组离散值。用于此目的的常用函数如下所示:

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

其中,Q代表量化映射函数,r表示实值输入(例如,权重、激活),S是一个缩放因子,是一个整数零点。这种机制被称为均匀量化,确保了结果值的等距间隔。值得注意的是,还存在替代的非均匀量化策略。此外,原始实值r可以通过一种称为反量化的过程从其量化对应项Q(r)近似得出:

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

在量化中,由于量化本身固有的舍入误差,近似值r ̃可能与r不同。量化的一个关键方面是确定最佳的缩放因子S,它有效地将实值r分成离散的段落:

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

后训练量化


后训练量化(PTQ)通过直接调整权重来简化量化过程,而无需进一步进行微调。然而,这种效率可能会导致显著的精度下降,因为量化本身固有的精度损失。


Liu等人观察到,在Transformer架构中将量化应用于LayerNorm和Softmax层时,存在显著的精度下降。Lin等人将这些差异归因于LayerNorm层和注意力映射值中激活值的极化分布。具体来说,LayerNorm层输入中存在显著的通道间变异性(如下图1左侧所示),当采用逐层量化方法时,会产生相当大的量化误差。此外,注意力图中存在大量小值分布,只有稀疏的异常值接近1,这进一步加剧了在均匀量化策略下性能下降的问题。

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

为了解决这些挑战,Lin等人提出了一种新颖的量化方法,利用LayerNorm的二次幂尺度和Softmax层的对数整数Softmax,旨在减轻传统量化方法带来的不利影响。


量化感知训练


直接将量化应用于完全训练好的模型可能会无意中扰动模型参数,导致显著的性能下降。一种有效的策略是使用量化参数重新训练模型,从而引导模型走向更有利的损失。量化感知训练(QAT)是一个突出的技术,可用于此目的。在QAT中,标准的前向和后向过程在浮点表示的模型上执行,但在每次梯度更新后重新量化参数,确保模型适应量化引起的变化。


学习步长量化(LSQ)是该领域的一个进步,它改进了量化器的配置过程,并通过优化量化间隔在量化性能方面设定了新的基准。类似地,DIFFQ引入了一种可微分的模型压缩技术,避免了需要像直通估计器(STE)这样的梯度近似方法。通过使用伪量化噪声,DIFFQ在训练期间实现了量化过程的近似,这是完全可微的,从而更容易地调整权重和量化比特深度。

知识蒸馏

知识蒸馏技术,如软蒸馏和硬蒸馏,促进了复杂的“教师”模型向简单的“学生”模型的知识传输。软蒸馏侧重于最小化教师模型和学生模型的软化对数输出之间的Kullback-Leibler(KL)散度。这正式由蒸馏目标所捕捉:

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

剪枝

Vision Transformers中的剪枝主要集中于通过减少模型的复杂性来减少参数的数量,具体来说是通过调整隐藏层之间的权重核的维度。这个目标可以形式化为:

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

另外,Yu等人采用KL散度来计算重要性分数,重点关注在数据集Ω上具有特定模块和没有特定模块时模型性能之间的差异。这种方法既可以进行层内剪枝,也可以进行跨模块剪枝:

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

其中,qi对应于完整模型的损失,pi对应于去除剪枝权重后的损失。近期的创新引入了更加微妙的重要性评分系统。Tang等人设计了一种评分,反映了每个图像块对最终误差的理论影响,提高了图像块精简的效率。Rao等人结合了局部和全局特征,对 token 的重要性进行了更全面的评估。同样,Yi等人将各种评分综合到一个统一的损失函数中,进一步完善了剪枝过程。

低秩近似

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

鉴于自注意力的低秩性质的正式证明,利用这一属性进行低秩近似成为提高计算效率的战略选择。这种近似旨在保持准确性,同时显著降低时间和空间复杂度,近似为O(n),即使是在与预先存在的或新训练的模型集成时。


一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区


这是因为近似计算是在接收到输入后进行的。存在各种低秩近似的方法,包括基于Nyström的方法,如Nyströmformer和SOFT,它们通过Nyström方法线性化了自注意力。替代的线性化技术,如Linformer 和Performer,以及结合低秩和稀疏注意力机制的策略,进一步提高了近似的准确性。


一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

实验

本节详细比较了应用于Vision Transformers的各种模型压缩技术,包括量化、知识蒸馏、剪枝和低秩近似。此外,还调查了结合这些方法以确定性能指标改善的协同潜力。

实验设置

实验框架建立在Tesla V100-SXM2 16GB GPU上,PyTorch作为主要的代码实现平台。我们的数据集使用范围限于CIFAR-10和CIFAR-100,这是由于计算资源的限制。感兴趣的主要指标包括模型大小和推理速度,承认了准确性和这些效率参数之间的固有权衡。因此,最佳的压缩技术应该在准确性上对模型几乎没有影响,同时在模型大小上有显著的降低,并且在推理速度上有提升。将跨CIFAR-10和CIFAR-100数据集的比较分析结果系统地呈现在下表1和表2中。

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

不同模型压缩方法的比较

在评估模型大小对模型压缩的影响时,我们发现量化和剪枝策略能够在几乎不损失准确性的情况下显著减小模型大小。值得注意的是,量化技术,特别是动态量化,表现出了较高的有效性,将模型大小减小至25倍。


相反,权重剪枝,特别是采用简单的重要性评分,不能实现模型大小和准确性之间的最佳平衡。剪枝率为0.1(表示剪枝了10%的参数)导致与未剪枝的ViT相比,CIFAR-10和CIFAR-100数据集的显著准确性降低。进一步的调查显示,如下图3所示,大多数参数被认为是非常重要的(评分高于0.99),这表明了对于权重剪枝而言,简单形式的重要性评分存在固有的局限性。改进可能来自于整合更复杂的重要性评分或采用像减少输入图像块或精简之类的策略,而不是直接的权重剪枝。

一文详解视觉Transformer模型压缩和加速策略(量化/低秩近似/蒸馏/剪枝)-AI.x社区

在推理速度方面,不同模型压缩策略表现出一系列的改进,以知识蒸馏为中心的方法尤为突出,因其在效率方面的收益。值得注意的是,尽管DeiT基础模型并没有经历显著的尺寸缩减,但其推理速度几乎是标准Vision Transformer(ViT)的两倍,同时几乎保持了准确性。在CIFAR-10数据集上观察到了一个有趣的案例,即DeiT微型配置实现了95.43%的准确率,这个数字与原生 ViT非常接近,但其速度增加了四倍,仅压缩到了原始模型大小的6%。


此外,将Nyströmformer技术应用于ViT展示了准确性和速度之间微妙的平衡,特别受到landmark数量(m)的选择的影响。选择较大的m值会提高近似精度,但会以处理速度为代价。此外,动态量化在CPU平台上对推理速度的改进范围为10-20%,强调了模型压缩在实际应用中的好处,不仅仅是尺寸的缩减。

混合方法的探索

对单个模型压缩技术的考察表明,一种混合方法,结合量化和知识蒸馏的优势,值得进一步研究。特别是当可以接受轻微的准确性降低时,这种组合策略似乎有望优化模型的紧凑性和处理效率。正如表1和表2所示,采用复合方法——将DeiT基础模型与动态量化相结合——显著提高了推理速度,达到了两倍以上的增长,同时将模型的大小减小到原始尺寸的四分之一。在准确性上有可控的权衡,突显了混合方法在速度、大小和性能之间取得平衡的潜力。

结论

本研究致力于对模型压缩技术进行实证调查,旨在增强Vision Transformers(ViTs)的效率和部署可行性。我们对四种主要的压缩方法——量化、低秩近似、知识蒸馏和剪枝——进行了细致的考察,同时回顾了该领域的前沿研究。


通过对CIFAR-10和CIFAR-100数据集进行的比较分析,我们的发现强调了后训练量化和知识蒸馏作为突出策略的有效性。这些方法不仅显著减小了模型大小,还加快了推理时间,同时保持了可接受水平的性能降低。对结合量化和知识蒸馏的协同潜力进行进一步探索揭示了优化的引人注目途径。特别是在CIFAR-10数据集中,这种混合方法显著加快了推理速度——超过基准速度两倍以上——同时将模型大小降低到原始占用空间的四分之一。


从这次全面调查中获得的见解倡导了对模型压缩采取综合多方面的方法。整合不同的压缩方法对于提高Vision Transformers的操作效率具有重大的潜力,为该领域未来研究指明了坚实的方向。此外,本文还可以在交通工程、机器学习、生物工程等领域进一步研究。


本文转自 AI生成未来 ,作者:Feiyang Chen等


原文链接:​​https://mp.weixin.qq.com/s/m7CKpJtitGljjOcY02pwng​

收藏
回复
举报
回复
相关推荐