一种量化模型的生成方法及装置、电子设备及存储介质制造方法及图纸

技术编号:36798317 阅读:10 留言:0更新日期:2023-03-08 23:20
本公开涉及一种量化模型的生成方法及装置、电子设备及存储介质,所述方法包括:对于预先训练的目标检测模型进行量化;根据所述目标检测模型每一网络层的量化前与量化后输出值的差值,确定每一网络层对目标检测模型的贡献度;对于贡献度小于预设阈值的所有网络层进行分组,确定每一组的网络层;对每一组的网络层和贡献度大于或等于预设阈值的每一网络层,进行并行量化,得到与所述目标检测模型对应的量化模型,将每一组的多个贡献度小于预设阈值的网络层与单个贡献度大于或等于预设阈值的网络层进行并行量化,能够通过对贡献度较大的网络层进行单独量化,确保量化过程精度,并通过并行量化的方式提高量化过程的速度。并行量化的方式提高量化过程的速度。并行量化的方式提高量化过程的速度。

【技术实现步骤摘要】
一种量化模型的生成方法及装置、电子设备及存储介质


[0001]本公开涉及神经网络
,尤其涉及一种量化模型的生成方法及装置、电子设备及存储介质。

技术介绍

[0002]在针对图像分类模型压缩所采取的参数量化方法中,存在以下问题:图像分类模型量化在低比特约束下,能够有效表示的数据较少,但是量化后的模型精度会大幅度丢失,其中,低比特可以是4

bit。
[0003]相关技术中,采用了块重建的量化方式,使用模型中每一个块的输出结果对相应的卷积块中的参数进行更新,从而达到一个结合局部信息与全局信息的方式;还可以采用量化与知识蒸馏相结合的方法,以每一层卷积层的输出以及激活函数的输出指导量化过程。
[0004]然而,在量化过程中,只采用逐层或者逐块的量化方式,没有较好的权衡局部信息与全局信息对量化造成的影响,从而导致精度丢失严重。
[0005]因此,在深度神经网络模型量化过程中,减少在低比特约束下丢失的精度是一个亟需解决的问题。

技术实现思路

[0006]为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的实施例提供了一种量化模型的生成方法及装置、电子设备及存储介质。
[0007]第一方面,本公开的实施例提供了一种量化模型的生成方法,所述方法包括:对于预先训练的目标检测模型进行量化;根据所述目标检测模型每一网络层的量化前与量化后输出值的差值,确定每一网络层对目标检测模型的贡献度;对于贡献度小于预设阈值的所有网络层进行分组,确定每一组的网络层;对每一组的网络层和贡献度大于或等于预设阈值的每一网络层,进行并行量化,得到与所述目标检测模型对应的量化模型。
[0008]在一种可能的实施方式中,通过以下表达式,根据所述目标检测模型每一网络层的量化前与量化后输出值的差值,确定每一网络层对目标检测模型的贡献度:其中,S为当前网络层对目标检测模型的贡献度,为当前网络层量化前的第i个输出值,为当前网络层量化后的第i个输出值。
[0009]在一种可能的实施方式中,所述对于预先训练的目标检测模型进行量化,包括:对于预先训练的目标检测模型的每一网络层的每一个权重因子,从当前比特位调
整为目标比特位,其中,所述目标比特位小于当前比特位。
[0010]在一种可能的实施方式中,所述对于贡献度小于预设阈值的所有网络层进行分组,确定每一组的网络层,包括:按照网络层在目标检测模型中的先后顺序,对贡献度小于预设阈值的所有网络层进行排序,得到排序后网络层;对于排序后网络层进行分组,确定每一组的网络层,其中,每一组的网络层的个数为预设值。
[0011]在一种可能的实施方式中,所述对每一组的网络层和贡献度大于或等于预设阈值的每一网络层,进行并行量化,包括:对贡献度大于或等于预设阈值的每一网络层分别分配一个并行线程,将贡献度大于或等于预设阈值的每一网络层作为第一目标网络层进行量化;对每一组的网络层分别分配一个并行线程,将每一组的网络层中的每一网络层作为第二目标网络层进行量化。
[0012]在一种可能的实施方式中,所述将每一组的网络层中的每一网络层作为第二目标网络层进行量化,包括:将每一组的网络层中的每一网络层作为第二目标网络层;按照每一组的网络层在目标检测模型中的先后顺序,依次对第二目标网络层进行量化。
[0013]在一种可能的实施方式中,所述对第二目标网络层进行量化,包括:调整第二目标网络层的所有已知待量化参数取值范围的最值,并根据多组调整后最值分别对第二目标网络层进行量化;在第二目标网络层为目标检测模型的第M网络层的情况下,对于用于量化第M网络层的每一组调整后最值,按照网络层在目标检测模型中的先后顺序,依次计算第M网络层至第三目标网络层中,每一网络层在第M网络层量化前和量化后的输出值,其中,所述第三目标网络层为排序后网络层中第M网络层后面的第一个网络层;根据第M网络层至第三目标网络层中,每一网络层在第M网络层量化前和量化后的输出值,分别计算第M网络层至第三目标网络层中每一网络层的损失值;按照网络层在目标检测模型中的先后顺序,对第M网络层至第三目标网络层中每一网络层的损失值进行排序,根据排序后的损失值确定损失值拐点;将损失值拐点作为当前组调整后最值对第M网络层的量化过程的终止点;对比每一组调整后最值对应的损失值拐点对应的损失值,将损失值最小的调整后最值作为目标最值。
[0014]在一种可能的实施方式中,所述将贡献度大于或等于预设阈值的每一网络层作为第一目标网络层进行量化,包括:将贡献度大于或等于预设阈值的每一网络层作为第一目标网络层;调整第一目标网络层的所有已知待量化参数取值范围的最值,并根据多组调整后最值分别对第一目标网络层进行量化;在第一目标网络层为目标检测模型的第N网络层的情况下,根据第N网络层以及第N网络层之后网络层,在第N网络层每一次量化后与量化前分别对应的输出值,从多组调整
后最值中选取目标最值;将所述目标最值用于量化分类模型的第N网络层。
[0015]在一种可能的实施方式中,所述调整第一目标网络层的所有已知待量化参数取值范围的最值,包括:根据第一目标网络层的所有已知待量化参数的初始最值,确定所有已知待量化参数的取值范围;按照预设步长,缩小所有已知待量化参数的取值范围;根据每一次缩小后取值范围,确定每一组调整后最值。
[0016]在一种可能的实施方式中,所述根据多组调整后最值分别对第一目标网络层进行量化,包括:根据每一组调整后最值计算量化步长和量化零点;基于量化步长和量化零点,对第N网络层的待量化参数进行量化。
[0017]在一种可能的实施方式中,所述在第一目标网络层为目标检测模型的第N网络层的情况下,根据第N网络层以及第N网络层之后网络层,在第N网络层每一次量化后与量化前分别对应的输出值,从多组调整后最值中选取目标最值,包括:在第一目标网络层为目标检测模型的第N网络层的情况下,对于用于量化第N网络层的每一组调整后最值,按照网络层在目标检测模型中的先后顺序,依次计算第N网络层以及第N网络层之后网络层在第N网络层量化前和量化后的输出值;根据第N网络层以及第N网络层之后网络层在第N网络层量化前和量化后的输出值,分别计算第N网络层以及第N网络层之后网络层的损失值;按照网络层在目标检测模型中的先后顺序,对第N网络层以及第N网络层之后网络层的损失值进行排序,根据排序后的损失值确定损失值拐点;将损失值拐点作为当前组调整后最值对第N网络层的量化过程的终止点;对比每一组调整后最值对应的损失值拐点对应的损失值,将损失值最小的调整后最值作为目标最值。
[0018]第二方面,本公开的实施例提供了一种量化模型的生成装置,包括:第一量化模块,用于对于预先训练的目标检测模型进行量化;第一确定模块,用于根据所述目标检测模型每一网络层的量化前与量化后输出值的差值,确定每一网络层对目标检测模型的贡献度;第二确定模块,用于对于贡献度小于预设阈值的所有网络层进行分组,确定每一组的网络层;第二量化模块,用于对每一组的网络层和贡献度大于或等于预设阈值的每本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种量化模型的生成方法,其特征在于,所述方法包括:对于预先训练的目标检测模型进行量化;根据所述目标检测模型每一网络层的量化前与量化后输出值的差值,确定每一网络层对目标检测模型的贡献度;对于贡献度小于预设阈值的所有网络层进行分组,确定每一组的网络层;对每一组的网络层和贡献度大于或等于预设阈值的每一网络层,进行并行量化,得到与所述目标检测模型对应的量化模型。2.根据权利要求1所述的方法,其特征在于,通过以下表达式,根据所述目标检测模型每一网络层的量化前与量化后输出值的差值,确定每一网络层对目标检测模型的贡献度:其中,S为当前网络层对目标检测模型的贡献度,为当前网络层量化前的第i个输出值,为当前网络层量化后的第i个输出值。3.根据权利要求1所述的方法,其特征在于,所述对于预先训练的目标检测模型进行量化,包括:对于预先训练的目标检测模型的每一网络层的每一个权重因子,从当前比特位调整为目标比特位,其中,所述目标比特位小于当前比特位。4.根据权利要求1所述的方法,其特征在于,所述对于贡献度小于预设阈值的所有网络层进行分组,确定每一组的网络层,包括:按照网络层在目标检测模型中的先后顺序,对贡献度小于预设阈值的所有网络层进行排序,得到排序后网络层;对于排序后网络层进行分组,确定每一组的网络层,其中,每一组的网络层的个数为预设值。5.根据权利要求1所述的方法,其特征在于,所述对每一组的网络层和贡献度大于或等于预设阈值的每一网络层,进行并行量化,包括:对贡献度大于或等于预设阈值的每一网络层分别分配一个并行线程,将贡献度大于或等于预设阈值的每一网络层作为第一目标网络层进行量化;对每一组的网络层分别分配一个并行线程,将每一组的网络层中的每一网络层作为第二目标网络层进行量化。6.根据权利要求5所述的方法,其特征在于,所述将每一组的网络层中的每一网络层作为第二目标网络层进行量化,包括:将每一组的网络层中的每一网络层作为第二目标网络层;按照每一组的网络层在目标检测模型中的先后顺序,依次对第二目标网络层进行量化。7.根据权利要求6所述的方法,其特征在于,所述对第二目标网络层进行量化,包括:调整第二目标网络层的所有已知待量化参数取值范围的最值,并根据多组调整后最值分别对第二目标网络层进行量化;在第二目标网络层为目标检测模型的第M网络层的情况下,对于用于量化第M网络层的
每一组调整后最值,按照网络层在目标检测模型中的先后顺序,依次计算第M网络层至第三目标网络层中,每一网络层在第M网络层量化前和量化后的输出值,其中,所述第三目标网络层为排序后网络层中第M网络层后面的第一个网络层;根据第M网络层至第三目标网络层中,每一网络层在第M网络层量化前和量化后的输出值,分别计算第M网络层至第三目标网络层中每一网络层的损失值;按照网络层在目标检测模型中的先后顺序,对第M网络层至第三目标网络层中每一网络层的损失值进行排序,根据排序后的损失值确定损失值拐点;将损失值拐点作为当前组调整后最值对第M网络层的量化过程的终止点;对比每一组调整后最值对应的损失值拐点对应的损失值,将损失值最小的调整后最值作为目标最值。8.根据权利要求5所述的方法,其特征在于,所述将贡献度大于或等...

【专利技术属性】
技术研发人员:刘艳林金辉王恒石宇航孙梦磊杨思琪
申请(专利权)人:北京科技大学
类型:发明
国别省市:

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

1