一种基于FPGA的、能够在运行时动态调整的Transformer神经网络加速器

《Microprocessors and Microsystems》:A runtime-adaptive transformer neural network accelerator on FPGAs

【字体: 时间:2025年11月20日 来源:Microprocessors and Microsystems 2.6

编辑推荐:

  提出ADAPTOR,一种面向Transformer神经网络的FPGA加速器,通过高级合成技术实现模块化设计,支持运行时参数调整,优化了矩阵分块策略和资源利用,显著提升能效比,实验表明其性能优于NVIDIA K80 GPU和i7-8700K CPU。 中文关键字:Transformer加速器; FPGA硬件设计; 自适应架构; 矩阵分块优化; 能效比提升 | 高级合成(HLS) | 运行时可配置 | 资源利用率分析 | 理论建模 | 性能评估

  Transformer神经网络(TNN)在自然语言处理(NLP)、机器翻译和计算机视觉(CV)等任务中表现出色,且无需依赖递归或卷积层。然而,这些模型在资源受限设备如FPGA上存在较高的计算和内存需求。此外,不同应用中Transformer模型的处理时间差异显著,因此需要针对特定参数设计定制模型。为每个模型设计专用加速器是一项复杂且耗时的工作。一些现有加速器在运行时缺乏灵活性,通常依赖稀疏矩阵来减少延迟。然而,这种设计在应用特定的稀疏模式上面临挑战,使得硬件设计变得更加复杂。本文介绍了一种名为ADAPTOR的运行时自适应加速器,专为FPGA平台上的Transformer编码器和解码器的密集矩阵计算而设计。ADAPTOR通过提高处理单元和片上内存的利用率,增强了并行处理能力,减少了延迟。它采用高效的矩阵分块策略,以适应不同的FPGA平台,并完全量化以实现计算效率和可移植性。在Xilinx Alveo U55C数据中心卡和嵌入式平台如VC707和ZCU102上的评估表明,我们的设计比NVIDIA K80 GPU和i7-8700K CPU分别提高了1.2倍和2.87倍的能效。此外,与一些最先进的FPGA加速器相比,它实现了1.7到2.25倍的速度提升。

随着Transformer变体的不断演进,不同参数的模型需求也变得多样化。因此,开发一种通用且高效的加速器,能够根据这些变体的结构特性进行定制,变得尤为重要。本文提出的ADAPTOR加速器旨在满足这一需求,能够在各种Transformer应用中高效处理密集矩阵计算。数字信号处理(DSP)资源在较高频率下具备高速计算能力,其有效利用取决于实现方式。例如,大多数加速器使用高级综合(HLS)工具,而一些则使用硬件描述语言(HDL)进行设计。虽然HLS相比HDL需要更少的实现时间,但编写高效的HLS代码以充分利用并行DSP进行最优性能仍然是一个挑战。为了应对这一挑战,ADAPTOR采用了优化的HLS编码技术。此外,存储Transformer模型的大量参数在FPGA的片上内存中也面临挑战,因为FPGA的片上内存通常只有5MB(如ZCU104)或35MB(如Alveo U200)。因此,为了有效执行密集的乘法和累加(MAC)操作,输入矩阵必须被划分为块。然而,开发一个与架构匹配的最优分块方案是一项重大挑战,ADAPTOR在设计中对此进行了细致的处理。

本文提出的ADAPTOR加速器具有以下几个主要贡献。首先,它引入了一种全新的加速器架构,旨在最大化DSP和LUT的利用率,从而提升并行处理能力和降低延迟。其次,它提出了一个高效的权重矩阵分块策略,用于编码器和解码器中的多头注意力(MHA)层和前馈网络(FFN)层,使加速器能够部署在任何FPGA平台上,适用于大多数Transformer模型。第三,它采用模块化设计方法,通过参数化的HLS代码实现,以适应不同的计算和数据访问模式,并允许在设计阶段对不同的Transformer组件进行修改。第四,它具备运行时自适应特性,使软件驱动的参数调整可以在不重新综合硬件的情况下运行不同的模型。

在系统设计和优化方面,ADAPTOR通过合理利用FPGA的资源,如DSP和LUT,来提高性能。它通过模块化设计,将不同的计算阶段分解为独立的模块,如注意力模块、前馈网络模块、权重加载单元、输入加载单元、偏置加载单元和激活单元,从而实现更有效的设计和优化。每个模块的计算流程被详细描述,并通过算法来实现,以确保计算效率和资源利用率的最大化。此外,ADAPTOR还引入了高效的分块策略,使权重矩阵能够被有效地划分到不同的存储单元中,从而支持并行计算。通过这种策略,ADAPTOR能够在不同FPGA平台上实现高性能和低延迟的计算。

在运行时自适应方面,ADAPTOR允许软件调整关键参数,如注意力头数量、嵌入维度、隐藏维度、序列长度以及编码器和解码器层数,以适应不同的Transformer模型。这种自适应特性使得ADAPTOR能够灵活应对不同应用需求,而不必重新综合硬件。通过这种方式,ADAPTOR实现了对不同模型的高效支持,减少了硬件设计的复杂性。

在实验评估和结果部分,ADAPTOR在多个FPGA平台上进行了测试,包括VC707、ZCU102和Alveo U55C。实验结果表明,ADAPTOR在计算效率和能效方面优于现有的FPGA加速器。在运行BERT模型时,ADAPTOR的能效比NVIDIA K80 GPU和i7-8700K CPU分别提高了1.2倍和2.87倍。此外,ADAPTOR在不同FPGA平台上的表现也展示了其良好的可移植性。通过调整分块大小,ADAPTOR能够在不同资源条件下实现最佳性能。例如,在Alveo U55C上,使用24个分块和6个分块的组合,ADAPTOR能够达到200 MHz的系统频率,并实现最低的延迟。然而,在某些情况下,由于分块大小的增加,系统频率会下降,导致性能提升的边际效益逐渐减少。

在理论模型方面,ADAPTOR采用了一种分析模型,用于预测资源使用和延迟。该模型考虑了不同模块的计算特性,如注意力模块和前馈网络模块,并基于这些特性优化了分块策略和资源分配。通过这种模型,设计者可以在硬件综合之前进行参数选择,以确保最佳性能和资源利用。

在评估结果中,ADAPTOR的实验数据表明,其在计算效率和能效方面优于其他FPGA加速器。例如,与Qi等人设计的加速器相比,ADAPTOR在运行浅层Transformer时实现了更高的GOPS和更低的能耗。此外,与Tzanos等人设计的加速器相比,ADAPTOR在资源利用率和性能之间取得了更好的平衡。这些结果表明,ADAPTOR在设计和实现上具有显著优势,并能够适应不同规模和结构的Transformer模型。

总体而言,ADAPTOR为Transformer神经网络提供了一种高效、灵活且可移植的加速方案。通过运行时自适应设计,它能够根据不同的模型需求进行参数调整,从而优化计算效率和资源利用率。此外,ADAPTOR采用模块化设计,使不同计算阶段能够独立优化,提高了整体系统的可扩展性和灵活性。这些特性使得ADAPTOR成为一种适用于多种Transformer模型的通用加速器,为未来的Transformer研究和应用提供了新的思路。
相关新闻
生物通微信公众号
微信
新浪微博
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号