当前位置: 首页 > 专利查询>南京大学专利>正文

应用于Transformer神经网络的硬件加速器及其计算方法技术

技术编号:32505527 阅读:30 留言:0更新日期:2022-03-02 10:17
本申请公开了应用于Transformer神经网络的硬件加速器及其计算方法,该硬件加速器包括:数据存储模块、脉动阵列模块、偏置相加模块、点积注意力函数运算模块、激活函数运算模块、残差相加模块、层归一化函数运算模块及控制模块。脉动阵列模块包括多个用于执行矩阵计算的基本运算单元,控制模块用于控制硬件加速器的计算流程。基于能够执行Transformer神经网络中所有矩阵计算的脉动阵列模块,上述硬件加速器可有效提高Transformer神经网络的运算速度及效率。速度及效率。速度及效率。

【技术实现步骤摘要】
应用于Transformer神经网络的硬件加速器及其计算方法


[0001]本申请涉及神经网络
,尤其涉及应用于Transformer神经网络的硬件加速器及其计算方法。

技术介绍

[0002]Transformer网络是一个用于解决自然语言处理问题的神经网络模型,其模型架构如图1所示,主要包括一个编码器堆栈和一个解码器堆栈,编码器堆栈和解码器堆栈又各自包含N个编码器层和多个解码器层。Transformer神经网络计算过程中,输入序列首先经过词向量嵌入层处理及位置编码叠加处理后,得到输入矩阵,该输入矩阵输至编码器堆栈中,依次经历多个编码器层的运算,得到编码器堆栈的输出矩阵。编码阶段结束后就是解码阶段,解码阶段中每一步会输出目标句子的一个元素,实现自然语言的处理。
[0003]每个编码器层和解码器层均由多头注意力层和前馈层组成。多头注意力层包括大小一致的三个输入矩阵,分别为第一输入矩阵、第二输入矩阵及第三输入矩阵,前馈层仅包括一个输入矩阵。参见图2,多头注意力层包括多个注意力头,每个注意力头中均包含三个线性层分别为第一线性层、第二线性层本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种应用于Transformer神经网络的硬件加速器,其特征在于,包括:数据存储模块,包括输入矩阵存储单元、权重矩阵存储单元、偏置矩阵存储单元及临时矩阵存储单元,所述输入矩阵存储单元的输入端作为整个硬件加速器的输入接口,所述输入矩阵存储单元、所述权重矩阵存储单元及所述临时矩阵存储单元的输出端均接至脉动阵列模块的输入端,所述偏置矩阵存储单元的输出端接至偏置相加模块的输入端,所述权重矩阵存储单元用于存储第四权重矩阵、第五权重矩阵及第六权重矩阵,这三个权重矩阵均被纵向分割成多个子矩阵,每个子矩阵的列数与第一权重矩阵的列数一致;脉动阵列模块,所述脉动阵列模块包括多个用于执行矩阵计算的基本运算单元,所述基本运算单元的行数与多头注意力层中任一输入矩阵的行数一致,所述基本运算单元的列数与所述第一权重矩阵的列数一致,所述脉动阵列模块的输出端接至偏置相加模块的输入端、点积注意力函数运算模块的输入端及所述临时矩阵存储单元的输入端;偏置相加模块,包括多个加法器,所述加法器的数量与所述多头注意力层中任一输入矩阵的行数一致,所述偏置相加模块的输出端接至所述临时矩阵存储单元的输入端、激活函数运算模块的输入端及残差相加模块的输入端;点积注意力函数运算模块,所述点积注意力函数运算模块的输出端接至所述临时矩阵存储单元的输入端;激活函数运算模块,所述激活函数运算模块的输出端接至所述临时矩阵存储单元的输入端;残差相加模块,包括多个加法器,所述加法器的数量与所述多头注意力层中任一输入矩阵的行数一致,所述残差相加模块的输入端接至所述输入矩阵存储单元的输出端,输出端接至层归一化函数运算模块的输入端;层归一化函数运算模块,所述层归一化函数运算模块的输出端作为整个硬件加速器的输出接口;控制模块,所述控制模块分别接至所述数据存储模块、脉动阵列模块、偏置相加模块、点积注意力函数运算模块、激活函数运算模块、残差相加模块及层归一化函数运算模块。2.根据权利要求1所述的应用于Transformer神经网络的硬件加速器,其特征在于,所述控制模块中配置有以下控制流程:判断当前硬件加速器中执行的是多头注意力层的运算还是前馈层的运算;若执行的是多头注意力层的运算,则执行以下操作:控制所述数据存储模块、所述脉动阵列模块及所述偏置相加模块,针对第一输入矩阵执行第一线性层的运算操作、针对第二输入矩阵执行第二线性层的运算操作及针对第三输入矩阵执行第三线性层的运算操作,以及,控制点积注意力函数运算模块对第一线性层、第二线性层及第三线性层的运算结果进行函数运算,获得拼接矩阵;控制所述数据存储模块、所述脉动阵列模块及所述偏置相加模块,针对所述拼接矩阵执行第四线性层的运算操作;以及,控制残差相加模块对第四线性层的运算结果进行残差计算,获得第一中间矩阵;控制层归一化函数运算模块对所述第一中间矩阵执行函数运算,获得多头注意力层的输出矩阵;若执行的是前馈层的运算,则执行以下操作:
控制所述数据存储模块、所述脉动阵列模块及所述偏置相加模块,针对所述前馈层的输入矩阵执行第五线性层的运算操作;以及,控制激活函数运算模块针对第五线性层的运算结果执行激活函数运算,获得激活矩阵;控制所述数据存储模块、所述脉动阵列模块及所述偏置相加模块,针对所述激活矩阵执行第六线性层的运算操作;以及,控制残差相加模块对第六线性层的运算结果进行残差计算,获取第二中间矩阵;控制层归一化函数运算模块对第二中间矩阵执行函数运算,获得前馈层的输出矩阵。3.根据权利要求1所述的应用于Transformer神经网络的硬件加速器,其特征在于,所述偏置矩阵存储单元用于存储第一偏置矩阵、第二偏置矩阵、第三偏置矩阵、第四偏置矩阵、第五偏置矩阵及第六偏置矩阵,其中,第四偏置矩阵、第五偏置矩阵及第六偏置矩阵均被分割为多个子矩阵,每个子矩阵的列数与所述第一权重矩阵的列数一致。4.根据权利要求1所述的应用于Transformer神经网络的硬件加速器,其特征在于,所述输入矩阵存储单元包括第一矩阵存储子单元及第二矩阵存储子单元;所述第一矩阵存储子单元用于存储多头注意力层的第一输入矩阵及前馈层的输入矩阵;所述第二矩阵存储子单元用于存储所述多头注意力层的第二输入矩阵及第三输入矩阵。5.根据权利要求1所述的应用于Transformer神经网络的硬件加速器,其特征在于,所述临时矩阵存储单元包括第一临时矩阵存储子单元、第二临时矩阵存储子单元及第三临时矩阵存储子单元。6.根据权利要求5所述的应用于Transformer神经网络的硬件加速器,其特征在于,所述脉动阵列模块的输出端接至所述第三临时矩阵存储子单元的输入端;所述偏置相加模块的输出端接至所述第一临时矩阵存储子单元的输入端及所述第二临时矩阵存储子单元的输入端;所述点积注意力函数运算模块的输出端接至所述第一临时矩阵存储子单元的输入端;所述激活函数运算模块的输出端接至所述第三临时矩阵存储子单元的输入端。7.根据权利要求1所述的应用于Transformer神经网络的硬件加速器,其特征在于,所述点积注意力函数运算模块包括滤波矩阵存储单元及多个函数运算单元,所述函数运算单元的数量与所述多头注意层中任一输入矩阵的行数一致;所述滤波矩阵存储单元分别与每个所述函数运算单元相连接;所述函数运算单元包括获取最大值子单元、求和子单元、对数运算子单元及指数运算子单元。8.根据权利要求1所述的应用于Transformer神经网络的硬件加速器,其特征在于,所述层归一化函数运算模块包括中间矩阵存储单元、第一均值计算单元、第二均值计算单元、第一平方计算单元、第二平方计算单元、平方根倒数计算单元及输出矩阵计算单元;所述中间矩阵存储单元的输出端接至所述输出矩阵计算单元,所述中间矩阵存储单元用于获取并存储所述中间矩阵,所述中间矩阵为多头注意力层处理过程中的第一中间矩阵或前馈层处理过程中的第二中间矩阵;所述第一均值计算单元的输出端分别接至所述第一平方计算单元及所述输出矩阵计
算单元,所述第一均值计算单元用于计算所述中间矩阵中每行元素的均值;所述第一平方计算单元的输出端接至所述平方根倒数计算单元,所述第一平方计算单元用于对所述第一均值计算单元输入的值执行平方运算,获取所述中间矩阵中每行元素均值的平方;所述第二平方计算单元的输出端接至所述第二均值计算单元,所述第二平方计算单元用于针对所述中间矩阵中的每个元素执行平方运算,获取平方矩阵;所述第二均值计算单元的输出端接至所述平方根倒数计算单元,所述第二均值计算单元用于计算所述平方矩阵每行元素的均值;所述平方根倒数计算单元的输出端接至所述输出矩阵计算单元,所述平方根倒数计算单元用于根据所述中间矩阵每行元素均值的平方及所述平方矩阵每行元素的均值,获取所述中间矩阵每行元素方差的平方根倒数;所述输出矩阵计算单元用于对所述中间矩阵的每个元素、所述中间矩阵每行元素的均值及所述中间矩阵每行元素方差的平方根倒数进行层归一化处理,获得所述多头注意力层或所述前馈层最终的输出矩阵。9.根据权利要求8所述的应用于Transformer神经网络的硬件加速器,其特征在于,所述第一均值计算单元包括多个第一均值计算子单元,所述第二均值计算单元包括多个第二均值计算子单元,所述第一平方计算单元包括多个第一平方计算子单元,所述第二平方计算单元包括多个第二平方计算子单元,所述平方根倒数计算单元包括多个平方根倒数计算子单元,所述输出矩阵计算单元包括多个输出矩阵计算子单元;所述第一均值计算子单元、所述第二均值计算子单元、所述第一平方计算子单元、所述第二平方计算子单元、所述平方根倒数计算子单元及所述输出矩阵计算子单元的数量均与所述多头注意力层中任一输入矩阵的行数一致。10.一种应用于Transformer神经网络的硬件加速器的计算方法,其特征在于,所述计算方法应用于控制模块,所述控制模块位...

【专利技术属性】
技术研发人员:王中风路思远王美琪梁双林军
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1