模型量化方法、装置、介质及电子设备制造方法及图纸

技术编号:37578905 阅读:14 留言:0更新日期:2023-05-15 07:54
本发明专利技术提供一种模型量化方法、装置、介质及电子设备,其中,模型量化方法包括:为模型运行过程中的待量化数据设置对应的量化统计算子;在样本集上两次整体运行模型,构建待量化数据的全局直方图;以及基于待量化数据的全局直方图执行模型量化,得到量化后的模型。本发明专利技术提高了模型量化的速度和效率。明提高了模型量化的速度和效率。明提高了模型量化的速度和效率。

【技术实现步骤摘要】
模型量化方法、装置、介质及电子设备


[0001]本专利技术涉及模型量化
,更具体地,涉及模型量化中的量化统计方法,基于该量化统计方法的模型量化方法,以及相应的装置、计算机可读介质和电子设备。

技术介绍

[0002]神经网络模型,特别是卷积神经网络模型,已广泛应用于图像识别、图像分类等领域。模型量化指的是在神经网络模型的运行过程中,将参与计算(例如,卷积计算)的浮点形式(例如,FP32)的数据和权重映射到定点形式(例如,INT8)的数据,以达到减少存储空间、降低内存消耗并且加快模型运行速度的目的。
[0003]一种常见的模型量化方法是min

max模型量化方法,该方法包括首先获得量化前数据的最小值min和最大值max,然后将[min,max]内的值映射到量化后数据的范围内(例如,对于INT8形式的数据而言,其范围为[

127,127])。另一种常见的模型量化方法是采用KL散度(Kullback

Leibler divergence)的模型量化方法,该方法寻找一个阈值|T|,以将[

|T|,|T|]内的值映射到量化后数据的范围内(例如,[

127,127]),而将[

|T|,|T|]外的值分别映射到量化后数据的最大值或最小值,并且用KL散度来度量量化前后的数据分布之间的相似性,KL散度越小表示量化前与量化后的数据分布越相似,即模型量化对量化前数据造成的损失越小,则该KL散度所对应的阈值越准确。
[0004]采用KL散度的模型量化方法对于值分布不均匀的数据具有良好的量化效果,但在执行模型量化时内存消耗较大,导致模型量化的速度较慢、效率较低。

技术实现思路

[0005]为克服上述现有技术中存在的问题,根据本专利技术的一个实施例,提供一种模型量化方法,包括:为模型运行过程中的待量化数据设置对应的量化统计算子;在样本集上第一次整体运行模型,在第一次整体运行模型的过程中,由量化统计算子统计对应的待量化数据的全局最大值和全局最小值;在样本集上第二次整体运行模型,在第二次整体运行模型的过程中,由量化统计算子基于对应的待量化数据的全局最大值和全局最小值,构建对应的待量化数据的全局直方图;以及,基于待量化数据的全局直方图执行模型量化,得到量化后的模型。
[0006]在上述方法中,通过两次整体运行模型来统计待量化数据的全局直方图,与通过打散模型进行直方图统计的传统方法相比,其编译所占用的内存较小,即内存消耗较小。由于减少了内存消耗,因此可以提高量化统计的速度和效率,同时还能够稳定且准确地得到量化统计的结果。由于量化统计消耗的内存较小,并且量化统计的速度和效率较高,因此也提高了模型量化的速度和效率。上述模型量化方法适用于样本较多或模型较大的情况下的模型量化,并且适用于内循环较多的递归模型的模型量化。
[0007]另外,在上述方法中,引入了量化统计算子来对对应的待量化数据进行量化统计。通过引入这样的量化统计算子,实现了量化统计工作的模块化,对于已经训练好的模型而
言,通过在该模型中的相应位置插入量化统计算子,即可以实现量化统计。并且,所引入的量化统计算子可以与现有的各种模型量化方法相结合,例如,在量化统计算子统计得到对应的待量化数据的全局直方图之后,可以与现有的采用KL散度的模型量化方法、min

max模型量化方法等结合,完成模型量化。上述模型量化方法适用于TVM、TensorRT等多种模型框架,因此本专利技术还提高了通用性。
[0008]在第一次整体运行模型的过程中,由量化统计算子统计对应的待量化数据的全局最大值和全局最小值,包括:由量化统计算子将对应的待量化数据的初始全局最大值和初始全局最小值设置为空;以及,将样本集中的每个样本依次输入模型,在针对每个样本运行模型时,由量化统计算子统计对应的待量化数据的局部最大值和局部最小值,并且根据局部最大值和局部最小值来更新对应的待量化数据的全局最大值和全局最小值。
[0009]在第二次整体运行模型的过程中,由量化统计算子基于对应的待量化数据的全局最大值和全局最小值,构建对应的待量化数据的全局直方图,包括:由量化统计算子基于对应的待量化数据的全局最大值和全局最小值,得到对应的待量化数据的全局直方图的范围;由量化统计算子在对应的待量化数据的全局直方图的范围内,构建对应的待量化数据的初始全局直方图;以及,将样本集中的每个样本依次输入模型,在针对每个样本运行模型时,由量化统计算子构建对应的待量化数据的局部直方图,并且将局部直方图与对应的待量化数据的全局直方图进行累加,以更新对应的待量化数据的全局直方图。
[0010]上述方法还可以包括:在模型中,将量化统计算子设置在获得对应的待量化数据的位置与使用对应的待量化数据进行计算的位置之间。
[0011]上述方法还可以包括:由量化统计算子存储对应的待量化数据的全局最大值和全局最小值;以及,由量化统计算子注册回调函数,以对量化统计算子内存储的信息进行跟踪查看。
[0012]由此可见,在第一次整体运行模型之后,量化统计算子仅存储对应的待量化数据的全局最大值和全局最小值,而无需保存所有的中间数据,因此与传统方法相比进一步减少了内存消耗。另外,注册回调函数使得对待量化数据的全局最大值和全局最小值的跟踪查看更加便利。
[0013]在上述方法中,待量化数据可以划分为动态待量化数据和静态待量化数据。其中,对于动态待量化数据和静态待量化数据可以使用不同的模型量化方法执行量化,具体地,使用采用KL散度的模型量化方法对动态待量化数据执行量化,以及使用min

max模型量化方法对静态待量化数据执行量化。
[0014]根据本专利技术的一个实施例,提供一种用于图像识别的模型量化方法,该方法包括:获取模型和样本集,该模型用于在支持第一数据形式的系统上运行以执行图像识别;为模型运行过程中的待量化数据设置对应的量化统计算子;在样本集上第一次整体运行模型,在第一次整体运行模型的过程中,由量化统计算子统计对应的待量化数据的全局最大值和全局最小值;在样本集上第二次整体运行模型,在第二次整体运行模型的过程中,由量化统计算子基于对应的待量化数据的全局最大值和全局最小值,构建对应的待量化数据的全局直方图;以及,基于待量化数据的全局直方图执行模型量化,得到量化后的模型,量化后的模型用于在支持第二数据形式的系统上运行以执行图像识别,其中第二数据形式的数据在长度上小于第一数据形式的数据。
[0015]根据本专利技术的一个实施例,提供一种模型量化装置,包括预设模块、统计模块和量化模块。其中,预设模块用于为模型运行过程中的待量化数据设置对应的量化统计算子。统计模块用于在样本集上第一次整体运行模型,在第一次整体运行模型的过程中,设置量化统计算子统计对应的待量化数据的全局最大值和全局最小值;以及,在样本集上第二次整体运行模型,在第二次整体运行模型的过程中,设置量化统计算子基于对应的待量化数据的全本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模型量化方法,其特征在于,所述方法包括:为模型运行过程中的待量化数据设置对应的量化统计算子;在样本集上第一次整体运行所述模型,在第一次整体运行所述模型的过程中,由所述量化统计算子统计对应的待量化数据的全局最大值和全局最小值;在所述样本集上第二次整体运行所述模型,在第二次整体运行所述模型的过程中,由所述量化统计算子基于对应的待量化数据的全局最大值和全局最小值,构建对应的待量化数据的全局直方图;以及基于待量化数据的全局直方图执行模型量化,得到量化后的模型。2.根据权利要求1所述的方法,其特征在于,在第一次整体运行所述模型的过程中,由所述量化统计算子统计对应的待量化数据的全局最大值和全局最小值,包括:由所述量化统计算子将对应的待量化数据的初始全局最大值和初始全局最小值设置为空;以及将所述样本集中的每个样本依次输入所述模型,在针对每个样本运行所述模型时,由所述量化统计算子统计对应的待量化数据的局部最大值和局部最小值,并且根据所述局部最大值和所述局部最小值来更新对应的待量化数据的全局最大值和全局最小值。3.根据权利要求1或2所述的方法,其特征在于,在第二次整体运行所述模型的过程中,由所述量化统计算子基于对应的待量化数据的全局最大值和全局最小值,构建对应的待量化数据的全局直方图,包括:由所述量化统计算子基于对应的待量化数据的全局最大值和全局最小值,得到对应的待量化数据的全局直方图的范围;由所述量化统计算子在对应的待量化数据的全局直方图的范围内,构建对应的待量化数据的初始全局直方图;以及将所述样本集中的每个样本依次输入所述模型,在针对每个样本运行所述模型时,由所述量化统计算子构建对应的待量化数据的局部直方图,并且将所述局部直方图与对应的待量化数据的全局直方图进行累加,以更新对应的待量化数据的全局直方图。4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:在所述模型中,将所述量化统计算子设置在获得对应的待量化数据的位置与使用对应的待量化数据进行计算的位置之间。5. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:由所述量化统计算子存储对应的待量化数据的全局最大值和全局最小值;以及由所述量化统计算子注册回调函数,以对所述量化统计算子内存储的信息进行跟踪查看。6.根据权利要求1或2所述的方法,其特征在于,所述待量化数据包括动态待量化数据和静态待量化数据;以及基于待量化数据的全局直方图执行模型量化包括:对于动态待量化数据和静态待量化数据使用不同的模型量化方法执行量化。7.一种用于图像识别的模型量化方法,其特征在于,所述方法包括:获取模型和样本集,所述模型用于在支持第一数据形式的系统上运行...

【专利技术属性】
技术研发人员:马文建李晓泉
申请(专利权)人:上海登临科技有限公司
类型:发明
国别省市:

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

1