最近,Transformer在各种计算机视觉应用上取得了显著的性能。与主流卷积神经网络相比,视觉Transformer通常采用复杂的架构来提取强大的特征表示,这在移动设备上更难开发。在本文中提出了一种有效的训练后量化(PTQ)算法,以减少视觉Transformer的存储和计算成本。量化任务可以被视为分别为权重和输入找到最佳低比特位量化间隔。
为了保持注意力机制的功能,作者在传统量化目标中引入了Ranking Loss,该损失旨在保持量化后自注意力结果的相对顺序。此外,作者还深入分析了不同层的量化损失与特征多样性之间的关系,并通过利用每个注意力图和输出特征的kernel范数来探索混合精度量化方案。
在多个基准模型和数据集上验证了所提出方法的有效性,其性能优于最先进的训练后量化算法。例如,可以在ImageNet数据集上使用DeiT-B模型,以大约8-bits量化获得81.29%的Top-1精度。
1、简介
随着在自然语言处理(NLP)任务中的应用,基于Transformer的模型在各种计算机视觉任务中显示出强大的能力,如图像分类、目标检测和图像超分辨率。经过大规模数据的预训练,这些模型通常具有数亿个参数。例如,在ViT-L模型中有307M参数和64GFLOP,这在推理过程中内存和计算都很昂贵。这给这些模型在诸如手机和智能汽车等资源受限的设备上运行带来了巨大挑战。此外,集成基于Transformer的模型的实时计算机视觉应用程序必须满足低延迟要求,以实现高质量的客户体验。因此,迫切需要基于Transformer的模型压缩技术,以便在工业环境中部署。
在诸如剪枝和权重分解的各种压缩方法中,量化方法通过使用较低的权重值比特宽度来压缩神经网络,而不改变模型架构,这对于精心设计的网络架构(如Transformer)特别有用。量化权重和输入可以通过将浮点运算调整为整数或位运算来加快推理速度。在NLP(例如BERT)中,已经有一些基于Transformer的模型的训练感知量化方法。然而,这些方法不是为计算机视觉任务设计的,通常需要额外的训练或微调。此外,在一些场景中,整个训练数据不可用于优化量化模型,边缘设备的训练成本是不可容忍的。
PTQ量化是一种有效的模型压缩技术,它可以直接量化神经网络模型,而无需进行微调。大多数现有的PTQ量化方法是为卷积神经网络或递归神经网络设计的。这些方法没有考虑视觉Transformer的特性,这不完全适合于量化视觉Transformer。然而,视觉Transformer在各种计算机视觉任务中表现出更强的性能。因此,我们有动机探索它们的PTQ量化,以降低存储和计算成本。
在本文中研究了具有较高压缩比和加速比的混合精度的视觉Transformer模型的训PTQ量化方法。Transformer中的量化过程被公式化为用于找到最佳量化间隔的优化问题。特别是,本文的目标是最大化视觉Transformer中全精度输出和量化输出之间的相似性。为了更好地保持注意力机制的功能,作者彻底分析了注意力层和传统层(如MLP)之间的差异。然后,引入Ranking Loss来保持注意力值的相对顺序。
此外,作者建议根据特征多样性(即,由注意力图和输出特征计算的kernel范数)来确定每个层的比特宽度。作者交替地搜索所有层中的权重和输入的量化间隔,以获得最佳量化结果。此外,引入了偏置校正以减小累积量化误差。在几个基准测试上的实验结果证明了本文的算法在实现比现有技术的PTQ量化方法更好的性能方面的有效性。
2、本文方法
在本节中,详细阐述了提出的混合精度PTQ量化方案。给出了线性层的相似度感知量化和自注意力层的Ranking感知量化。此外,还介绍了基于注意力图和输出特征的kernel范数的优化偏置校正方法和混合精度量化方法。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢