运算单元、相关装置和方法制造方法及图纸

技术编号:33299440 阅读:25 留言:0更新日期:2022-05-06 12:04
本公开提供了一种运算单元、相关装置和方法。该运算单元包括:权重缓冲器,用于存储从M

【技术实现步骤摘要】
运算单元、相关装置和方法


[0001]本公开涉及芯片领域,更具体而言,涉及一种运算单元、相关装置和方法。

技术介绍

[0002]人工智能领域广泛应用深度神经网络(DNN)。为了降低DNN的计算强度和内存开销,之前的研究提出了大量的网络剪枝技术来去除DNN中的冗余连接。深度神经网络具有多层节点,每个节点与前一层的节点连接,相当于接收前一层的节点的输出作为输入,与节点的权重矩阵进行运算(乘法、卷积等)。剪枝技术相当于将节点的权重矩阵中的大量节点变为0,以增加其稀疏性。对于0的权重,不必参加运算,从而降低计算强度和内存开销。在所有剪枝方法中,结构化剪枝是一种很有希望在硬件上有效实现的剪枝技术。通过结构化剪枝,产生的结构稀疏度通常呈现固定的模式和分布,例如权重矩阵中50%的权重为0,对硬件相当友好。
[0003]然而,上述剪枝技术侧重于DNN在软件上的实现。当DNN需要部署到硬件上执行时,目前有两种硬件部署方式。一种是用传统的专用于密集DNN推理的张量引擎或核心来实现DNN,这种方式并不能充分利用DNN的结构稀疏性。另一种是基于权重重用的张量引本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种运算单元,包括:权重缓冲器,用于存储从M
×
Kα的稀疏后权重矩阵取出的行向量,其中,M、K分别是稀疏前权重矩阵的行数和列数,α为稀疏系数;激励缓冲器,用于存储K
×
N的激励矩阵;索引选通器,用于存储与所述行向量对应的选通索引,并按照所述选通索引选通所述激励矩阵的行,得到Kα
×
N的选通后激励矩阵;点积运算单元,用于将所述行向量与所述选通后激励矩阵相乘。2.根据权利要求1所述的运算单元,其中,所述权重缓冲器有L个,用于分别存储从所述稀疏后权重矩阵顺序取出的L个行向量;索引选通器有L个,用于分别存储与所述L个行向量对应的选通索引;所述点积运算单元有L
·
N个,用于分别将所述L个行向量与所述选通后激励矩阵的N个列向量相乘。3.根据权利要求2所述的运算单元,其中,L=2。4.根据权利要求1所述的运算单元,其中,α=50%。5.根据权利要求2所述的运算单元,其中,所述点积运算单元为所述权重矩阵与所述激励矩阵的乘法设置M/L个时钟周期,其中,M是L的整数倍;在单个时钟周期中,所述权重缓冲器中的行向量分别通过该行向量对应的N个点积运算单元与所述选通后激励矩阵的N个列向量相乘。6.根据权利要求2所述的运算单元,其中,所述行向量在被所述点积运算单元进行乘法运算的时钟周期的前第一预定数目个时钟周期,加载到所述权重缓冲器。7.根据权利要求6所述的运算单元,其中,所述第一预定数目为1。8.根据权利要求2所述的运算单元,其中,所述选通索引在依据该选通索引选通出的选通后激励矩阵被所述点积运算单元进行乘法运算的时钟周期的前第二预定数目个时钟周期,加载到所述索引选通器。9.根据权利要求8所述的运算单元,其中,所述第二预定数目为1。10.根据权利要求2所述的运算单元,其中,所述激励矩阵在对该激励矩阵选通得到的第一个选通后激励矩阵被所述点积运算单元进行乘法运算的时钟周期的前第三预定数目个时钟周期,加载到所述激励缓冲器,且保持M/L个时钟周期。11.根据权利要求10所述的运算单元,其中,所述第三预定数目为M/L+1。12.根据权利要求10所述的运算单元,还包括:备选激励缓冲器,用于存储下一个激励矩阵,且一旦所述激励矩阵从所述激励缓冲器卸载,用所述备选激励缓冲器存储的所述下一个激励矩阵加载所述激励缓冲器。13.根据权利要求1所述的运算单元,其中,所述激励缓冲器包括作为乒乓缓冲器的第一激励缓冲器和第二激励缓冲器,分别用于存储当前激励矩阵和下一个激励矩阵,其中,所述第一激励缓冲器和所述第二激励缓冲器都与所述索引选通器相连,当点积运算单元完成稀疏后权重矩阵的各行向量与选通后的当前激励矩阵的乘法后,所述索引选通器倒换到选通所述第二激励缓冲器。14.一种加速单元,包括:指令缓存器,用于缓存待执行指令;根据权利要求1-13中任一个所述的运算单元;
定序器,用于从所述指令缓冲器取出所述待执行指令,且如果所述待执行指令是所述稀疏后权重矩阵与所述激励矩阵的乘法指令,将所述乘法指令分配给所述运算单...

【专利技术属性】
技术研发人员:关义金孙飞罗竣文李浩然王邦彦关天婵张雅文
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1