【技术实现步骤摘要】
计算装置、计算方法及相关产品
本专利技术涉及数据处理领域,尤其涉及一种计算装置、计算方法及相关产品。
技术介绍
神经网络(neuralnetwork)已经获得了非常成功的应用,但是大规模神经网络的运算需要消耗大量的计算时间和计算能耗,对处理平台带来严峻挑战。因此,减少神经网络的计算时间和计算能耗成为一个亟待解决的问题。
技术实现思路
本专利技术实施例提供一种计算装置、计算方法及相关产品,能够减少神经网络的计算时间和计算能耗。第一方面,本专利技术实施例提供一种计算装置,包括:所述计算装置用于执行网络模型的计算,所述计算装置用于执行神经网络运算;所述计算装置包括:运算单元、控制器单元以及存储单元;所述存储单元,用于存储权值和输入神经元,所述权值包括重要比特位和非重要比特位;所述控制器单元,用于获取所述权值的重要比特位和非重要比特位,以及所述输入神经元,并将所述权值的重要比特位和非重要比特位、所述输入神经元传输给所述运算单元;所述运算单元,用于将所述输入神经元和所述重要比特位进行运算,得到输出神经元的第一运算结果;以及若所述第一运算结果小于或等于预设阈值,则跳过当前输出神经元的运算;若所述第一运算结果大于所述预设阈值,则将所述输入神经元与所述非重要比特位之间进行运算,得到第二运算结果,将所述第一运算结果与所述第二运算结果之和作为输出神经元。第二方面,本专利技术实施例还提供了一种机器学习运算装置,所述机器学习运算装置包括一个或多个如第一方面所 ...
【技术保护点】
1.一种计算装置,其特征在于,所述计算装置用于执行神经网络运算;所述计算装置包括:运算单元、控制器单元以及存储单元;/n所述存储单元,用于存储权值和输入神经元,所述权值包括重要比特位和非重要比特位;/n所述控制器单元,用于获取所述权值的重要比特位和非重要比特位,以及所述输入神经元,并将所述权值的重要比特位和非重要比特位、所述输入神经元传输给所述运算单元;/n所述运算单元,用于将所述输入神经元和所述重要比特位进行运算,得到输出神经元的第一运算结果;/n以及若所述第一运算结果小于或等于预设阈值,则跳过当前输出神经元的运算;/n若所述第一运算结果大于所述预设阈值,则将所述输入神经元与所述非重要比特位之间进行运算,得到第二运算结果,将所述第一运算结果与所述第二运算结果之和作为输出神经元。/n
【技术特征摘要】
1.一种计算装置,其特征在于,所述计算装置用于执行神经网络运算;所述计算装置包括:运算单元、控制器单元以及存储单元;
所述存储单元,用于存储权值和输入神经元,所述权值包括重要比特位和非重要比特位;
所述控制器单元,用于获取所述权值的重要比特位和非重要比特位,以及所述输入神经元,并将所述权值的重要比特位和非重要比特位、所述输入神经元传输给所述运算单元;
所述运算单元,用于将所述输入神经元和所述重要比特位进行运算,得到输出神经元的第一运算结果;
以及若所述第一运算结果小于或等于预设阈值,则跳过当前输出神经元的运算;
若所述第一运算结果大于所述预设阈值,则将所述输入神经元与所述非重要比特位之间进行运算,得到第二运算结果,将所述第一运算结果与所述第二运算结果之和作为输出神经元。
2.根据权利要求1所述的计算装置,其特征在于,若所述输入神经元以Nin表示,该输入神经元包括n个比特位,其中,n1个比特位为重要比特位和n2个非重要比特位,若n1个比特位对应的值以N1in表示,该n2个比特位对应的值以N2in表示,则n1+n2=n,Nin=N1in+N2in,n为正整数,n1为自然数且小于n。
3.根据权利要求1或2所述的计算装置,其特征在于,若所述权值以W表示,该权值包括w个比特位,其中,w1个比特位为重要比特位和w2个非重要比特位,若该w1个比特位对应的值以W1表示,该w2个比特位对应的值为W2表示,则w1+w2=w,W=W1+W2,w为正整数,w1为自然数且小于w。
4.根据权利要求3所述的计算装置,其特征在于,在所述输入神经元为多个时,所述运算单元包括多个乘法器和至少一个加法器;
所述多个乘法器和所述至少一个加法器,用于按照如下公式计算所述输出神经元:
其中,T为输入神经元的数量,Nout为输出神经元,N1in(i)是第i个输入神经元的重要比特位,N2in(i)表示第i个输入神经元的非重要比特位,W1(i)为第i个权值的重要比特位,W2(i)为第i个权值的非重要比特位,Nin(i)表示第i个输入神经元的值,W(i)表示第i个权值的值,Nin(i)=N1in(i)+N2in(i)且W(i)=W1(i)+W2(i);
优先计算Nout中的并将作为所述第一运算结果。
5.根据权利要求4所述的计算装置,其特征在于,所述运算单元还包括比较器,所述运算单元具体用于:
在所述比较器的比较结果为所述第一运算结果小于或等于预设阈值时,则跳过所述输出神经元的运算;若所述第一运算结果大于所述预设阈值,则将所述输入神经元与所述非重要比特位之间进行运算,得到第二运算结果,将所述第一运算结果与所述第二运算结果之和作为输出神经元方面,所述运算单元具体用于:
若小于或等于所述预设阈值,则跳过当前输出神经元的运算;
若大于所述预设阈值,则继续运算Nout,并输出最终的Nout。
6.根据权利要求1-5任一项所述的计算装置,其特征在于,
所述运算单元包括:一个主处理电路和多个从处理电路;
所述主处理电路用于将所述输入神经元拆分为多个数据块,将所述权值的重要比特位广播给所述多个从处理电路,将所述多个数据块分发给所述多个从处理电路;
所述从处理电路,用于将接收到的数据块与权重的重要比特位进行运算,得到部分结果,将所述部分结果发送给所述主处理电路;
所述主处理电路,还具体用于将接收到的所有部分结果拼接,得到所述第一运算结果。
7.根据权利要求6所述的计算装置,其特征在于,所述运算单元还包括一个或多个分支处理电路,每个分支处理电路连接至少一个从处理电路,
所述分支处理电路,用于转发所述主处理电路与所述多个从处理电路之间的数据块、广播数据以及运算指令。
8.根据权利要求6或7所述的计算装置,其特征在于,所述多个从处理电路呈阵列分布;每个从处理电路与相邻的其他从处理电路连接,所述主处理电路连接所述多个从处理电路中的k个从处理电路,所述k个从处理电路为:第1行的p个从处理电路、第q行的p个从处理电路以及第1列的q个从处理电路;
所述K个从处理电路,用于在所述主处理电路以及多个从处理电路之间的数据以及指令的转发;
所述主处理电路,用于确定所述输入神经元为分发数据,权值的重要比特位为广播数据,将一个分发数据分配成多个数据块,将所述多个数据块中的至少一个数据块以及多个运算指令中的至少一个运算指令发送给所述K个从处理电路;
所述K个从处理电路,用于转换所述主处理电路与所述多个从处理电路之间的数据。
9.根据权利要求6-8任意一项所述的装置,其特征在于,所述主处理电路包括:激活处理电路、加法处理电路中的一种或任意组合。
10....
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:中科寒武纪科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。