本申请涉及人工智能,特别是涉及一种模型压缩方法、装置、电子设备和存储介质。
背景技术:
1、随着人工智能技术的不断发展,越来越多的领域开始应用基于深度学习的网络模型,例如,将基于计算机视觉的网络模型应用于图像识别和图像处理,将基于自然语言处理的网络模型应用于语义识别和自动问答等。
2、目前需要对网络模型进行压缩,以提高其在部署在电子设备后的推理运行速度。然而,传统的模型压缩方法存在精度损失大的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够减小精度损失的模型压缩方法、装置、电子设备和存储介质。
2、第一方面,本申请提供了一种模型压缩方法,方法包括:
3、对源模型进行优化处理,得到优化后的源模型;优化处理包括扩充源模型的至少一层卷积层的输出通道数;
4、对优化后的源模型进行模型压缩,得到经压缩的模型。
5、在其中一个实施例中,对源模型进行优化处理,得到优化后的源模型的步骤,包括:
6、基于源模型的模型算力和模型性能,确定出最优扩充数值;
7、根据最优扩充数值调整至少一层卷积层的输出通道数,得到优化后的源模型。
8、在其中一个实施例中,基于源模型的模型算力和模型性能,确定出最优扩充数值的步骤,包括:
9、若至少一层卷积层的数量为一层,则按照各候选扩充数值分别调整源模型的至少一层卷积层的输出通道数,得到各通道扩充后的源模型;
10、在通道扩充后的源模型的模型算力满足任务算力要求的情况下,利用测试集分别获取各通道扩充后的源模型的模型性能;其中,模型性能包括通道扩充后的源模型的分类准确率;
11、比较各通道扩充后的源模型的模型性能,得到模型性能最优的通道扩充后的源模型;
12、将模型性能最优的通道扩充后的源模型所对应的候选扩充数值,确认为最优扩充数值。
13、在其中一个实施例中,基于源模型的模型算力和模型性能,确定出最优扩充数值的步骤,包括:
14、若至少一层卷积层的数量为至少两层,则获取各通道扩充后的源模型;通道扩充后的源模型为分别按照各候选扩充数值调整源模型的至少一层卷积层的输出通道数得到;
15、在通道扩充后的源模型的模型算力满足任务算力要求的情况下,通过搜索策略获取模型性能最优的通道扩充后的源模型;其中,搜索策略为基于至少一层卷积层的数量以及候选扩充数值的数量所确定;
16、将模型性能最优的通道扩充后的源模型所对应的各候选扩充数值,确认为最优扩充数值。
17、在其中一个实施例中,方法还包括:
18、对模型性能最优的通道扩充后的源模型进行训练调优;
19、响应于模型性能最优的通道扩充后的源模型的模型性能收敛,确定完成模型性能最优的通道扩充后的源模型的训练调优;
20、将完成训练调优的模型性能最优的通道扩充后的源模型,作为优化后的源模型。
21、在其中一个实施例中,方法还包括:
22、若至少一层卷积层的数量小于或等于数量阈值、且候选扩充数值的数量小于或等于预设数量,则确认搜索策略为枚举算法。
23、在其中一个实施例中,方法还包括:
24、若至少一层卷积层的数量大于数量阈值、且候选扩充数值的数量大于预设数量,则确认搜索策略为基于进化算法的网络架构搜索。
25、在其中一个实施例中,通过搜索策略获取模型性能最优的通道扩充后的源模型的步骤,包括:
26、基于各通道扩充后的源模型构建超网络,从超网络中随机选取一个通道扩充后的源模型作为子网络,直至子网络的数量达到预设个数,将各子网络的集合作为种群集合;
27、在通道扩充后的源模型的模型算力满足任务算力要求的情况下,基于种群集合,循环执行迭代步骤,直至确定出模型性能最优的通道扩充后的源模型;
28、其中,迭代步骤包括:
29、获取本轮迭代的种群集合中各子网络的模型性能;
30、根据各子网络的模型性能,将模型性能更优的预设个数的子网络保留在本轮迭代的种群集合中,得到更新后的种群集合;
31、选取超网络中的子网络进行杂交操作和/或变异操作,得到用于下一轮迭代的种群集合;下一轮迭代的种群集合包括更新后的种群集合中的子网络,以及经过交叉操作和/或变异操作后的子网络。
32、在其中一个实施例中,对优化后的源模型进行模型压缩,得到经压缩的模型的步骤,包括:
33、对优化后的源模型进行模型量化,得到经压缩的模型。
34、在其中一个实施例中,对优化后的源模型进行模型量化,得到经压缩的模型的步骤,包括:
35、采用量化感知训练qat处理优化后的源模型,得到经压缩的模型。
36、在其中一个实施例中,对优化后的源模型进行模型量化,得到经压缩的模型的步骤,包括:
37、采用训练后量化ptq处理优化后的源模型,得到经压缩的模型。
38、在其中一个实施例中,对优化后的源模型进行模型压缩,得到经压缩的模型的步骤,包括:
39、对优化后的源模型进行剪枝处理,得到经压缩的模型。
40、在其中一个实施例中,优化处理还包括针对经扩充至少一层卷积层的输出通道数的源模型的训练调优;其中,训练调优用于获取训练至模型性能收敛的源模型。
41、第二方面,本申请还提供了一种模型压缩装置,装置包括:
42、优化模块,用于对源模型进行优化处理,得到优化后的源模型;优化处理包括扩充源模型的至少一层卷积层的输出通道数;
43、压缩模块,用于对优化后的源模型进行模型压缩,得到经压缩的模型。
44、第三方面,本申请还提供了一种电子设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的方法的步骤。
45、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法的步骤。
46、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
47、上述模型压缩方法、装置、电子设备和存储介质,通过对源模型进行优化处理,得到优化后的源模型;其中,优化处理包括扩充源模型的至少一层卷积层的输出通道数,进而通过对优化后的源模型进行模型压缩得到经压缩的模型。本申请实施例从优化源模型的角度出发,通过通道扩充提升源模型的表现,进而在提高待压缩源模型的性能的同时,弥补压缩过程中的精度损失。
1.一种模型压缩方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对源模型进行优化处理,得到优化后的源模型的步骤,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述源模型的模型算力和模型性能,确定出最优扩充数值的步骤,包括:
4.根据权利要求2所述的方法,其特征在于,所述基于所述源模型的模型算力和模型性能,确定出最优扩充数值的步骤,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述通过搜索策略获取所述模型性能最优的所述通道扩充后的源模型的步骤,包括:
9.根据权利要求1所述的方法,其特征在于,所述对所述优化后的源模型进行模型压缩,得到经压缩的模型的步骤,包括:
10.根据权利要求9所述的方法,其特征在于,所述对所述优化后的源模型进行模型量化,得到所述经压缩的模型的步骤,包括:
11.根据权利要求9所述的方法,其特征在于,所述对所述优化后的源模型进行模型量化,得到所述经压缩的模型的步骤,包括:
12.根据权利要求1所述的方法,其特征在于,所述对所述优化后的源模型进行模型压缩,得到经压缩的模型的步骤,包括:
13.根据权利要求11或12所述的方法,其特征在于,所述优化处理还包括针对经扩充所述卷积层的输出通道数的所述源模型的训练调优;其中,所述训练调优用于获取训练至模型性能收敛的源模型。
14.一种模型压缩装置,其特征在于,所述装置包括:
15.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。