神经网络模型的量化方法、电子设备及可读存储介质技术

技术编号:36227346 阅读:15 留言:0更新日期:2023-01-04 12:26
本申请涉及人工智能领域,公开了一种神经网络模型的量化方法、电子设备及可读存储介质。该方法通过确定量化的神经网络模型的预设结构,预设结构包括线性算子和非线性算子,并在非线性算子的类型为第一类型的情况下,将线性算子的输入数据的量化参数融合到非线性算子的第一浮点数权重数据中,确定第二浮点数权重数据,对第二浮点数权重数据进行量化,确定定点数权重数据,再根据定点数权重数据和线性算子的定点数输入数据的线性运算结果,进行与非线性算子功能对应的非线性运算,确定浮点数运算结果并生成定点数运算结果,从而能够优化算子之间传递数据的处理过程,减少神经网络模型的量化误差,提高神经网络模型的运行性能和计算精度。计算精度。计算精度。

【技术实现步骤摘要】
神经网络模型的量化方法、电子设备及可读存储介质


[0001]本申请涉及人工智能领域,特别涉及一种神经网络模型的量化方法、电子设备及可读存储介质。

技术介绍

[0002]随着人工智能(artificial intelligence,AI)的迅速发展,神经网络模型在人工智能领域的应用越来越广泛,神经网络模型在图像识别、目标检测、增强学习、语义分析等许多领域取得了显著的成果。由于运行神经网络模型的运算单元,例如神经网络处理器(Neural

Network Processing Unit,NPU),通常为定点运算单元,为提高神经网络模型的运行速度,通常将神经网络模型的各算子进行量化,得到定点运算的神经网络模型,再由电子设备来运行。
[0003]神经网络模型中往往包括大量由线性算子和非线性算子组成的网络结构,在对神经网络模型采用全定点量化方案进行量化时,分别对线性算子和非线性算子进行量化,会在量化后的线性算子和非线性算子中引入多次量化误差,导致神经网络模型的运行性能的降低和计算精度的下降。

技术实现思路

[0004]本申请实施例提供了一种神经网络模型的量化方法、电子设备及可读存储介质。电子设备通过将量化神经网络模型中由线性算子和非线性算子组成的网络结构进行算子融合,优化算子之间数据的量化过程,减少神经网络模型的量化误差,提高神经网络模型的运行性能和计算精度。
[0005]第一方面,本申请实施例提供了一种神经网络模型的量化方法,用于电子设备,该方法包括:
[0006]确定量化的神经网络模型的预设结构,其中,预设结构包括线性算子和非线性算子,量化的神经网络模型中各算子独立量化;
[0007]在非线性算子的类型为第一类型的情况下,将线性算子的至少一个输入数据的量化参数融合到非线性算子的第一浮点数权重数据中,确定第二浮点数权重数据;
[0008]对第二浮点数权重数据进行量化,确定定点数权重数据;
[0009]根据定点数权重数据和线性算子的至少一个定点数输入数据的线性运算结果,进行与非线性算子功能对应的非线性运算,确定浮点数运算结果;
[0010]对浮点数运算结果进行量化,生成定点数运算结果。
[0011]可以理解,现有的神经网络模型的量化方案是全定点量化,即将模型中各算子进行分别量化,从而导致在输入数据、输出数据和常量数据的量化过程中引入多次量化误差,导致计算资源的浪费和计算精度的下降,然而通过本申请的神经网络模型的量化方法,可以将神经网络模型中大量存在的结构中线性算子和非线性算子进行融合,优化数据的量化过程,从而减少神经网络模型的量化误差,提高神经网络模型的运行性能和计算精度。
[0012]通过上述方法,能够识别出神经网络模型中的预设结构,并将结构中线性算子的量化参数融合到非线性算子的浮点数权重数据后再量化得到定点数权重数据,再使用定点数权重数据和线性算子的定点数输入数据的线性运算结果进行非线性运算得到运算结果,从而减少量化误差的引入,避免计算资源的浪费。
[0013]在上述第一方面的一种可能的实现中,线性算子包括用于连接至少一个输入数据的连接算子,非线性算子包括用于实现卷积运算的卷积算子,量化参数包括缩放系数。
[0014]通过上述方法,可以有针对性识别出可以进行优化的算子组合,进行相应的量化优化。
[0015]在上述第一方面的一种可能的实现中,根据定点数权重数据和线性算子的至少一个定点数输入数据的线性运算结果,进行与非线性算子功能对应的非线性运算,确定浮点数运算结果,包括:
[0016]根据定点数权重数据、连接算子的至少一个定点数输入数据的连接结果和第一定点数偏置数据,进行与卷积算子功能对应的卷积运算,确定卷积运算的浮点数运算结果。
[0017]通过上述方法,将连接算子的定点数输入数据的连接结果直接作为卷积运算的输入数据,无需再进行量化,避免量化误差的引入。
[0018]在上述第一方面的一种可能的实现中,第一定点数偏置数据通过对卷积算子的浮点数偏置数据使用定点数权重数据对应的缩放系数进行量化得到。
[0019]通过上述方法,将偏置数据的缩放系数与定点数权重数据的缩放系数保持一致,可以为后续的反量化过程提供方便。
[0020]在上述第一方面的一种可能的实现中,该方法还包括:
[0021]在非线性算子的类型为第二类型的情况下,将线性算子的至少一个输入数据的量化参数与非线性算子在每个通道上的量化参数进行融合,确定融合的量化参数,其中,非线性算子在每个通道上进行量化;
[0022]根据非线性算子在每个通道上的定点数权重数据、线性算子的至少一个定点数输入数据的线性运算结果和融合的量化参数,进行与非线性算子功能对应的非线性运算,确定浮点数运算结果。
[0023]通过上述方法,可以针对使用深度卷积计算方式的卷积算子进行量化方面的优化,减少量化误差的引入,避免计算资源的消耗。
[0024]在上述第一方面的一种可能的实现中,线性算子包括用于连接至少一个输入数据的连接算子,非线性算子包括用于实现卷积运算的卷积算子,量化参数包括缩放系数。
[0025]通过上述方法,可以有针对性识别出可以进行优化的算子组合,进行相应的量化优化。
[0026]在上述第一方面的一种可能的实现中,根据非线性算子在每个通道上的定点数权重数据、线性算子的至少一个定点数输入数据的线性运算结果和融合的量化参数,进行与非线性算子功能对应的非线性运算,确定浮点数运算结果,包括:
[0027]根据卷积算子在每个通道上的定点数权重数据、连接算子的至少一个定点数输入数据的连接结果、融合的量化参数和第二定点数偏置数据,进行与卷积算子功能对应的深度卷积运算,确定深度卷积运算的浮点数运算结果。
[0028]通过上述方法,将连接算子的定点数输入数据的连接结果和卷积算子在每个通道
上的定点数权重数据直接作为深度卷积运算的输入数据,无需再进行量化,避免量化误差的引入。
[0029]在上述第一方面的一种可能的实现中,第二定点数偏置数据通过对卷积算子的浮点数偏置数据使用融合的量化参数得到。
[0030]通过上述方法,将偏置数据的缩放系数与定点数权重数据的缩放系数保持一致,可以为后续的反量化过程提供方便。
[0031]第二方面,本申请实施例提供了一种电子设备,包括:
[0032]存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及
[0033]处理器,是电子设备的处理器之一,用于执行上述第一方面以及第一方面的各种可能实现中的任意一种神经网络模型的量化方法。
[0034]第三方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有指令,该指令在计算机上执行时使计算机执行上述第一方面以及第一方面的各种可能实现中的任意一种神经网络模型的量化方法。
[0035]第四方面,本申请实施例提供了一种计算机程序产品,包括计算机程序/指令本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的量化方法,用于电子设备,其特征在于,包括:确定量化的神经网络模型的预设结构,其中,所述预设结构包括线性算子和非线性算子,所述量化的神经网络模型中各算子独立量化;在所述非线性算子的类型为第一类型的情况下,将所述线性算子的至少一个输入数据的量化参数融合到所述非线性算子的第一浮点数权重数据中,确定第二浮点数权重数据;对所述第二浮点数权重数据进行量化,确定定点数权重数据;根据所述定点数权重数据和所述线性算子的至少一个定点数输入数据的线性运算结果,进行与所述非线性算子功能对应的非线性运算,确定浮点数运算结果;对所述浮点数运算结果进行量化,生成定点数运算结果。2.根据权利要求1所述的方法,其特征在于,所述线性算子包括用于连接至少一个输入数据的连接算子,所述非线性算子包括用于实现卷积运算的卷积算子,所述量化参数包括缩放系数。3.根据权利要求2所述的方法,其特征在于,根据所述定点数权重数据和所述线性算子的至少一个定点数输入数据的线性运算结果,进行与所述非线性算子功能对应的非线性运算,确定浮点数运算结果,包括:根据所述定点数权重数据、所述连接算子的至少一个定点数输入数据的连接结果和第一定点数偏置数据,进行与所述卷积算子功能对应的卷积运算,确定卷积运算的浮点数运算结果。4.根据权利要求3所述的方法,其特征在于,所述第一定点数偏置数据通过对所述卷积算子的浮点数偏置数据使用所述定点数权重数据对应的缩放系数进行量化得到。5.根据权利要求1所述的方法,其特征在于,该方法还包括:在所述非线性算子的类型为第二类型的情况下,将所述线性算子的至少一个输入数据的量化参数与所述非线性算子在每个通道上的量化参数进行融合,确定融合的量化参数,其中,所述非线性算子在每个通道上进行量化;根据所述非线性算子在每个...

【专利技术属性】
技术研发人员:章小龙黄敦博刘超高毅
申请(专利权)人:安谋科技中国有限公司
类型:发明
国别省市:

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

1