关键词:
注意力模型
机器视觉
FPGA
异构计算
图像分类
摘要:
随着深度学习的发展,基于Transformer的神经网络模型在语言和视觉领域均取得了显著的成果。然而,此类模型的计算复杂度较高,特别是多头注意力机制模块,需要进行大量乘累加类型的矩阵乘和仿射变换计算,对计算资源提出了很高要求。本文聚焦于设计基于现场可编程门阵列(Field Programmable Gate Array,FPGA)的硬件加速器来加速Transformer中的多头注意力机制模块。该模块普遍存在于基于Transformer的模型中。通过使用模型量化压缩和硬件并行加速方法将一个典型Transformer视觉模型——DeiT(Data-efficient image Transformers,DeiT)部署到FPGA上,从而实现模型的实时推理。本文主要研究工作和创新成果如下。
首先,本文设计了一个适用于基于Transformer的模型的量化算法,可实现模型中多头注意力机制模块的8比特定点格式量化,应用于DeiT模型量化,保证了模型精度损失在2%以内。本文针对LayerNorm模块提出了一种新型的量化方法,通过尺度不变性实现了LayerNorm模块的纯整数计算。在此基础上,本文还引入了MinMax量化方法,对基于Transformer的DeiT模型的其他模块进行了8比特均匀对称量化,将模型存储量降低到了全精度模型的四分之一,减少了存储和传输开销,并减轻了计算压力。
其次,本文设计实现了一个基于FPGA的多头注意力机制硬件加速器,实现了多头注意力模块中矩阵乘和仿射变换算子的并行加速。研究表明,多头注意力模块中的主要计算为矩阵乘和仿射变换。针对这两种运算的计算特点,本文设计了一种基于并行乘累加处理单元阵列的计算加速电路,利用多维度并行计算来高效加速多头注意力机制模块中的计算密集型算子。同时,多头注意力机制模块中还包含LayerNorm算子和Softmax算子,这类算子中含有大量非线性函数计算,需要消耗大量的浮点计算资源。针对这两种算子,本文分别设计了一种新型的硬件近似计算电路,以合理的计算精度和硬件资源消耗对其进行了计算加速。上述各硬件加速电路可通过参数配置适用于不同的基于Transformer的模型,本文集成上述电路实现了一个完整的DeiT模型的硬件加速器,与Intel Xeon 5218R型号的CPU处理器相比,可实现2.1倍的推理加速。
最后,本文在ImageNet-1k数据集上进行了图片分类实验,实验结果显示量化后的DeiT-Tiny模型实现了70.4%的图像分类精度,精度损失小于2%。硬件部署后的DeiT-Tiny模型可实现最高55FPS的推理速度,功耗小于20W,该加速器以12.696 GOPs/W的计算效率,每瓦推理性能明显高于最新的CPU和GPU处理器。