【技术实现步骤摘要】
基于神经网络计算的数据处理方法和装置
本申请涉及数据处理领域,并且更具体地,涉及基于神经网络计算的数据处理方法和装置。
技术介绍
基于神经网络的计算设备在对数据进行数据处理(例如,卷积操作)的过程中,需要消耗大量的计算资源。尤其是在卷积层和全连接层这两种类型的数据处理层中,由于这两种类型的数据处理层中对应的数据处理过程实质上为基于浮点数的矩阵乘法运算,即将浮点类型的数据矩阵与浮点类型的权重矩阵进行矩阵乘法,导致数据处理的过程中的计算量较大,占用的计算资源非常高。为了减少计算设备对数据进行数据处理时的计算量,目前业界引入了量化操作,即将上述数据处理过程中涉及的浮点数据转化定点数据,利用基于定点数据的矩阵乘法所需的计算资源小于基于浮点数据的矩阵乘法所需的计算资源这一特性,以降低计算设备对数据进行数据处理时的计算量。量化操作本质上属于有损的转换,量化后的定点数据的量化位宽越少,计算设备对数据处理的精度越低。通常,量化后的数据在经过线性计算后需要作为下一次计算的输入数据,因此,为了减少量化操作对数据精度的影响,上述量化后的数 ...
【技术保护点】
1.一种基于量化的神经网络的数据处理方法,其特征在于,所述基于量化的神经网络包括三级数据处理结构,所述三级数据处理结构包括:第一线性计算层、修正线性单元ReLU层以及第二线性计算层;其中,/n所述第一线性计算层包括第一量化子层、第一计算子层以及第一反量化子层;所述第一量化子层用于根据第一数据量化系数对输入数据进行量化,得到第一量化数据;所述第一计算子层用于根据量化后的第一权重对所述第一量化数据进行计算,得到第一计算结果,所述第一反量化子层用于对所述第一计算结果进行反量化,得到第一输出数据;所述量化后的第一权重根据第一权重量化系数得到;/n所述ReLU层用于对所述第一输出数据 ...
【技术特征摘要】 【专利技术属性】
1.一种基于量化的神经网络的数据处理方法,其特征在于,所述基于量化的神经网络包括三级数据处理结构,所述三级数据处理结构包括:第一线性计算层、修正线性单元ReLU层以及第二线性计算层;其中,
所述第一线性计算层包括第一量化子层、第一计算子层以及第一反量化子层;所述第一量化子层用于根据第一数据量化系数对输入数据进行量化,得到第一量化数据;所述第一计算子层用于根据量化后的第一权重对所述第一量化数据进行计算,得到第一计算结果,所述第一反量化子层用于对所述第一计算结果进行反量化,得到第一输出数据;所述量化后的第一权重根据第一权重量化系数得到;
所述ReLU层用于对所述第一输出数据进行ReLU运算,得到中间输出数据;
所述第二线性计算层包括第二量化子层、第二计算子层以及第二反量化子层;所述第二量化子层用于根据第二数据量化系数对所述中间输出数据进行量化,得到第二量化数据;所述第二计算子层用于对所述第二量化数据进行计算,得到第二计算结果,所述第二反量化子层用于根据第二反量化系数对所述第二计算结果进行反量化,得到第二输出数据;
所述数据处理方法包括:
采用与所述三级数据处理结构中相同的方法得到所述第一计算结果;
对所述第一计算结果进行重量化得到重量化后的第一计算结果,所述重量化包括:将所述第一计算结果乘以重量化系数以得到所述重量化后的第一计算结果;对所述重量化后的第一计算结果进行所述ReLU运算以得到所述第二量化数据;或者,对所述第一计算结果进行ReLU得到ReLU运算后的第一计算结果,对所述ReLU运算后的第一计算结果进行重量化,所述重量化包括:将所述ReLU运算后的第一计算结果乘以重量化系数以得到所述第二量化数据;
采用与所述三级数据处理结构中相同的方法对所述第二量化数据进行处理;
其中,所述重量化系数等于所述第一数据量化系数乘以所述第一权重量化系数再除以所述第二数据量化系数。
2.如权利要求1所述的方法,其特征在于,所述第一计算结果被存储在存储器中,所述对所述第一计算结果进行ReLU得到ReLU运算后的第一计算结果包括:
将所述第一计算结果从所述存储器中读出;
将所述第一计算结果通过数据通路上的比较器来完成所述ReLU运算,以得到所述ReLU运算后的第一计算结果。
3.如权利要求2所述的方法,其特征在于,所述重量化由重量化电路来处理,所述比较器的输出作为所述重量化电路的输入。
4.如权利要求3所述的方法,其特征在于,所述数据通路为数据从所述存储器到所述重量化电路的输入之间的路径。
5.如权利要求1-4中任一项所述的方法,其特征在于,在所述采用与所述三级数据处理结构中相同的方法得到所述第一计算结果之前,所述方法还包括:
获取全精度神经网络模型中的每一层对应的校准输入数据以及权重,其中,所述全精度神经网络模型中的第一层的校准输入数据为预先准备的校准数据集中的数据,其余各层的校准输入数据为上一层的输出数据;
获取每一层对应的所述校准输入数据的最优的最大值以及所述权重的最优的最大值;
根据每一层的所述校准输入数据的最优的最大值、所述权重的最优的最大值以及每一层可选的多种数据格式确定每一层的多个候选权重量化系数、多个候选数据量化系数、多个候选数据位宽、多个候选数据反量化系数以及多个候选权重量化系数;
根据每一层的所述多个候选权重量化系数和所述全精度神经网络模型中每一层的权重得到每一层的多个量化后的候选权重;
根据每一层的所述多个候选数据量化系数、所述多个候选数据反量化系数、所述多个候选权重量化系数以及所述多个量化后的候选权重确定多种基于量化的神经网络模型;
将所述校准数据集中的数据输入到所述多种基于量化的神经网络模型,统计多个运行结果;
根据所述多个运行结果从所述多种基于量化的神经网络模型中选择运行结果满足预设条件的所述基于量化的神经网络模型。
6.如权利要求5所述的方法,其特征在于,所述数据格式包括:整型INT4,整型INT8,整型INT16,浮点型FP16或者浮点型FP32。
技术研发人员:陈超,徐斌,谢展鹏,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。