P$^2$-ViT: Power-of-Two Post-Training Quantization and Acceleration for Fully Quantized Vision Transformer

2024年05月30日
  • 简介
    Vision Transformers (ViTs)在计算机视觉任务中表现出色,但它们占用内存且计算密集,这使得它们难以在资源受限的设备上部署。为了解决这个限制,先前的研究探索了ViT定制的量化算法,但保留了浮点缩放因子,这会产生不可忽略的重新量化开销,限制了ViT的硬件效率,从而促使更多硬件友好的解决方案。为此,我们提出了第一个基于Power-of-Two (PoT)的后训练量化和加速框架——P$^2$-ViT,以加速完全量化的ViTs。具体而言,我们探索了一种专用的量化方案,以有效地量化具有PoT缩放因子的ViTs,从而最小化重新量化开销。此外,我们提出了粗到细的自动混合精度量化,以实现更好的精度和效率平衡。在硬件方面,我们开发了一个专用的基于块的加速器,具有多个定制的子处理器,分别处理ViTs的不同类型的操作,减轻了可重构开销。此外,我们设计了一种定制的行静态数据流,以抓住我们的PoT缩放因子引入的流水线处理机会,从而提高吞吐量。广泛的实验一致验证了P$^2$-ViT的有效性。特别是,与浮点缩放因子的对应物相比,我们在PoT缩放因子下实现了可比甚至更优的量化性能。此外,我们在GPU的Turing Tensor Cores上实现了高达$\mathbf{10.1\times}$的加速和$\mathbf{36.8\times}$的能量节约,以及高达$\mathbf{1.84\times}$的计算利用率效率,超过了SOTA量化基于ViT的加速器。代码可在\url{https://github.com/shihuihong214/P2-ViT}上获得。
  • 作者讲解
  • 图表
  • 解决问题
    本文旨在解决Vision Transformers(ViTs)在资源受限设备上的内存占用和计算密集度问题,提出了一种基于Power-of-Two(PoT)后训练量化和加速框架P^2-ViT。
  • 关键思路
    P^2-ViT的关键思路是使用PoT scaling factors来量化ViTs,从而减少re-quantization overhead,并且设计了一种基于chunk的加速器和tailored row-stationary dataflow来提高吞吐量。
  • 其它亮点
    本文提出的P^2-ViT框架在实验中表现出良好的效果,包括与浮点scaling factors相比可实现可比甚至更好的量化性能,与GPU的Turing Tensor Cores相比可实现高达10.1倍的加速和36.8倍的能量节约,并且在计算利用率方面实现了高达1.84倍的提高。
  • 相关研究
    在相关研究方面,最近的一些研究包括:《Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference》和《Training Quantized Neural Networks with a Full-Precision Auxiliary Module》。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问