本公开涉及计算机,具体地,涉及一种模型量化方法、装置、介质以及电子设备。
背景技术:
1、模型量化是指将浮点计算模型转换为低比特的定点计算模型,从而有效地降低模型的计算强度、参数大小以及内存消耗。但是,在相关技术中,无论采用何种模型量化技术,均不可避免地给模型带来巨大的精度损失。因此,如何在维持模型精度不变或者仅仅损失较小精度的情况下,对模型进行量化,成为亟需解决的技术问题。
技术实现思路
1、提供该
技术实现要素:
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
2、第一方面,本公开提供一种模型量化方法,包括:
3、根据初始量化位宽,对初始模型进行量化,获得量化模型,其中所述初始模型为图像类型的模型、文本类型的模型、音频类型的模型中的一种;
4、将所述初始模型作为所述量化模型的教师模型,对所述量化模型进行蒸馏训练,获得训练后的量化模型;
5、减小所述初始量化位宽,获得目标量化位宽;
6、将所述目标量化位宽作为所述初始量化位宽,以及将所述训练后的量化模型作为所述初始模型,返回执行根据初始量化位宽,对初始模型进行量化,获得量化模型的步骤,直至所述目标量化位宽达到目标阈值,并将达到所述目标阈值的所述目标量化位宽对应的所述训练后的量化模型确定为训练完成的量化模型。
7、第二方面,本公开提供一种模型量化装置,包括:
8、量化模块,被配置为根据初始量化位宽,对初始模型进行量化,获得量化模型,其中所述初始模型为图像类型的模型、文本类型的模型、音频类型的模型中的一种;
9、训练模块,被配置为将所述初始模型作为所述量化模型的教师模型,对所述量化模型进行蒸馏训练,获得训练后的量化模型;
10、获得模块,被配置为减小所述初始量化位宽,获得目标量化位宽;
11、循环模块,被配置为将所述目标量化位宽作为所述初始量化位宽,以及将所述训练后的量化模型作为所述初始模型,返回所述量化模块,直至所述目标量化位宽达到目标阈值,并将达到所述目标阈值的所述目标量化位宽对应的所述训练后的量化模型确定为训练完成的量化模型。
12、第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面所述方法的步骤。
13、第四方面,本公开提供一种电子设备,包括:
14、存储装置,其上存储有计算机程序;
15、处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面所述方法的步骤。
16、基于上述技术方案,通过根据初始量化位宽,对初始模型进行量化,获得量化模型,将初始模型作为量化模型的教师模型,对量化模型进行蒸馏训练,获得训练后的量化模型,然后减小初始量化位宽,获得目标量化位宽,进而将目标量化位宽作为初始量化位宽,以及将训练后的量化模型作为初始模型,继续对初始模型进行量化,直至目标量化位宽达到目标阈值,并将达到目标阈值的目标量化位宽对应的训练后的量化模型确定为训练完成的量化模型,可以将上一量化位宽的模型作为当前的量化模型的教师模型,对当前的量化模型进行蒸馏训练,从而保证量化后的模型的精度能够进一步提升。而且,通过将上一量化位宽的模型作为当前的量化模型的教师模型进行蒸馏训练,可以使用参数量差异不大的模型进行蒸馏训练,进一步保证了低比特的量化模型的精度的稳定性。
17、本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
1.一种模型量化方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述初始模型作为所述量化模型的教师模型,对所述量化模型进行蒸馏训练,获得训练后的量化模型,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一损失以及所述第二损失,构建总损失函数,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一损失、所述第二损失以及所述第三损失,构建所述总损失函数,包括:
5.根据权利要求4所述的方法,其特征在于,所述第一自适应参数以及所述第二自适应参数通过以下步骤确定:
6.根据权利要求5所述的方法,其特征在于,所述根据所述量化模型的第一梯度值以及所述初始模型的第二梯度值,确定所述第一自适应参数以及所述第二自适应参数,包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一梯度下降幅度以及所述第二梯度下降幅度,确定所述第一自适应参数以及所述第二自适应参数,包括:
8.一种模型量化装置,其特征在于,包括:
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括: