【技术实现步骤摘要】
一种基于神经网络的矩阵乘运算方法及相关装置
[0001]本披露一般地涉及数据处理领域。更具体地,本披露涉及一种基于神经网络的矩阵乘运算方法及相关装置。
技术介绍
[0002]前馈神经网络层(Feedforward Neural Network Layer,FNN)是深度学习算法中常见的运算层,被广泛应用于transformer,bert等网络。其数学表示可以为Y=Relu(X*M1+b1)*M2+b2,即输入数据X与第一权值矩阵M1先进行矩阵乘,然后加上偏置b1,通过Relu激活作为下一层的输入矩阵,然后与第二权值矩阵M2进行矩阵乘,加上偏置b2,得到输出Y。
[0003]一般来说,现代处理器多采用多核并行的架构,每个处理器核上的空间有限。由于FNN层的权值矩阵M1和/或M2较大,单个核难以完成矩阵乘计算。一般需要较多次的输入/输出(Input/Output,IO)操作才可以完成矩阵乘计算,而多次IO操作可能会增加通信时间,降低处理器的运行效率。
技术实现思路
[0004]为了解决如上所提到的一个或多个技术问题,本申请实施例在多个方面提出了提供了基于神经网络的矩阵乘运算方法及相关装置,按照预设顺序将输入数据块在N个集群中依次传递并计算,并将计算得到的结果向目标集群发送来完成下一次矩阵程序,在一定程度上可以充分利用集群之间的通信宽带,节省IO时间,提高运行效率。
[0005]在第一方面中,本申请实施例提供了一种基于神经网络的矩阵乘运算方法,该述方法应用于芯片,芯片包括N个集群,N个集群中 ...
【技术保护点】
【技术特征摘要】
1.一种基于神经网络的矩阵乘运算方法,其特征在于,所述方法应用于芯片,所述芯片包括N个集群,所述N个集群中的每个集群包括M个处理器核,N和M属于正整数,所述方法包括:将输入矩阵和i个权值矩阵写入所述N个集群中,其中,所述输入矩阵包括N个输入数据块,所述i个权值矩阵中的每个权值矩阵包括N*M个权值数据块,每个输入数据块分别写入在每个集群中,每个权值数据块分别写入在每个处理器核中;其中,i为大于且等于2的正整数;按照第一预设顺序将第一输入数据块在所述N个集群中依次传递并计算,得到多个第一中间结果,其中,所述第一输入数据块为所述N个输入数据块中的任意一个输入数据块,所述第一中间结果用于确定第一次矩阵乘时,所述输入矩阵和所述i个权值矩阵中的第一权值矩阵的第一矩阵乘结果;将在每个集群中计算得到的第一中间结果分别向对应的目标集群发送,得到多个第一中间数据块,其中,所述目标集群属于所述第一输入数据块没有被依次传递之前所写入的集群,所述第一中间数据块在每个目标集群中的摆放方式与所述输入数据块的摆放方式一致;按照第二预设顺序将目标第一中间数据块在所述N个集群中依次传递并计算,得到多个第二中间结果,其中,所述目标第一中间数据块为所述多个第一中间数据块中的任意一个第一中间数据块,所述第二中间结果用于确定第二次矩阵乘时,所述第一矩阵乘结果和所述i个权值矩阵中的第二权值矩阵的第二矩阵乘结果。2.根据权利要求1所述的方法,其特征在于,按照第二预设顺序将目标第一中间数据块在所述N个集群中依次传递并计算,得到多个第二中间结果之后,还包括:将在每个集群中计算得到的第i
‑
1中间结果分别向对应的所述目标集群发送,得到多个第i
‑
1中间数据块,其中,所述第i
‑
1中间数据块在每个集群中的摆放方式与所述输入数据块的摆放方式一致;按照第i预设顺序将目标第i
‑
1中间数据块在所述N个集群中依次传递并计算,得到多个第i中间结果,其中,所述目标第i
‑
1中间数据块为所述多个第i
‑
1中间数据块中的任意一个第i
‑
1中间数据块,所述第i中间结果用于确定第i次矩阵乘时,所述第i
‑
1矩阵乘结果和所述i个权值矩阵中的第i权值矩阵的第i次矩阵乘结果。3.根据权利要求1或2所述的方法,其特征在于,所述按照第一预设顺序将第一输入数据块在所述N个集群中依次传递并计算,得到多个第一中间结果,包括:按照第一预设顺序将第一输入数据块在所述N个集群中依次传递;将传递到第一集群中的所述第一输入数据块与所述第一集群中每个处理器核中的所述权值数据块进行矩阵乘运算,得到多个第一中间结果;其中,所述第一集群为所述N个集群中的任意一个集群。4.根据权利要求3所述的方法,其特征在于,所述N个集群之间存在环状通信链路;所述按照第一预设顺序将第一输入数据块在所述N个集群中依次传递,包括:通过每个集群之间的所述环状通信链路按照顺时针或逆时针将所述第一输入数据块在所述N个集群中依次传递。5.根据权利要求1所述的方法,其特征在于,所述按照第二预设顺序将目标第一中间数
据块在所述N个集群中依次传递并计算,得到多个第二中间结果,包括:按照第二预设顺序将目标第一中间数据块在所述N个集群中依次传递;将传递到第一集群中的所述目标第一中间数据块与所述第一集群中每个处理器核中的所述权值数据块进行矩阵乘运算,得到多个第二中间结果;其中,所述第一集群为所述N个集群中的任意一个集群。6.根据权利要求5所述的方法,其特征在于,所述N个集群之间存在环状通信链路;所述按照第二预设顺序将目标第一中间数据块在所述N个集群中依次传递,包括:通过每个集群之间的所述环状通信链路按照顺时针或逆时...
【专利技术属性】
技术研发人员:ꢀ七四专利代理机构,
申请(专利权)人:上海寒武纪信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。