运算数据的混合量化方法及相关产品技术

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

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

【技术保护点】
1.一种运算数据的混合量化方法,所述方法应用于人工智能处理器,其特征在于,所述方法包括如下步骤:/n确定运算数据;/n获取量化命令,该量化命令包括量化精度的数据类型,依据该数据类型从计算库中提取与该数据类型对应的量化函数;/n将该运算数据划分成g组数据,依据该量化精度的数据类型对该g组数据采用混合量化操作,得到量化后的数据,以使得所述人工智能处理器根据所述量化后的数据执行运算操作,所述g为大于等于2的整数。/n

【技术特征摘要】
1.一种运算数据的混合量化方法,所述方法应用于人工智能处理器,其特征在于,所述方法包括如下步骤:
确定运算数据;
获取量化命令,该量化命令包括量化精度的数据类型,依据该数据类型从计算库中提取与该数据类型对应的量化函数;
将该运算数据划分成g组数据,依据该量化精度的数据类型对该g组数据采用混合量化操作,得到量化后的数据,以使得所述人工智能处理器根据所述量化后的数据执行运算操作,所述g为大于等于2的整数。


2.根据权利要求1所述的方法,其特征在于,
所述运算数据包括:输入神经元A、输出神经元B、权重W、输入神经元导数输出神经元导数权重导数中的一种或任意组合;
所述量化精度的数据类型具体包括:离散量化精度或连续量化精度。


3.根据权利要求2所述的方法,其特征在于,所述依据该量化精度的数据类型对该g组数据采用混合量化操作具体包括:
依据该量化精度的数据类型对该g组数据采用至少二种量化精度的数据类型对g组进行量化操作,其中g组数据中单组数据的量化精度的数据类型相同。


4.根据权利要求1-3任意一项所述的方法,其特征在于,所述将该运算数据划分成g组数据具体包括:
依据神经网络的网络层将运算数据划分成g组数据;
或依据所述人工智能处理器的核数量将运算数据划分成g组数据。


5.根据权利要求3所述的方法,其特征在于,所述依据该量化精度...

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

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

1