本申请涉及模型量化,特别是涉及一种模型量化方法、电子设备和计算机可读存储介质。
背景技术:
1、随着深度学习模型的广泛应用,模型量化作为模型实现轻量化的重要手段愈发得到关注,模型量化能够减小模型体积以及降低功耗便于模型部署,而模型量化需要考虑模型量化效率和量化效果,但现有的模型量化方式,若侧重量化效率提高则会导致量化效果较差,若侧重量化效果则会导致量化效率较低。有鉴于此,如何兼顾模型量化效率和量化后模型的效果成为了亟待解决的问题。
技术实现思路
1、本申请主要解决的技术问题是提供一种模型量化方法、电子设备和计算机可读存储介质,能够兼顾模型量化效率和量化后模型的效果。
2、为解决上述技术问题,本申请第一方面提供一种模型量化方法,该方法包括:获取候选基准数据及其对应的数据分布,基于所述数据分布选择至少部分所述候选基准数据作为参考基准数据;将待量化的模型分解为多个子网络并获取所述子网络的网络信息,利用所述网络信息在知识库中进行量化参数索引,确定索引到量化参数的子网络;其中,所述知识库中存储有量化完成的子网络的网络信息和量化参数;响应于至少部分所述子网络未索引到量化参数,利用所述参考基准数据对未索引到量化参数的子网络进行量化;获取量化后的模型,利用所述参考基准数据对量化后的模型进行验证,且在满足验证条件后得到量化完成的模型,并更新所述知识库。
3、为解决上述技术问题,本申请第二方面提供一种电子设备,该电子设备包括:相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行上述第一方面所述的方法。
4、为解决上述技术问题,本申请第三方面提供一种计算机可读存储介质,其上存储有程序数据,所述程序数据被处理器执行时实现上述第一方面所述的方法。
5、上述方案,获取候选基准数据以及候选基准数据对应的数据分布,以数据分布为依据从所有候选基准数据中选择至少部分候选基准数据作为参考基准数据,实现大批量数据向小批量数据转换。将待量化的模型分解为多个子网络,获取每个子网络的网络信息,利用网络信息在知识库中索引子网络的量化参数,确定能够索引到量化参数的子网络,其中,知识库中存储有量化完成的子网络的网络信息和量化参数,从而便于对网络信息匹配一致的子网络的量化参数进行复用,提高量化效率。当至少部分子网络未索引到量化参数时,利用参考基准数据对未索引到量化参数的子网络进行量化,从而先在知识库中进行量化参数索引,后对未索引到量化参数的子网络进行量化,分步骤阶梯式确定每个子网络的量化参数,对于未索引到量化参数的子网络进行单独量化,以提高子网络量化的精度,增强模型量化后的效果。基于子网络的量化参数对模型进行量化,得到量化后的模型,利用参考基准数据对量化后的模型进行验证,确定是否满足验证条件,以验证量化效果,在满足验证条件后得到量化完成的模型,并更新知识库。故此,知识库中存储有量化完成的子网络的网络信息和量化参数,以便于索引后复用,子网络的量化参数是利用参考基准数据进行量化得到的,参考基准数据是基于数据分布选择的,能够选择模型部署场景中更适配的数据,既能够提高利用参考基准数据进行量化和验证时的效率,又能够保障模型与场景适配时模型的精度,以及获取较为适配的量化参数减少推理耗时,兼顾模型量化效率和量化后模型的效果。
1.一种模型量化方法,其特征在于,所述方法包括:
2.根据权利要求1所述的模型量化方法,其特征在于,所述获取候选基准数据及其对应的数据分布,基于所述数据分布选择至少部分所述候选基准数据作为参考基准数据,包括:
3.根据权利要求2所述的模型量化方法,其特征在于,所述预设范围包括多个取值区间,所述取值区间基于所述分布取值相对所述分布峰值的距离确定;
4.根据权利要求1所述的模型量化方法,其特征在于,所述网络信息包括所述子网络的网络类型和网络参数;
5.根据权利要求4所述的模型量化方法,其特征在于,所述将待量化的模型分解为多个子网络并获取每个所述子网络的网络类型和网络参数,得到每个所述子网络的网络信息,生成所述网络信息对应的索引标识,包括:
6.根据权利要求1所述的模型量化方法,其特征在于,所述获取量化后的模型,利用所述参考基准数据对量化后的模型进行验证,且在满足验证条件后得到量化完成的模型,并更新所述知识库,包括:
7.根据权利要求6所述的模型量化方法,其特征在于,所述利用所述输入特征验证所述子网络的处理精度,并基于所述处理精度从所有所述子网络中筛选得到待修正网络,对所述待修正网络的量化参数进行调整,包括:
8.根据权利要求6所述的模型量化方法,其特征在于,所述利用所述参考基准数据对未索引到量化参数的子网络进行量化,包括:
9.一种电子设备,其特征在于,包括:相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行如权利要求1-8中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有程序数据,其特征在于,所述程序数据被处理器执行时实现如权利要求1-8中任一项所述的方法。