科研进展

深圳先进院提出高效的Transformer网络全整形量化与硬件部署方案

时间:2023-11-07  来源:医工所 文本大小:【 |  | 】  【打印

  近日,中国科学院深圳先进技术研究院医工所黄明强博士团队与南方科技大学合作,在电路与系统领域知名期刊IEEE Transactions on Circuits and Systems I: Regular Papers上发表了题为An Integer-Only and Group-Vector Systolic Accelerator for Efficiently Mapping Vision Transformer on Edge的研究。该团队针对典型的Vision Transformer网络算法提出全整形量化方案和高效的硬件设计方案。通过软件-硬件协同优化设计的方法,在算法准确率和硬件效率上实现了权衡。并成功在端侧算力芯片中实现了Transformer网络的高效加速,计算通量达到了以往研究的2倍以上。本研究中,黄明强博士为第一作者,中国科学院深圳先进技术研究院为第一单位。

  Transformer网络在自然语言处理和计算机视觉方面都表现出了卓越的高性能。然而,Transformer网络中存在大量的非线性浮点运算,同时Transformer网络的自注意力机制有大量不规则的内存访问需求,使得在边缘部署Transformer网络仍然是一个挑战。针对上述问题,本研究提出了用于简化非线性运算的纯整数量化方案(如LayerNormSoftmaxGelu),同时采用算法-硬件协同设计策略来保证高精度和高效率。以Softmax函数为例,传统的Softmax函数需要先对所有的输入x求指数A=exp(x),再进行累加得到B=∑exp(xi)。最后利用除法实现对每个输入x的计算:softmax(x)=A/B。这一过程需要非线性的指数函数和除法操作,而这两类操作在资源受限的硬件终端中并不容易实现。本研究利用指数-对数函数的换算公式,将原本函数的除法操作等价变换为对数函数的减法操作。同时利用线性近似,实现了指数与对数函数的简化计算。通过这一变换,我们将softmax的计算复杂度降低90%以上,同时保证了计算的准确性。  

  此外,针对自注意力机制的不规则访存需求,我们构建了通用的组矢量脉动阵列,并结合全局统一的数据并行机制,使得新方案既能支持规则访存的矩阵乘法计算,又能支持非规则访存的自注意力转置乘法计算。我们把该设计部署在 Xilinx ZCU102 FPGA 平台上,通过对经典Transformer网络ViT-tiny  ViT-s 的实测,得到每张图像的总推理延迟分别为 4.077ms  11.15ms。平均吞吐量可高达 762.7 GOP,与之前最先进的 FPGA Transformer加速器相比有2倍以上的性能提升。 

  本研究得到了科技创新2030、国自然青年基金、深圳市基础研究重点项目的支持。

  

  图1:Transformer的全整形量化方案和硬件设计方案

原文链接