MixA-Q突破Swin瓶颈:混合精度激活量化超越SparseViT,PTQ/QAT双场景实战1.35×无损提速

机器学习算法图像处理

picture.image

精简阅读版本

本文主要解决了什么问题

    1. 视觉Transformer(特别是Swin Transformer)在处理高分辨率图像时计算开销大,导致实时应用出现延迟瓶颈的问题。
    1. 现有激活剪枝方法需要重新训练、在高剪枝率下精度显著下降、对分布外输入鲁棒性差等局限性。
    1. 传统量化方法在整个网络中使用均匀位精度,忽略了层内激活稀疏性,无法充分利用激活值的自然稀疏特性。
    1. 在自动驾驶等安全关键应用中,模型对分布外输入(如雾天、雨天等恶劣天气条件)的鲁棒性不足。

本文的核心创新是什么

    1. 提出MixA-Q混合精度激活量化框架,利用层内激活稀疏性,为重要性较低的窗口分配较低的位宽,为重要窗口保持高精度。
    1. 设计双分支Swin模块架构,支持高低精度窗口的分离计算,可与大多数量化感知训练(QAT)和训练后量化(PTQ)方法集成。
    1. 引入稀疏感知量化自适应方法(SAQA),结合均匀和压缩率采样算法,提高采样效率并减少微调时间。
    1. 提出动态激活蒸馏方法,在SAQA过程中减少重要区域的量化误差,将量化W4A4模型的mAP提升0.7%。
    1. 将混合精度量化与激活剪枝结合,在追求高计算节省时避免因激进剪枝导致的信息损失。

结果相较于以前的方法有哪些提升

    1. 在PTQ配置下实现了无需训练的1.35倍计算速度提升,且不损失精度。
    1. 通过QAT实现了无损的1.25倍速度提升,优于均匀位宽量化方法。
    1. 结合激活剪枝后,实现了仅mAP下降1%时的1.53倍速度提升,在相同计算成本下优于纯激活剪枝方法。
    1. 在分布外输入测试中,MixA-Q比激活剪枝方法表现出更好的鲁棒性,最坏情况下性能退化更小。
    1. 在COCO全景分割任务上,MixA-Q在≤1%的PQ下降下实现了1.25倍的加速,且相对于SparseViT的性能提升比在目标检测任务上更明显。

局限性总结

    1. 在相对计算成本较低(≤0.75)的情况下,纯MixA-Q的性能不如激活剪枝方法,需要结合剪枝才能获得更好的性能-效率权衡。
    1. 允许在后续块中将先前压缩的窗口提升到高精度并没有带来明显改善,甚至可能导致略微更差的性能。
    1. 直接从浮点模型开始进行SAQA,其mAP表现不如基于在W4A4上量化后的模型进行SAQA,表明联合训练两个激进量化的分支会导致模型收敛次优。
    1. 虽然MixA-Q对分布外输入的鲁棒性优于激活剪枝方法,但在恶劣天气条件下仍存在一定的性能退化。
深入阅读版本

导读

在本文中,作者提出了MixA-Q,一个混合精度激活量化的框架,该框架利用层内激活Sparse性(激活剪枝方法中广泛探索的概念)来实现基于窗口的视觉Transformer的高效推理。对于给定的均匀位宽量化配置,MixA-Q将Swin块内的批量窗口计算分离,并为重要性较低的窗口的激活分配较低的位宽,从而在模型性能和效率之间取得更好的平衡。作者引入了一种双分支Swin块,该块以高精度和低精度分别处理激活,使得MixA-Q可以无缝集成到大多数量化感知训练(QAT)和训练后量化(PTQ)方法中,或通过简单修改实现。在COCO数据集上的实验评估表明,MixA-Q在PTQ配置下实现了无需训练的1.35倍计算速度提升,且不损失精度。通过QAT,MixA-Q实现了无损的1.25倍速度提升,并通过引入激活剪枝实现了仅mAP下降1%时的1.53倍速度提升。值得注意的是,通过减少重要区域的量化误差,作者的Sparse感知量化自适应方法将量化W4A4模型(权重和激活均以4位精度)的mAP提升了0.7%,将量化退化降低了24%。

  1. 引言

Swin Transformer [22] 是一种具有代表性的视觉Transformer,在各种视觉感知任务中表现出良好的泛化能力,特别是在目标检测和分割等密集预测任务 [3] 中。虽然它通过引入层次结构和滑动窗口机制改进了传统 ViT [8] 的二次复杂度,但自注意力操作仍然计算密集。

随着高分辨率成像技术的最新进展,模型能够处理更丰富的视觉信息,从而在密集任务上提升了性能。然而,这也带来了计算开销的增加,导致实时应用(如自动驾驶)出现延迟 Bottleneck 。因此,降低与激活相关的计算成本变得日益重要。为了应对视觉Transformer和高分辨率输入所引发的计算挑战,激活剪枝和量化是两种能够以可接受的性能下降来提高效率的有效方法。

实际图像表现出自然Sparse性,因为图像中的所有像素并非都重要。激活剪枝是一组利用这种激活Sparse性通过在运行时选择重要性较低的 Token [21]或Transformer窗口来提高延迟性能的方法,并跳过与之相关的计算。SparseViT[2]是像Swin Transformer这样的基于窗口的ViT的代表性工作,在几乎不损失精度的前提下实现了良好的延迟提升。然而,激活剪枝方法存在一些局限性:

  • • 需要重新训练以使模型适应剪枝后的激活值。
  • • 在高剪枝率下,准确率显著下降。
  • • 性能很大程度上依赖于精确的窗口选择,而对于Out-OfDistribution (OOD)输入,这无法得到保证。这可能限制了它们在安全关键型应用中的部署。

另一方面,量化是一种有效且普遍的压缩方法,通过降低权重和激活值的表示精度来降低模型的计算成本。虽然大多数量化方法在整个网络中使用均匀位精度,但现代硬件越来越多地支持多比特精度,从而催生了混合精度量化(MPQ)方法。大多数先前MPQ方法的关键洞察在于,机器学习模型中的不同层对最终输出的贡献不同,对量化噪声的鲁棒性也不同。然而,它们通常忽略了层内激活Sparse性,而专注于层间位宽分配。这为从混合精度量化角度利用激活Sparse性提供了另一个维度:作者不是跳过对不重要区域的计算,而是可以用较低的位宽对其进行量化。

在本文中,作者将激活Sparse性 Aware 从激活剪枝引入量化领域,并提出了一种名为MixA-Q的混合精度激活量化框架,用于Swin Transformer。Swin Transformer的关键特征在于特征图被划分为多个局部窗口,用于批量多头注意力机制[22]。图1展示了作者如何利用Swin Transformer的这一特性以及局部窗口间激活的空间Sparse性来降低计算成本。MixA-Q使用特征图的L2范数,为重要的前景窗口分配高比特宽度,而将其余部分保留在低比特宽度。作者采用进化搜索来优化逐层压缩率,考虑不同的计算成本和激活压缩敏感性。在追求高计算节省目标的情况下,MixA-Q可以结合激活剪枝,以实现比纯混合精度或剪枝方法更好的性能。

picture.image

作者的主要贡献总结如下:

    1. 作者提出了一种针对基于窗口的视觉Transformer(ViT)的新型混合精度激活量化框架,该框架研究层内激活Sparse性,以实现量化模型的推理效率。
    1. 作者提出了一种双分支Swin模块架构,用于替换Swin Transformer中的Swin模块,以实现基于窗口的注意力的混合精度执行。通过这种架构,MixA-Q可以与大多数量化感知训练(QAT)和训练后量化(PTQ)方法进行轻微修改即可集成,使其在应用方面具有灵活性。
    1. 作者采用Sparse感知量化自适应方法(源自SpraseViT [2])以适应混合精度激活Sparse性。通过结合作者的均匀和压缩率采样算法,作者提高了采样效率并减少了所需的微调时间。
    1. 当与量化感知训练QAT方法集成时,作者展示了MixA-Q通过动态激活蒸馏在Sparse感知量化自适应过程中减少了重要区域的量化误差。
    1. 与直接在量化模型上应用激活剪枝相比,作者的混合精度方法无需训练即可应用,并且对于窗口选择不准确的外部分布(Out-Of-Distribution, OOD)输入更加鲁棒。

作者在COCO [17]数据集上通过将MixA-Q与QAT和PTQ方法相结合来评估MixA-Q。MixA-Q在PTQ配置下无需训练即可实现无损的1.35倍计算速度提升。在超低比特宽度(4比特)下,作者将MixA-Q与QAT方法相结合,通过引入激活剪枝实现了无损的1.25倍速度提升,同时仅使mAP下降1%,实现了1.53倍速度提升。此外,通过动态激活蒸馏(详见第4.1.2节),作者的Sparse感知量化自适应方法将量化W4A4模型(权重和激活均采用4比特精度)的mAP提升了0.7%,将量化退化降低了24%。

  1. 相关工作

2.1. 视觉Transformer

视觉Transformer(ViT)将自然语言处理(NLP)中的自注意力机制[29]应用于图像处理[8]。虽然ViT在图像分类任务上表现出色,但在目标检测等密集预测任务上面临挑战。Swin Transformer[22]引入了层次结构和移位窗口机制,以高效处理高分辨率图像。其与图像尺寸呈线性计算复杂度的特性,以及在目标检测和分割等密集任务上的优异表现,使其成为广泛应用于计算机视觉任务的 Backbone 模型[3, 33]。

2.2. 模型量化

模型量化旨在通过降低权重和激活值的精度来减少机器学习模型的计算和内存需求。通过重新训练网络并允许模型补偿量化误差,量化感知训练(QAT)方法可以实现非常具有竞争力的量化性能。在图像分类任务中,最先进的QAT方法[14, 19]在超低精度(4位)下实现了比原始浮点模型更高的准确率。由于QAT方法需要较高的资源和时间消耗,因此PTQ方法更受密集预测任务[15, 20]和大语言模型(LLMs)[18]的青睐。许多先前的PTQ方法[25, 26]在卷积神经网络(CNNs)上取得了令人印象深刻的结果。最近,许多研究工作也开始探索PTQ方法在图像分类和目标检测任务中的ViTs应用,例如RepQ[15]和EQR[34]。

2.3. 混合精度量化

与旨在减少量化误差的均匀位量化不同,混合精度量化(MPQ)通过为激活值和/或权重分配不同的位宽,以实现更好的精度和性能权衡。现有的混合精度量化方法可分为基于搜索的方法[31]和基于准则的方法[6, 7, 28]。这些工作中的大多数专注于权重的混合精度量化,其中一些[5, 23]仍使用均匀位对激活值进行量化。对于激活值的混合精度量化,Kim等人[12]发现位选择引起的激活值不稳定性会显著影响性能,并提出为不同层的激活值位选择训练元网络。PMQ[32]通过根据注意力分数调整 Token 的位分配,节省了注意力层后MLP的计算。Granular-DQ[30]在超分辨率任务中根据不同块的信息密度动态量化。

2.4. 激活剪枝

对计算量较少的区域进行剪枝可以提高延迟和内存消耗,而不会明显降低精度。由于注意力机制本身的Sparse性,针对ViT的token剪枝方法已被广泛研究,包括使用门控网络[13,27]、注意力分数[9,16]等。SparseViT[2]在密集预测任务上剪枝Swin Transformer的局部窗口,并取得了具有竞争力的性能。在激活剪枝中,被认为重要性较低的窗口或token会被剪枝,这意味着对于某些层,这些窗口或token上的计算会被跳过,而直接将前几层的特征传递下去。

  1. 混合精度激活量化

在本节中,作者介绍了整体的MixA-Q框架。在该框架内,作者探讨了激活剪枝在混合精度激活量化的适应性。作者不是剪枝不重要的时间窗口或 Token ,而是通过低精度分支处理它们,从而在不丢失太多信息的情况下节省计算复杂度。

3.1 从剪枝到混合精度

在深入探讨MixA-Q细节之前,作者首先回答这个问题:

为什么作者需要混合精度激活量化,如果作者可以直接在量化模型上应用激活剪枝方法来进一步优化它呢?这是因为,与跳过不重要区域的计算相比,保留这些区域在较低精度下有几个优势:

  • • 混合精度激活量化不会改变网络的计算流程,因此可以在无需训练的情况下与参数量化方法(PTQ)相结合。在高剪枝率下,大多数激活剪枝方法由于剧烈的信息损失而遭受明显的精度下降。在这种情况下,在低精度下保留一些不那么重要但相关的窗口是有益的。更多细节将在第3.4节和第4.1.1节中讨论。
  • • 激活剪枝方法的鲁棒性依赖于简单的窗口/ Token 选择标准[2]或轻量级层[21]。在分布外输入的情况下,例如雾天街道,当窗口/ Token 选择不准确时,激活剪枝方法可能会由于剪枝重要区域而遭受性能急剧下降。另一方面,MixA-Q在最坏情况下的性能由低精度分支下界所限制。作者将在第4.1.3节进一步研究这一主张。
  • • 通过仅使用重要的激活更新模型,MixA-Q可以在动态激活蒸馏(更多细节见第4.1.2节)之外减少模型的总体量化误差,并提高延迟性能。因此,作者基于SparseViT [2]中提出的窗口级激活剪枝方法,将其适配到Swin Transformer [22]的混合精度激活量化框架中。

用MP执行替换剪枝 Swin Transformer将特征图分割为非重叠的图像窗口(例如

),并对这些窗口执行多头自注意力(MHA)以提取局部特征。每个MHA后跟一个层归一化(LN)和 FFN (FFN)层。利用Swin Transformer的基于窗口的注意力设计,SparseViT首先收集具有最高重要性分数的窗口中的特征,然后在选定的窗口上运行计算,最后将它们分散回原始特征图。如图2b所示,在某个时刻剪枝某些窗口后,特征停止进一步处理,例如"D1"在第二块被剪枝后仅被转发。

picture.image

MixA-Q不是跳过对不重要窗口的计算,而是通过分配较低的位宽来压缩它们(在图2a中标注为"Attn Low")。通过这种方式,网络对这些窗口的原始计算仍然保留,但它们的计算成本降低了。

3.2. 双分支Swin模块

为了支持高低精度窗口的分离计算,作者在图3中引入了双分支Swin模块,该模块替换了Swin Transformer中的原始Swin模块。每个双分支Swin模块以激活窗口序列作为输入。与SparseViT类似,每个窗口的重要性得分定义为其L2范数。在每个阶段中,重要性得分仅在第一个Swin模块执行之前计算一次,然后在整个阶段中共享。作者将执行高精度窗口计算的层称为高精度分支,将执行低精度窗口计算的层称为低精度分支。给定一个压缩率(详见第3.3节),作者收集重要性得分最高的那些窗口,将它们输入到高精度分支,然后将其余窗口输入到低精度分支。

picture.image

为了解决分离后的分布偏移问题,高精度分支和低精度分支的层归一化被复制。复制后,层归一化内的参数可以在微调(QAT)或重新参数化(PTQ)期间独立更新。另一方面,多头注意力层(MHA)和 FFN (FFN)被创建为影子层,这些影子层共享相同的底层权重和偏差,同时高精度和低精度分支可以保持独立的步长和零点。在训练过程中,来自高精度和低精度分支的影子层的梯度将通过同一组参数 Stream ,并由Pytorch的自动微分引擎累积。

3.3. 压缩率进化搜索

遵循SparseViT [2]的设计,每两个连续的swin模块(一个带有移位窗口,一个不带)被分配一个固定的压缩率,该压缩率是低精度分支应处理的窗口比例。压缩率是超参数,可以通过进化搜索进行优化(详见第3.3节)。寻找最优压缩率的问题可以表述为一个双目标优化问题:

  • • 目标:计算节省,mAP(平均精度均值)
  • • 变量:每个阶段的压缩率

计算节省的计算量表示通过应用压缩率所节省的比特操作的比例。mAP是在COCO验证数据集上的平均精度均值。在Swin-Tiny的情况下,模型中的12个swin块有6种压缩率。为了缩小搜索空间,作者将压缩率离散化为

。作者使用pymoo[1]中实现的NSGA-II[4]算法来迭代搜索最优比率。

针对量化感知训练(PTQ)方法,在进化搜索过程中使用相同的量化模型进行评估。然而,对于量化感知压缩(QAT)方法,在改变压缩率后需要微调模型,这使得搜索压缩率变得不适用。因此,作者采用一种Sparse感知量化自适应(SAQA)方法,该方法与SparseViT [2]中引入的Sparse感知自适应(SAA)类似。首先,作者使用均匀位QAT方法在高精度下量化模型。然后,通过在每次迭代中随机采样一组压缩率进行SAQA,即随机比例的激活分配到低精度分支,进行模型训练。在SAQA之后,模型无需重新训练即可对不同压缩率配置实现良好的估计性能。

均匀和压缩率采样 为了使进化搜索和SAQA更加样本高效,作者提出了一种名为均匀和压缩率采样的算法。SparseViT使用一种简单的采样算法,其中每层的比例从

中均匀采样。这导致模型的平均剪枝率呈现缩放的Irwin-Hall分布(均匀和分布),即以40%为中心的钟形分布。这使得进化搜索的采样效率低下。此外,在适应模型中,对于远离中心的压缩率,其估计值不准确。在作者的均匀和率采样中,作者首先从预定义范围内随机采样一个标量值

,表示所有块的目标压缩率之和。给定

,作者接着使用Dirichlet分布采样各个压缩率

,确保它们的和被约束为

。为了对每个比例施加上限,作者应用了一种拒绝采样准则:如果任何

超过0.8,则丢弃采样集,并重复该过程,直到获得有效集。更多细节可以在附录6.1中找到。

3.4. 激活剪枝的整合

激活剪枝和混合精度量化并非相互排斥。与混合精度激活量化相比,基于剪枝的方法在激活Sparse性利用方面具有更高的效率,但代价是更多的信息损失。对于每个较不重要的窗口,基于剪枝的方法通过跳过它们来节省100%的计算量。另一方面,混合精度激活量化通过将精度降低到比特宽度的二分之一来节省50%的计算量。在追求高计算节省目标的情况下,通过剪枝最不重要的窗口,同时将较不重要但仍相关的窗口保持在较低精度,可以有效地利用激活Sparse性,同时避免因激进剪枝导致的信息损失。

基于这一见解,作者在MixA-Q中集成了激活剪枝功能,该功能可在与量化感知训练QAT方法集成时被激活。当采用激活剪枝时,除了压缩率之外,每个相邻的两个Swin模块还会被分配一个额外的剪枝率。在窗口选择阶段,重要性得分最低的窗口将被剪枝,并跳过对其的计算,如图2b所示。然后,MixA-Q继续分离其余窗口,并以两种精度进行处理。

  1. 实验

在本节中,作者通过分别将MixA-Q与QAT和PTQ方法相结合来评估MixA-Q的性能。作者通过评估 Backbone 网络(backbone)的位运算(BOPs)的相对计算成本或加速比来评估MixA-Q在计算方面的节省,因为MixA-Q仅应用于 Backbone 网络。

4.1. 在COCO上的QAT结果

设置 作者将MixA-Q与QAT方法OFQ[19]集成,用于量化具有SwinTiny[22] Backbone 网络的Mask R-CNN[11]。使用COCO[17]数据集进行训练和评估。作者首先使用OFQ在W4A4(权重和激活值均采用4位精度)上量化浮点模型。该W4A4 OFQ模型作为评估作者混合精度激活量化方法MixA-Q和激活剪枝方法SparseViT[2]的 Baseline 模型。在应用MixA-Q时,重要性较低的窗口被分配2位宽度。

本节中报告的W4A4 OFQ模型下SparseViT的所有指标,作者遵循SparseViT [2]论文中报告的流程。作者首先训练具有Sparse性感知的适应模型,并使用进化搜索来寻找最优剪枝比例,最后对模型进行微调。作者在W4A4 OFQ模型上找到的最优剪枝比例以及应用剪枝后的性能退化情况与[2]中报告的指标一致。

4.1.1. 分析与比较

picture.image

首先,作者在图4中展示了不同方法的Pareto前沿,以揭示它们在不同相对计算成本(简称相对成本)下的性能变化,这里的相对成本以比特操作(BOPs)为单位。从图中可以看出,MixA-Q和SparseViT的精度与性能权衡优于统一比特的OFQ。在较高的相对成本下(≥0.8),MixA-Q在mAP方面表现优于其他工作。值得注意的是,在W4A4中,MixA-Q的mAP高于OFQ模型。这一现象的原因将在第4.1.2节中进一步探讨。然而,在相对成本≤0.75时,作者可以观察到SparseViT的mAP开始高于MixA-Q,这是由于其更高的Sparse性利用效率,如第3.4节所述。为了利用激活剪枝的优势同时避免剧烈的信息损失,作者结合了30%整体激活剪枝的MixA-Q。如图4中的紫色点所示,结合激活剪枝的MixA-Q在相对成本(≤0.7)下优于纯激活剪枝方法SparseViT。作者还报告了高相对成本(≥0.75)下的数值结果(见表1)和低相对成本(≤0.7)下的数值结果(见表2)。如表1所示,MixA-Q实现了1.24倍的加速,并且比W4A4的OFQ模型略好mAP。与精度均匀降级到3比特的W4A3 OFQ模型相比,作者实现了更高的1.35倍加速,且mAP损失不到1%(W4A3 OFQ为1.7%)。从表2可以看出,通过结合激活剪枝,MixA-Q实现了1.53倍的加速,且mAP损失仅为1%。为了实现更高的1.66倍和1.82倍加速,结合激活剪枝的MixA-Q在相同相对成本下始终实现了高于SparseViT的mAP。这表明保留一些不那么重要但仍相关的低精度窗口有助于恢复因激进剪枝造成的部分性能下降,并在可比的相对成本下实现更好的mAP。

picture.image

picture.image

4.1.2. 动态激活蒸馏

在将SAQA应用于W4A4 OFQ模型后,作者的MixAQ模型显示出mAP的提升,如图4和表1所示。在本节中,作者探讨了这种现象背后的原因。作者确认这是由作者的SAQA带来的好处,因为mAP的提升无法通过继续训练W4A4 OFQ模型或应用来自SparseViT的基于剪枝的SAA来观察到。

从表3中作者可以观察到,在应用SAQA后,模型在后期阶段具有更高的平均信噪比(mSQNR↑),但在早期阶段mSQNR较低。作者将这种现象归因于SAQA过程中,只有来自重要窗口的梯度能够通过高精度(4位)分支。这一过程引导模型在训练期间专注于减少重要窗口的量化误差。作者将这一过程称为动态激活蒸馏,因为它从激活中选择重要部分,以更好地更新与量化相关的参数。

picture.image

在图5中,作者展示了应用SAQA后SQNR的变化,这与作者的解释和表3中的结果一致。在早期阶段(阶段O和阶段1),前景窗口的量化噪声减少(红色窗口),但背景窗口的量化噪声增加(蓝色窗口),由于背景窗口数量众多,导致整体SQNR降低。在阶段2和3,更多窗口的量化噪声减少,因为早期阶段的重要窗口对后期阶段的High-Level特征贡献更大,对应表3后期阶段mSQNR的增加。总体而言,SAQA引导模型减少重要窗口的量化噪声,从而提高mAP。

picture.image

4.1.3. 纯激活剪枝的鲁棒性

测试数据集上的表现并非评估方法质量的唯一标准。对于自动驾驶等安全关键系统而言,无论图像失真或天气条件如何,均能检测到物体的能力至关重要。SparseViT依赖于特征的L2范数来有效判断窗口的重要性。然而,在第一阶段,特征图仅依赖于局部块嵌入层,缺乏全局视角,且易受自然图像偏移的显著影响。应用激活剪枝时,若窗口选择不准确,将导致重要部分的剪枝,进而引发灾难性的性能退化。另一方面,尽管作者的MixA-Q也会受到不准确窗口选择的不利影响,但错误压缩窗口的计算并未被跳过,而是以低精度保留。在最坏情况下,即仅以低精度计算重要窗口时,模型的性能仍由低精度分支得到保证。

作者使用COCO-O [24]数据集中的天气场景来评估模型在分布外输入上的鲁棒性,该数据集包含真实世界图像,其中包含在恶劣天气条件下(如雨、雪和雾)的目标。

picture.image

从表4可以看出,尽管SparseViT和MixA-Q在OOD输入上导致更高的衰减率,但经过SparseViT剪枝的模型其退化率比MixA-Q更差。这与作者在3.1节中的主张一致。在图6中,可视化了SparseViT模型在OOD样本上的窗口选择。与图1相比,SparseViT的窗口选择很大程度上被雾气干扰。因此,许多重要的窗口被错误剪枝,导致了作者观察到的性能退化。在最坏情况下,SparseViT的退化率甚至高达4.34%,而MixA-Q为30.6%。

picture.image

4.2. 在COCO全景分割上的QAT结果

作者进一步在COCO全景分割数据集上评估MixA-Q。作者使用带有Swin-Tiny Backbone 网络的Mask2former,QAT设置与第4.1节相同。如图7a所示,SAQA后的性能提升(如第4.1.2节所述)仍然可见,并在

的PQ下降下实现了

的加速。与目标检测任务相比,MixA-Q在分割任务上相对于SparseViT的相对性能有所提升。在相对成本

时,MixA-Q显著超越了SparseViT。作者推测这是因为全景分割需要对每个像素进行分类(80个"物体"和53个"背景"),这加剧了剪枝引起的性能下降。

picture.image

4.3. PTQ结果在COCO上

设置 作者将MixA-Q与一种典型的PTQ方法RepQ [15]集成。与QAT类似,作者使用带有Swin-Tiny Backbone 网络的Mask R-CNN和COCO数据集进行评估。 Baseline 模型量化为W4A8。使用训练集中的一个随机样本进行校准。在应用MixA-Q时,较不重要的窗口被分配为4位宽度。

RepQ对QKV层和FFN第一层的权重和偏差进行后训练更新。为了与作者的权重共享设置兼容,作者使用完整特征图作为校准数据来初始化高精度和低精度分支的步长,以便两个分支权重的更新保持一致。至于偏差,作者在PTQ中将它们设置为独立。请注意,在进化搜索过程中,作者评估不同的压缩率,而无需重新校准模型。

在图7b中,作者比较了在 Baseline 模型上应用MixA-Q与均匀将模型的激活位宽从8位减少到5位的效果。作者在两个不同的随机校准集上展示了结果。可以看出,与RepQ相比,MixA-Q在计算成本和性能之间始终具有更好的权衡。MixA-Q带来的另一个好处是,5位到7位的位宽大多数通用计算硬件都不支持,而作者的解决方案是基于混合4位和8位精度的。

4.4. 消融研究

从零开始实现SAQA 在第4.1节的实验中,作者在添加低精度分支并开始SAQA之前,先将模型量化为W4A4。在本节中,作者探讨直接在浮点模型中添加低精度分支并开始SAQA是否会产生影响。

从表5可以看出,直接从浮点模型开始进行SAQA,其mAP表现不如基于在W4A4上量化后的模型进行SAQA。鉴于ViT量化的损失函数面高度非平滑[10],作者推测联合训练这两个激进量化的分支会导致模型收敛次优。

picture.image

Windows提升:在MixA-Q中,由于不那么重要的窗口没有被剪枝而是以较低精度保留,因此在后续的块中再次将一些窗口提升到高精度可能是有意义的。然而,根据作者的实验,允许提升先前压缩的激活会导致略微更差(-0.1%)或相同的mAP。作者推测,在一个阶段内窗口的持续计算精度是重要的。

  1. 结论

在这项工作中,作者提出了MixA-Q,一种混合精度激活量化的方法,从混合精度的角度重新审视激活Sparse性,以提高基于窗口的视觉Transformer的效率。MixA-Q动态地为不同窗口分配高低位宽,有效利用层内激活Sparse性。与丢弃对重要性较低窗口的计算的激活剪枝方法相比,MixA-Q以较低精度保留这些计算。这使得MixA-Q能够无训练地集成,并增强了其对分布外(OOD)输入的鲁棒性。在COCO数据集上,MixA-Q在W4A8 PTQ设置中实现了1.35倍的速度提升,在W4A4 QAT设置中实现了1.25倍的速度提升,且不损失精度。通过结合激活剪枝,MixA-Q进一步实现了1.5倍的速度提升,代价是1%的mAP下降。

参考

[1]. MixA-Q: Revisiting Activation Sparsity for Vision Transformers from a Mixed-Precision Quantization Perspective

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论