一种深度学习量化感知训练方法、装置、设备及介质制造方法及图纸

技术编号:37980415 阅读:10 留言:0更新日期:2023-06-30 09:55
本申请公开了一种深度学习量化感知训练方法、装置、设备及介质,涉及深度学习技术领域,包括:加载预训练深度学习网络模型,并对所述预训练深度学习网络模型中的权重参数进行固化,得到固化后网络模型;对所述固化后网络模型中预设的可训练量化因子参数进行训练,得到训练后网络模型;加载所述训练后网络模型,并对所述训练后网络模型中的所述可训练量化因子参数和所述权重参数同时进行训练,得到量化感知训练后模型。本申请可以保证深度学习网络模型在低bit位进行量化的精度,同时提高轻量级网络模型和裁剪后网络模型量化感知训练的稳定性。的稳定性。的稳定性。

【技术实现步骤摘要】
一种深度学习量化感知训练方法、装置、设备及介质


[0001]本申请涉及深度学习
,特别涉及一种深度学习量化感知训练方法、装置、设备及介质。

技术介绍

[0002]随着深度学习的快速发展,模型的计算量越来越大,推理的时间也越来越长,对深度学习的推理部署提出了更大的挑战,特别是在一些小算力硬件设备上的部署。
[0003]目前深度学习模型加速方法之一是模型量化。传统的模型量化方法有训练后静态量化(PQT,Post Training Static Quantization)方法和量化感知训练(QAT,Quantization Aware Training)方法,其中,训练后静态量化方法是直接对训练后的模型进行量化,由于量化本身也是一种噪声的引入方式,因此会导致对噪声比较敏感的模型精度下降严重,并且多数训练后静态量化采用8bit量化,使得该方法应用范围受到很大的限制;而量化感知训练方法是在训练过程中,模拟量化的实际运行过程,包括边界截断和取整操作,并将量化过程中产生的误差也作为一个特征提供给网络学习,通常情况下量化感知训练会获得比训练后静态量化方法更好的精度,但由于取整函数中几乎每一处的梯度都是0,因此导致模型不能收敛。现有的技术方案是通过引入STE(Straight Through Estimator,即直通估计器)将量化前的权重梯度直接回传,使网络模型可以正常训练,但这种方式导致量化后梯度信息没法回传到反向传播中,导致求取的结果不是最优解,并且在对深度学习网络模型进行低bit位量化时,精度损失严重。另外,目前的量化感知训练方法在计算量化系数时是通过统计权重和激活的方式进行的,导致量化轻量级网络模型或裁剪后的网络模型时,容易出现训练发散的情况。
[0004]综上,如何对深度学习网络模型进行量化是目前还有待进一步解决的问题。

技术实现思路

[0005]有鉴于此,本申请的目的在于提供一种深度学习量化感知训练方法、装置、设备及存储介质,能够保证深度学习网络模型在低bit位进行量化的精度,同时提高轻量级网络模型和裁剪后网络模型量化感知训练的稳定性。其具体方案如下:
[0006]第一方面,本申请公开了一种深度学习量化感知训练方法,包括:
[0007]加载预训练深度学习网络模型,并对所述预训练深度学习网络模型中的权重参数进行固化,得到固化后网络模型;
[0008]对所述固化后网络模型中预设的可训练量化因子参数进行训练,得到训练后网络模型;
[0009]加载所述训练后网络模型,并对所述训练后网络模型中的所述可训练量化因子参数和所述权重参数同时进行训练,得到量化感知训练后模型。
[0010]可选的,所述可训练量化因子参数包括量化因子s和zero_pointβ。
[0011]可选的,所述对所述训练后网络模型中的所述可训练量化因子参数和所述权重参
数同时进行训练,得到量化感知训练后模型之后,还包括:
[0012]对所述量化感知训练后模型进行常量折叠合并。
[0013]可选的,所述对所述量化感知训练后模型进行常量折叠合并,包括:
[0014]加载所述量化感知训练后模型,并将所述量化感知训练后模型的BN层合并至卷积层,然后将所述zero_pointβ合并到bias中,再与所述量化因子s合并,以及将所述权重参数转换为整数形式。
[0015]可选的,所述zero_pointβ用于将所述输入所述可训练量化因子s的浮点型数据量化为整数型数据。
[0016]可选的,所述加载预训练深度学习网络模型,包括:
[0017]加载float数据类型的预训练深度学习网络模型。
[0018]第二方面,本申请公开了一种深度学习量化感知训练装置,包括:
[0019]第一网络模型加载模块,用于加载预训练深度学习网络模型;
[0020]权重参数固化模块,用于对所述预训练深度学习网络模型中的权重参数进行固化,得到固化后网络模型;
[0021]量化因子参数训练模块,用于对所述固化后网络模型中预设的可训练量化因子参数进行训练,得到训练后网络模型;
[0022]第二网络模型加载模块,用于加载所述训练后网络模型;
[0023]量化感知训练模块,用于对所述训练后网络模型中的所述可训练量化因子参数和所述权重参数同时进行训练,得到量化感知训练后模型。
[0024]可选的,所述量化感知训练模块之后,还包括:
[0025]常量折叠合并模块,用于对所述量化感知训练后模型进行常量折叠合并。
[0026]第三方面,本申请公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述的深度学习量化感知训练方法。
[0027]第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述的深度学习量化感知训练方法。
[0028]可见,本申请先加载预训练深度学习网络模型,并对所述预训练深度学习网络模型中的权重参数进行固化得到固化后网络模型,然后对所述固化后网络模型中预设的可训练量化因子参数进行训练得到训练后网络模型,接着加载所述训练后网络模型,并对所述训练后网络模型中的所述可训练量化因子参数和所述权重参数同时进行训练,得到量化感知训练后模型。本申请可以保证深度学习网络模型在低bit位进行量化的精度,同时提高轻量级网络模型和裁剪后网络模型量化感知训练的稳定性。
附图说明
[0029]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0030]图1为本申请公开的一种深度学习量化感知训练方法流程图;
[0031]图2为本申请公开的一种深度学习量化感知训练装置结构示意图;
[0032]图3为本申请公开的一种电子设备结构图。
具体实施方式
[0033]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0034]本申请实施例公开了一种深度学习量化感知训练方法,参见图1所示,该方法包括:
[0035]步骤S11:加载预训练深度学习网络模型,并对所述预训练深度学习网络模型中的权重参数进行固化,得到固化后网络模型。
[0036]本实施例中,先加载预训练深度学习网络模型,然后对上述预训练深度学习网络模型中的权重参数进行固化,得到相应的固化后网络模型。需要指出的是,所述预训练深度学习网络模型具体为float数据类型的训练好的预训练模型,也即已经经过了初次训练,并需进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种深度学习量化感知训练方法,其特征在于,包括:加载预训练深度学习网络模型,并对所述预训练深度学习网络模型中的权重参数进行固化,得到固化后网络模型;对所述固化后网络模型中预设的可训练量化因子参数进行训练,得到训练后网络模型;加载所述训练后网络模型,并对所述训练后网络模型中的所述可训练量化因子参数和所述权重参数同时进行训练,得到量化感知训练后模型。2.根据权利要求1所述的深度学习量化感知训练方法,其特征在于,所述可训练量化因子参数包括量化因子s和zero_pointβ。3.根据权利要求2所述的深度学习量化感知训练方法,其特征在于,所述对所述训练后网络模型中的所述可训练量化因子参数和所述权重参数同时进行训练,得到量化感知训练后模型之后,还包括:对所述量化感知训练后模型进行常量折叠合并。4.根据权利要求3所述的深度学习量化感知训练方法,其特征在于,所述对所述量化感知训练后模型进行常量折叠合并,包括:加载所述量化感知训练后模型,并将所述量化感知训练后模型的BN层合并至卷积层,然后将所述zero_pointβ合并到bias中,再与所述量化因子s合并,以及将所述权重参数转换为整数形式。5.根据权利要求2至4任一项所述的深度学习量化感知训练方法,其特征在于,所述zero_pointβ用于将所述输入所述可训练量化因子s的浮...

【专利技术属性】
技术研发人员:贾敬崧
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:

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

1