CN117273099A - 一种可重构阵列下Transformer网络模型数据复用方案与实现方法 - Google Patents

一种可重构阵列下Transformer网络模型数据复用方案与实现方法 Download PDF

Info

Publication number
CN117273099A
CN117273099A CN202311219731.0A CN202311219731A CN117273099A CN 117273099 A CN117273099 A CN 117273099A CN 202311219731 A CN202311219731 A CN 202311219731A CN 117273099 A CN117273099 A CN 117273099A
Authority
CN
China
Prior art keywords
layer
group
image
parameters
network model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311219731.0A
Other languages
English (en)
Inventor
蒋林
张骁帆
张一心
纪晨
张岩
张丁月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Science and Technology
Original Assignee
Xian University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian University of Science and Technology filed Critical Xian University of Science and Technology
Priority to CN202311219731.0A priority Critical patent/CN117273099A/zh
Publication of CN117273099A publication Critical patent/CN117273099A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Image Processing (AREA)

Abstract

本申请涉及数据复用技术领域,公开了一种可重构阵列下Transformer网络模型数据复用方案与实现方法,利用基于倒序循环的权重共享方法,构造使用L/2层参数的L层MSA模块,前L/2层使用不同的参数,后L/2层重复利用前L/2层的参数,由此实现权重共享。本申请通过采用权重共享方法解决了Transformer网络访存量大、训练成本高的问题,大大减少了资源占用,使得Transformer模型可以在端侧运行,同时精度损失在可承受范围内。

Description

一种可重构阵列下Transformer网络模型数据复用方案与实 现方法
技术领域
本申请涉及数据复用技术领域,具体涉及一种可重构阵列下Transformer网络模型数据复用方案与实现方法。
背景技术
边缘设备通常具有有限的计算能力、存储和能耗。由于Transformer模型通常较大且计算密集,将其直接部署在边缘设备上可能会导致性能下降、延迟增加以及电池寿命缩短。Transformer网络的预训练语言模型经过微调后,虽然能够在许多下游任务上取得较好的效果,但是Transformer模型本身较大,需要的计算资源较多,因此很难将这些模型部署到硬件中。通过数据复用,可以减少模型重复加载和计算的次数,从而减轻设备负担。
在设计数据流通路时,数据复用是实现高性能和低功耗的主要手段,可进一步分为时间复用和空间复用。时间复用发生在相同数据在不同周期重用时,而空间复用发生在相同数据在不同PE处重用。
权重共享是一种简单且有效的减少模型尺寸的技术,已被用于NLP中的Transformer模型压缩。目前有很多方式来共享参数,例如只共享前馈网络不同层之间的参数,或者只共享注意力机制的参数,而ALBERT采用的是共享所有层的所有参数。该方法可以在不严重影响模型性能的情况下显著降低模型尺寸,也可以有效地提升模型的稳定程度。Transformer网络多使用权重共享方法。采用分层共享方法可以进一步提高模型的性能,因为不同层之间的参数共享可以缓解过拟合的风险。
如下表1所示,为现有Transformer网络数据复用技术。
表1Transformer网络数据复用现有技术
然而现有架构中的数据复用方案存在的缺点是难以在计算资源有限的端侧设备上部署。
发明内容
针对现有技术存在的上述不足,本发明的目的在于提供一种可重构阵列下Transformer网络模型数据复用方案与实现方法。
为实现以上目的,本发明采用如下技术方案:
一种可重构阵列下Transformer网络模型数据复用方案,利用基于倒序循环的权重共享方法,构造使用L/2层(模块中一半的Transformer层)参数的L层MSA模块,前L/2层使用不同的参数,后L/2层重复利用前L/2层的参数,由此实现权重共享。
进一步地,所述权重共享方法的实现如算法1所示,CreateNewLayer是创建MSA模块的函数;首先堆叠前L/2层,这些层的参数彼此相互独立,后L/2层使用倒序循环的权重共享方法,重复利用前L/2层的参数;
进一步地,本申请提供一种可重构阵列下Transformer网络模型数据复用的实现方法,包括以下步骤:
S1.将PE阵列划分为四个PE组,每个PE组包含4×4个PE,为一簇;
S2.第一组内的PE从分块后的输入图像数据读取图像特征和位置特征;第二组内的PE读取第一组PE中的特征信息,实现编码器模块各种运算的数据处理和存储;第三组内的PE读取第二组PE中的特征信息,实现解码器模块各种运算的数据处理和存储;第四组内的PE为Transformer网络下游任务的各种运算做准备;不同PE组从不同的输入通道读取图像特征和权重,输出的结果存储在整个阵列的PE组中。
进一步地,编码器模块的数据处理通过第二组内的PE协同实现,每个输入向量被映射到一个PE内,提取图像特征后,进行下一步的运算。
进一步地,将编码器模块的核心单元MSA模块的计算过程分解为并行计算的向量/矩阵运算,每次运算操作使用一行图像特征和一行图像权重,并且生成一行输出结果;输出结果累积在一起,生成映射后不同尺寸的特征图。
进一步地,一维图像的输入向量来自第一组PE阵列的存储结构。
进一步地,当图像块的特征并行提取到第一行的PE后,生成图像权重,利用窗口移位分区方法和图像权重,实现缩放点积注意力的向量变换和矩阵运算,最后进行输出数据的累积,形成最终输出结果。
与现有技术相比,本发明具有以下有益效果:本申请通过采用权重共享方法解决了Transformer网络访存量大、训练成本高的问题,大大减少了资源占用,使得Transformer模型可以在端侧运行,同时精度损失在可承受范围内。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本申请数据复用方案示意图;
图2为图像数据输入PE阵列示意图;
图3为PE阵列分组示意图;
图4为多层次分布式存储结构示意图;
图5为MSA模块计算数据流图;
图6为MSA模块数据复用仿真波形;
图7为对比网络模型的准确率与参数量;
图8为对比网络模型的准确率与FLOPs。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
实施例1
根据可重构阵列结构下Transformer网络MSA模块数据复用与Transformer网络MSA模块数据复用方案设计,Transformer网络映射到可重构阵列结构的复杂性来自于MSA模块的数据处理和权重共享。一种可重构阵列下Transformer网络模型数据复用方案设计如图1所示,利用基于倒序循环的权重共享方法,构造使用L/2层参数的L层MSA模块,前L/2层使用不同的参数,后L/2层重复利用前L/2层的参数,由此实现高层与低层权重共享。
可重构阵列下Transformer网络模型数据复用的实现方法,将PE阵列划分为四个PE组,每个PE组(Processing Element Group,PEG)包含4×4个PE,为一簇;第一组内的PE从分块后的输入图像数据读取图像特征和位置特征,如图2所示。第二组内的PE读取第一组PE中的特征信息,实现编码器模块各种运算的数据处理和存储;第三组内的PE读取第二组PE中的特征信息,实现解码器模块各种运算的数据处理和存储;第四组内的PE为Transformer网络下游任务的各种运算做准备。不同PE组从不同的输入通道读取图像特征和权重,输出的结果存储在整个阵列的PE组中。PE阵列分组如图3所示。
编码器模块的数据处理通过第二组内的PE协同实现。每个输入向量被映射到一个PE内,提取图像特征后,进行下一步的运算。而编码器模块的核心单元是MSA模块,将MSA模块的计算过程分解为并行计算的向量/矩阵运算(支持并行的向量相乘运算,矩阵可拆分为向量同理进行运算),每次运算操作使用一行图像特征和一行图像权重,并且生成一行输出结果。输出结果累积在一起,生成映射后不同尺寸的特征图。一维图像的输入向量来自第一组PE阵列的存储结构,所述的存储结构为多个便签式存储器(Scratch Pad Memory,SPM)构成的私有存储层,与分布式高速缓存器(Cache)结构、PE阵列共同构成多层次分布式存储结构。多层次分布式存储结构如图4所示,片上缓存由SPM和Cache混合构成。上层SPM层作为PE层的私有存储层,存储运算核心的数据,但运算核心间的一致性由软件进行管理。中层PE层为4×4个PE组成的1个PEG。下层Cache层作为PE层的共享存储层,数据间的通信通过交叉阵列邻接互连网络实现。MSA模块计算数据流图如图5所示。
由于训练Transformer网络模型的输入数据集图像众多,所有图像映射到PE阵列的工作极其庞大,会极大地影响到训练效率。因此,当图像块的特征并行提取到第一行的PE后,生成图像权重。利用窗口移位分区方法和图像权重,实现缩放点积注意力的向量变换和矩阵运算,最后进行输出数据的累积,形成最终输出结果。与现有的设计相比,该数据流图通过最大限度地利用PE本地存储结构、PE间直接通信和空间并行性,可以适应Transformer网络各模块的运算,减少数据传输过程中的损耗。
Transformer网络MSA模块数据复用是重复利用参数、减少网络参数的方案,从而实现N×Transformer层(即编码器模块)。上节提到的权重共享方法实现如算法1所示,描述了给每一层MSA模块分配参数的过程,CreateNewLayer是创建MSA模块的函数。首先堆叠L/2层,这些层的参数彼此相互独立,后L/2层使用倒序循环的权重共享方法,重复利用前L/2层的参数。
实施例2
根据可重构阵列结构指令集,如下表1所示,包括算术逻辑运算、数据传送、分支跳转以及网络运算四种指令类型,设计汇编代码。然后,将汇编代码翻译为二进制,并且存储到指令存储器。最后,使用QuestaSim 10.1d仿真软件进行仿真验证。
表1可重构阵列结构指令集
首先,对可重构PE阵列进行分组,第一组PE阵列用于实现图像数据的图像特征和位置特征的读取。输入图像数据进行分块后,将读取后的特征序列分别放入PE00、PE01、PE02、PE03、PE10、PE11、PE12、PE13、PE20、PE21、PE22、PE23、PE30、PE31、PE32、PE33共16个PE中。随之各个PE对输入数据并行执行LDI操作,目的是数据整合,有利于第二组PE阵列进行特征读取和下一步向量-矩阵运算。特征读取代码及其二进制如下表2所示。
表2特征读取代码及其二进制
然后,第二组PE阵列利用LDI(Load Direct Instruction)操作,读取第一组PE阵列中的特征信息,并且存储到PE00、PE01、PE02、PE03四个PE中。根据窗口移位分区方法,利用LDI操作,将图像权重存储到PE10、PE11、PE12、PE13四个PE中。利用MAC操作,在PE00、PE01、PE02、PE03、PE10、PE11、PE12、PE13八个PE中,进行相应的向量变换和矩阵运算。利用SLA(Service Level Agreement)操作,将MSA模块计算的输出写入PE20、PE21、PE22、PE23四个PE中。利用STI(Set Interrupt Flag)操作,将结果整合并存储到PE30、PE31、PE32、PE33四个PE中。
最后,Swin-T(Swin-Transformer)最优子网络基于倒序循环的权重共享方法,在第二组PE阵列,即单个簇内,实现Transformer网络MSA模块的数据复用。利用LDI操作,从0号地址中读取PE10图像权重,存储到R1寄存器中,再从1号地址中读取PE10图像权重,存储到R2寄存器中。利用SLA操作,将输出结果写入R9寄存器中,从而实现PE10内第一次MSA模块的数据复用。继而,从2号地址和3号地址中读取PE10图像权重,分别存储到R3寄存器和R4寄存器中,将输出结果写入R8寄存器中,从而实现PE10内第二次MSA模块的数据复用。随之,从4号地址和5号地址中读取PE10图像权重,分别存储到R5寄存器和R6寄存器中,将输出结果写入R7寄存器中,从而实现PE10内第三次MSA模块的数据复用,同时PE10实现了基于倒序循环的权重共享方法。
MSA模块数据复用仿真波形如图6所示,展示了PE10(0000000000000100)内第一次MSA模块的数据复用过程。从0号地址和1号地址中读取PE10图像权重,分别存储到R1寄存器和R2寄存器中,将输出结果写入R9寄存器中。为实现Transformer网络MSA模块数据复用,还需要分别对PE11(0000000000000101)、PE12(0000000000000110)、PE13(0000000000000111)进行数据复用,至此实现所有权重的共享。
对Swin-T网络进行可重构结构下MSA模块数据复用。对比网络模型性能如下表3所示,压缩后Swin-T最优子网络的参数量为13.8M,FLOPs为1.9G,准确率为89.2%。数据复用后Swin-T网络的参数量为7.5M,FLOPs为0.9G,准确率为88.2%。可以得出,基于倒序循环的权重共享方法,使压缩后Swin-T最优子网络大幅度降低了参数量和FLOPs,参数量降低了6.3M,FLOPs降低了1G。
表3对比网络模型性能
为了直观地对比原始Swin-T、压缩后Swin-T以及数据复用后Swin-T三种网络模型的性能,绘制准确率与参数量、准确率与FLOPs两个柱状-曲线图。对比网络模型的准确率与参数量如图7所示,可以得出,压缩后Swin-T对比原始Swin-T,参数量降低了52.4%,数据复用后Swin-T对比压缩后Swin-T,参数量降低了45.7%。对比网络模型的准确率与FLOPs如图8所示,可以得出,压缩后Swin-T对比原始Swin-T,FLOPs降低了57.8%,数据复用后Swin-T对比压缩后Swin-T,FLOPs降低了52.6%。图7和图8均可以得出,压缩后Swin-T对比原始Swin-T,准确率提升了7.9%,数据复用后Swin-T对比压缩后Swin-T,准确率仅降低了1%,在可承受范围内。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (7)

1.一种可重构阵列下Transformer网络模型数据复用方案,其特征在于,利用基于倒序循环的权重共享方法,构造使用L/2层参数的L层MSA模块,前L/2层使用不同的参数,后L/2层重复利用前L/2层的参数,由此实现权重共享。
2.根据权利要求1所述的可重构阵列下Transformer网络模型数据复用方案,其特征在于,所述权重共享方法的实现如算法1所示,CreateNewLayer是创建MSA模块的函数;首先堆叠前L/2层,这些层的参数彼此相互独立,后L/2层使用倒序循环的权重共享方法,重复利用前L/2层的参数;
3.根据权利要求1所述的可重构阵列下Transformer网络模型数据复用方案,其特征在于,所述可重构阵列下Transformer网络模型数据复用的实现方法,包括以下步骤:
S1.将PE阵列划分为四个PE组,每个PE组包含4×4个PE,为一簇;
S2.第一组内的PE从分块后的输入图像数据读取图像特征和位置特征;第二组内的PE读取第一组PE中的特征信息,实现编码器模块各种运算的数据处理和存储;第三组内的PE读取第二组PE中的特征信息,实现解码器模块各种运算的数据处理和存储;第四组内的PE为Transformer网络下游任务的各种运算做准备;不同PE组从不同的输入通道读取图像特征和权重,输出的结果存储在整个阵列的PE组中。
4.根据权利要求3所述的可重构阵列下Transformer网络模型数据复用方案,其特征在于,编码器模块的数据处理通过第二组内的PE协同实现,每个输入向量被映射到一个PE内,提取图像特征后,进行下一步的运算。
5.根据权利要求3所述的可重构阵列下Transformer网络模型数据复用方案,其特征在于,将编码器模块的核心单元MSA模块的计算过程分解为并行计算的向量/矩阵运算,每次运算操作使用一行图像特征和一行图像权重,并且生成一行输出结果;输出结果累积在一起,生成映射后不同尺寸的特征图。
6.根据权利要求4所述的可重构阵列下Transformer网络模型数据复用方案,其特征在于,一维图像的输入向量来自第一组PE阵列的存储结构。
7.根据权利要求3所述的可重构阵列下Transformer网络模型数据复用方案,其特征在于,当图像块的特征并行提取到第一行的PE后,生成图像权重,利用窗口移位分区方法和图像权重,实现缩放点积注意力的向量变换和矩阵运算,最后进行输出数据的累积,形成最终输出结果。
CN202311219731.0A 2023-09-20 2023-09-20 一种可重构阵列下Transformer网络模型数据复用方案与实现方法 Pending CN117273099A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311219731.0A CN117273099A (zh) 2023-09-20 2023-09-20 一种可重构阵列下Transformer网络模型数据复用方案与实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311219731.0A CN117273099A (zh) 2023-09-20 2023-09-20 一种可重构阵列下Transformer网络模型数据复用方案与实现方法

Publications (1)

Publication Number Publication Date
CN117273099A true CN117273099A (zh) 2023-12-22

Family

ID=89209951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311219731.0A Pending CN117273099A (zh) 2023-09-20 2023-09-20 一种可重构阵列下Transformer网络模型数据复用方案与实现方法

Country Status (1)

Country Link
CN (1) CN117273099A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117521759A (zh) * 2024-01-04 2024-02-06 支付宝(杭州)信息技术有限公司 大模型的训练方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117521759A (zh) * 2024-01-04 2024-02-06 支付宝(杭州)信息技术有限公司 大模型的训练方法和装置
CN117521759B (zh) * 2024-01-04 2024-04-05 支付宝(杭州)信息技术有限公司 大模型的训练方法和装置

Similar Documents

Publication Publication Date Title
CN109063825B (zh) 卷积神经网络加速装置
CN108765247B (zh) 图像处理方法、装置、存储介质及设备
CN107203807B (zh) 神经网络加速器的片上缓存带宽均衡方法、系统及其装置
US11816574B2 (en) Structured pruning for machine learning model
CN109993293B (zh) 一种适用于堆叠式沙漏网络的深度学习加速器
CN112668708B (zh) 一种提高数据利用率的卷积运算装置
CN117273099A (zh) 一种可重构阵列下Transformer网络模型数据复用方案与实现方法
CN113313247B (zh) 基于数据流架构的稀疏神经网络的运算方法
CN111783933A (zh) 一种对深度卷积神经网络计算加速的、结合主存储器的数据载入装置的硬件电路设计及方法
WO2024051388A1 (zh) 一种基于禁忌搜索算法的神经网络片上映射方法和装置
CN112988621A (zh) 一种张量数据的数据载入装置及方法
CN111610963B (zh) 芯片结构及其乘加计算引擎
Lin et al. Gratetile: Efficient sparse tensor tiling for CNN processing
CN112561049A (zh) 一种基于忆阻器的dnn加速器的资源分配方法及装置
Zhan et al. Field programmable gate array‐based all‐layer accelerator with quantization neural networks for sustainable cyber‐physical systems
CN114003198B (zh) 内积处理部件、任意精度计算设备、方法及可读存储介质
KR20240036594A (ko) 인-메모리 연산을 위한 부분 합 관리 및 재구성가능 시스톨릭 플로우 아키텍처들
CN113986816A (zh) 可重构计算芯片
Huang et al. Hardware-friendly compression and hardware acceleration for transformer: A survey
Zhang et al. Yolov3-tiny Object Detection SoC Based on FPGA Platform
Wu et al. Accelerator design for vector quantized convolutional neural network
Zhao et al. A method for accelerating convolutional neural networks based on fpga
Li et al. RAWAtten: Reconfigurable accelerator for window attention in hierarchical vision transformers
Meng et al. An Efficient CNN Accelerator Achieving High PE Utilization Using a Dense-/Sparse-Aware Redundancy Reduction Method and Data–Index Decoupling Workflow
Zhang et al. Thread: Towards fine-grained precision reconfiguration in variable-precision neural network accelerator

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination