神经网络运算方法及相关产品技术

技术编号:26067315 阅读:28 留言:0更新日期:2020-10-28 16:40
本披露提供一种运算数据的量化的方法及相关产品,该方法包括对神经网络运算的数据执行量化处理,对处理后的数据进行运算,本申请提供的技术方案具有计算量小,计算效率高,能耗低的优点。

【技术实现步骤摘要】
神经网络运算方法及相关产品
本披露涉及神经网络领域,尤其涉及一种神经网络运算方法及相关产品。
技术介绍
人工神经网络(ArtificialNeuralNetwork,即ANN),是20世纪80年代以来人工智能领域兴起的研亢热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。现有的神经网络的运算基于CPU(CentralProcessingUnit,中央处理器)或GPU(英文:GraphicsProcessingUnit,图形处理器)来实现神经网络的推理(即正向运算),此种推理的计算量大,功耗高。
技术实现思路
本披露实施例提供了一种运算数据的量化方法及相关产品,可降低推理、训练的计算量,提升计算芯片的处理速度,提高效率。第一方面,提供一种运算数据的量化方法,所述方法包括如下步骤:确定运算数据;获取量化命令,该量化命令包括连续量化精度;依据该运算数据确定该运算数据的量化精度f,依据该量化精度以及量化函数对该运算数据进行量化操作,得到量化后的数据,以使得所述人工智能处理器根据所述量化后的数据执行运算操作。可选的,所述运算数据包括:输入神经元A、输出神经元B、权重W、输入神经元导数输出神经元导数权重导数中的一种或任意组合。可选的,所述依据该量化精度以及量化函数对该运算数据进行量化操作,得到量化后的数据具体包括:依据连续量化精度f以及运算数据的元素值计算得到量化后的数据。可选的,所述依据连续量化精度f以及运算数据的元素值计算得到量化后的数据具体包括:连续定点量化函数为公式(1);其中,Y为量化后的连续定点数据,f为连续量化精度,σ为取整函数。可选的,所述取整函数为:向上取整函数、向下取整函数、四舍五入函数或随机取整函数。可选的,所述依据该运算数据确定该运算数据的量化精度具体包括:根据该运算数据绝对值最大值确定f;或根据该运算数据绝对值最小值确定f;或根据不同数据类型间关系确定f;或根据经验值常量确定f。可选的,所述根据该运算数据绝对值最大值确定f具体包括:如该所需的定点数据类型为连续定点数据,通过公式2-1来确定f其中c为常数,bitnum为量化后的数据的比特位数,amax为运算数据绝对值最大值。可选的,所述根据该运算数据绝对值最小值确定f具体包括:通过公式2-2确定精度f;fa=amin*d公式2-2其中d为常数,amin为运算数据绝对值最小值。可选的,所述运算数据绝对值最大值或所述绝对值最小值的确定方式具体包括:采用所有层分类寻找绝对值最大值或绝对值最小值;或采用采用分层分类别寻找绝对值最大值或绝对值最小值;或采用分层分类别分组进寻找绝对值最大值或绝对值最小值。可选的,所述根据不同数据类型间关系确定f具体包括:通过公式2-3来确定连续定点精度fa(l)=∑b≠aαbfb(l)+βb公式2-3为与数据a(l)同层的数据b(l)的连续定点精度,所述已知。可选的,所述根据经验值常量确定f具体包括:设定其中C为有理数常数;其中,为数据a(l)的连续定点精度。可选的,所述方法还包括:根据待量化的数据动态调整f。可选的,所述根据待量化的数据动态调整f具体包括:根据待量化数据绝对值最大值向上调整f:;或根据待量化数据绝对值最大值逐步向上调整f;或根据待量化数据分布单步向上调整f;或根据待量化数据分布逐步向上调整f;或根据待量化数据绝对值最大值向下调整f。可选的,所述方法还包括:动态调整f的触发频率。可选的,所述动态调整f的触发频率具体包括:永远不触发调整;或每隔δ个训练周期调整一次,δ固定不变;或每隔δ个训练时期epoch调整一次,δ固定不变;或每隔step个iteration或epoch调整step=αδ,其中α大于1;或每隔δ个训练iteration或epoch调整一次,所述δ随着训练次数的增加,逐渐递减。第二方面,提供一种计算芯片,所述计算芯片包括:处理单元,用于确定神经网络的运算数据;从计算库中提取与连续定点数据类型对应的量化函数;依据该运算数据确定该运算数据的量化精度f;量化单元,用于依据该量化精度以及量化函数对该运算数据量化得到量化后的连续定点数据;所述处理单元,还用于将量化后的连续定点数据执行神经网络运算得到运算结果。第三方面,提供一种神经网络运算装置,所述神经网络运算装置包括一个或多个第二方面提供的芯片。第四方面,提供一种组合处理装置,所述组合处理装置包括:第三方面提供的神经网络运算装置、通用互联接口和通用处理装置;所述神经网络运算装置通过所述通用互联接口与所述通用处理装置连接。第五方面,提供一种电子设备,所述电子设备包括第二方面提供的芯片或第三方面提供的神经网络运算装置。第六方面,提供一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第一方面提供的方法。第七方面,提供一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行第一方面提供的方法附图说明图1是一种神经网络的训练方法示意图。图2是一种神经网络运算的方法的流程示意图。图3是连续定点数据的表示示意图。图4a是一种芯片示意图。图4b是另一种芯片示意图。图5a为本披露还揭露了一个组合处理装置结构示意图。图5b为本披露还揭露了一个组合处理装置另一种结构示意图。图5c为本披露实施例提供的一种神经网络处理器板卡的结构示意图。图5d为本披露实施例流提供的一种神经网络芯片封装结构的结构示意图。图5e为本披露实施例流提供的一种神经网络芯片的结构示意图。图6为本披露实施例流提供的一种神经网络芯片封装结构的示意图。图6a为本披露实施例流提供的另一种神经网络芯片封装结构的示意图。具体实施方式为了使本
的人员更好地理解本披露方案,下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。本申请提供的运算数据的量化方法可以在处理器内运行,上述处理器可以为通用的处理器,例如中央处理器CPU,也可以是专用的处理本文档来自技高网
...

【技术保护点】
1.一种运算数据的量化的方法,其特征在于,所述方法应用于人工智能处理器,所述方法包括如下步骤:/n确定运算数据;/n获取量化命令,该量化命令包括连续量化精度;依据该运算数据确定该运算数据的连续量化精度f,依据该连续量化精度以及量化函数对该运算数据进行量化操作,得到量化后的数据,以使得所述人工智能处理器根据所述量化后的数据执行运算操作。/n

【技术特征摘要】
1.一种运算数据的量化的方法,其特征在于,所述方法应用于人工智能处理器,所述方法包括如下步骤:
确定运算数据;
获取量化命令,该量化命令包括连续量化精度;依据该运算数据确定该运算数据的连续量化精度f,依据该连续量化精度以及量化函数对该运算数据进行量化操作,得到量化后的数据,以使得所述人工智能处理器根据所述量化后的数据执行运算操作。


2.根据权利要求1所述的方法,其特征在于,
所述运算数据包括:输入神经元A、输出神经元B、权重W、输入神经元导数输出神经元导数权重导数中的一种或任意组合。


3.根据权利要求2所述的方法,其特征在于,所述依据该量化精度以及量化函数对该运算数据进行量化操作,得到量化后的数据具体包括:
依据连续量化精度f以及运算数据的元素值计算得到量化后的数据。


4.根据权利要求3所述的方法,其特征在于,所述依据连续量化精度f以及运算数据的元素值计算得到量化后的数据具体包括:
连续定点量化函数为公式(1);



其中,Y为量化后的连续定点数据,f为连续量化精度,σ为取整函数。


5.根据权利要求4所述的方法,其特征在于,

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海;31

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

1