Skip to main content
QUICK REVIEW

[论文解读] Auto-ViT-Acc: An FPGA-Aware Automatic Acceleration Framework for Vision Transformer with Mixed-Scheme Quantization

Zhengang Li, Mengshu Sun|arXiv (Cornell University)|Aug 10, 2022
CCD and CMOS Imaging Sensors被引用 6
一句话总结

该论文提出 Auto-ViT-Acc,一种面向FPGA的自动化框架,通过混合量化方案(定点数与2的幂次)加速视觉Transformer模型。通过联合优化比特宽度与量化方案比例,并结合FPGA资源建模,该框架在DeiT-Base上实现56.8 FPS的帧率(较32位基线提升5.6倍),仅损失0.71%精度,其准确率与吞吐量均优于以往的量化方法。

ABSTRACT

Vision transformers (ViTs) are emerging with significantly improved accuracy in computer vision tasks. However, their complex architecture and enormous computation/storage demand impose urgent needs for new hardware accelerator design methodology. This work proposes an FPGA-aware automatic ViT acceleration framework based on the proposed mixed-scheme quantization. To the best of our knowledge, this is the first FPGA-based ViT acceleration framework exploring model quantization. Compared with state-of-the-art ViT quantization work (algorithmic approach only without hardware acceleration), our quantization achieves 0.47% to 1.36% higher Top-1 accuracy under the same bit-width. Compared with the 32-bit floating-point baseline FPGA accelerator, our accelerator achieves around 5.6x improvement on the frame rate (i.e., 56.8 FPS vs. 10.0 FPS) with 0.71% accuracy drop on ImageNet dataset for DeiT-base.

研究动机与目标

  • 为在资源受限的FPGA上高效、高精度地部署视觉Transformer模型提供解决方案。
  • 探究传统CNN量化方案(定点数与2的幂次)在FPGA上的ViT模型中是否有效,以及如何最优地结合二者。
  • 开发一种自动化、FPGA感知的工作流,协同优化量化参数与硬件资源利用率,以达成目标性能。
  • 设计一种新型FPGA计算引擎,用于ViT多头注意力模块,结合硬件感知优化。
  • 证明混合量化方案在FPGA上可同时实现更高的准确率与吞吐量,优于纯定点数或纯2的幂次方案。

提出的方法

  • 利用FPGA资源利用率建模,基于比特宽度与定点数和2的幂次量化比例预测帧率(FPS)。
  • 自动化搜索最优量化配置(比特宽度与2的幂次比例),以满足用户定义的目标FPS。
  • 设计了一种新型FPGA计算引擎用于ViT多头注意力,利用DSP资源处理定点运算,利用LUT资源实现基于移位的2的幂次运算。
  • 采用混合量化方案:将权重拆分为定点数与2的幂次两部分,通过调节比例以最大化资源利用率与模型准确率。
  • 将量化、硬件建模与加速器生成整合为端到端流水线,由目标FPS驱动。
  • 整个工作流实现自动化,生成量化后的ViT模型与对应的FPGA加速器。

实验结果

研究问题

  • RQ1传统CNN量化方案(定点数与2的幂次)能否在FPGA上有效应用于视觉Transformer?
  • RQ2如何系统性地优化混合量化方案(结合定点数与2的幂次)以在FPGA上实现ViT推理的准确率与吞吐量平衡?
  • RQ3在FPGA上实现目标帧率时,定点数与2的幂次量化之间的最优比特宽度与混合比例组合为何?
  • RQ4能否通过自动化、FPGA感知的框架协同优化ViT的模型量化与硬件加速器设计?
  • RQ5在FPGA上,混合量化方案是否在准确率与推理速度上均优于纯定点数或纯2的幂次量化方案?

主要发现

  • 对于DeiT-small,该框架在150 FPS下实现77.94%的Top-1准确率,采用W4A4 + W3A4混合量化且2的幂次比例为43%,相比先前工作的W8A8模型准确率提升0.47%。
  • 在100 FPS下,该框架实现78.74%的Top-1准确率,采用W8A8 + W4A8量化且2的幂次比例为43%,相比先前工作提升1.27%。
  • 对于DeiT-base,该框架在55 FPS下实现81.14%的Top-1准确率,采用W4A4 + W3A4混合量化且2的幂次比例为40%。
  • 在33 FPS下,DeiT-base实现81.84%的Top-1准确率,采用W8A8 + W4A8量化且2的幂次比例为45%,相比先前工作的W8A8模型准确率提升0.66%,尽管比特宽度更低。
  • 与32位浮点数基线FPGA加速器相比,所提出的加速器在DeiT-base上实现5.6倍帧率提升(56.8 FPS vs. 10.0 FPS),仅损失0.71%准确率。
  • 即使不进行量化,ZCU102平台上的FPGA实现也优于Jetson TX2 GPU,在速度(10.0 FPS vs. 7.87 FPS)与功耗效率(9.91W vs. 12.28W)方面表现更优。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。