模型剪枝方法、装置、计算机设备、存储介质和程序产品与流程

文档序号:34715077发布日期:2023-07-07 16:03阅读:23来源:国知局
模型剪枝方法、装置、计算机设备、存储介质和程序产品与流程

本申请涉及模型剪枝,特别是涉及一种模型剪枝方法、装置、计算机设备、存储介质和程序产品。


背景技术:

1、模型剪枝(model pruning)技术可以减少神经网络模型(以下简称为源模型)的参数量,在模型的轻量化部署中有着广泛应用。模型剪枝的主要流程是:按照压缩比要求为源模型中需要剪枝的权重层分配压缩比,再衡量每个权重层中不同维度的权重的重要性,删除重要性较低的权重,保留重要性较高的权重。

2、目前,已经存在多种剪枝算法,若需要为某个源模型进行模型剪枝,相关技术中,通常分别训练各个剪枝算法,训练完成后再从中选择最优解作为剪枝模型对源模型进行模型剪枝。

3、然而,在具体的业务场景中,不仅要考虑剪枝处理后的模型的性能,还需要兼顾剪枝效率,上述模型剪枝方式存在剪枝效率低的问题。


技术实现思路

1、本申请实施例提供了一种模型剪枝方法、装置、计算机设备、存储介质和程序产品,可以在提升剪枝效率的同时保证剪枝后的模型的性能。

2、第一方面,提供了一种模型剪枝方法,该方法包括:

3、获取待剪枝处理的源模型对应的初始模型集合,所述初始模型集合中的各初始模型是利用各初始剪枝算法分别对所述源模型进行剪枝处理得到的;

4、将所述初始模型集合作为当前模型集合,进行迭代学习,对于每次迭代过程,从当前模型集合中确定目标模型和参考模型,利用所述参考模型训练所述目标模型,并利用训练后的目标模型更新当前模型集合,直至得到目标模型集合;

5、基于所述目标模型集合和筛选条件,确定所述源模型对应的剪枝处理后的模型。

6、第二方面,提供了一种模型剪枝装置,该装置包括:

7、获取模块,用于获取待剪枝处理的源模型对应的初始模型集合,所述初始模型集合中的各初始模型是利用各初始剪枝算法分别对所述源模型进行剪枝处理得到的;

8、迭代模块,用于将所述初始模型集合作为当前模型集合,进行迭代学习,对于每次迭代过程,从当前模型集合中确定目标模型和参考模型,利用所述参考模型训练所述目标模型,并利用训练后的目标模型更新当前模型集合,直至得到目标模型集合;

9、确定模块,用于基于所述目标模型集合和筛选条件,确定所述源模型对应的剪枝处理后的模型。

10、第三方面,提供了一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述第一方面所述的方法的步骤。

11、第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的方法的步骤。

12、第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的方法的步骤。

13、本申请实施例提供的技术方案带来的有益效果至少包括:

14、通过获取待剪枝处理的源模型对应的初始模型集合,该初始模型集合中的各初始模型是利用各初始剪枝算法分别对源模型进行剪枝处理得到的,而后,将初始模型集合作为当前模型集合进行迭代学习,对于每次迭代过程,从当前模型集合中确定目标模型和参考模型,利用参考模型训练目标模型,并利用训练后的目标模型更新当前模型集合,直至得到目标模型集合,再基于目标模型集合和筛选条件,确定源模型对应的剪枝处理后的模型,该筛选条件例如可以是从目标模型集合中选择出性能最好的剪枝模型作为源模型对应的剪枝处理后的模型,该筛选条件例如还可以是从目标模型集合中选择出性能最好的剪枝模型后再对其进行重训练处理,从而得到源模型对应的剪枝处理后的模型,该筛选条件例如还可以是从目标模型集合中选择出性能最好的多个剪枝模型再分别对其进行重训练处理,再从重训练结果中选择性能最好的模型作为源模型对应的剪枝处理后的模型,等等,这样,本申请实施例通过迭代学习不断更新优化当前模型集合,迭代完成后再基于上述筛选条件从中确定性能最好的模型作为源模型对应的剪枝处理后的模型,从而确保该剪枝处理后的模型的性能;另外,相较于传统技术中利用训练样本分别训练各个参数初始化的剪枝算法的方式而言,传统技术中每个参数初始化的剪枝算法在训练过程中需要循环迭代多次,其数据处理量庞大,训练效率低下,导致剪枝效率低,而本申请实施例中,直接利用参数初始化的各初始剪枝算法分别对源模型进行剪枝处理,不必分别训练各个参数初始化的剪枝算法,且本申请实施例利用参考模型训练目标模型来对当前模型集合进行迭代更新的方式,由于迭代次数少等原因(迭代次数例如可以和初始模型集合中各初始模型的个数相同),数据处理量也远远小于利用训练样本分别训练各个参数初始化的剪枝算法的数据处理量,从而本申请实施例也提升了剪枝效率。



技术特征:

1.一种模型剪枝方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述利用所述参考模型训练所述目标模型,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述参考输出结果、所述目标输出结果和预设机器学习算法训练所述目标模型,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据所述参考输出结果、所述目标输出结果和所述预设机器学习算法对应的损失函数计算损失值,包括:

5.根据权利要求2-4任一项所述的方法,其特征在于,所述预设机器学习算法为蒸馏学习算法。

6.根据权利要求1所述的方法,其特征在于,所述从当前模型集合中确定目标模型和参考模型,包括:

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,对所述匹配网络的网络参数进行更新的更新频率大于或者等于所述迭代学习的迭代频率。

9.根据权利要求1所述的方法,其特征在于,所述利用训练后的目标模型更新当前模型集合,包括:

10.根据权利要求1所述的方法,其特征在于,所述获取待剪枝处理的源模型对应的初始模型集合,包括:

11.根据权利要求10所述的方法,其特征在于,所述利用所述初始剪枝算法和目标压缩比对所述源模型进行剪枝处理得到初始模型之前,所述方法还包括:

12.根据权利要求10所述的方法,其特征在于,所述方法还包括:

13.根据权利要求1所述的方法,其特征在于,所述基于所述目标模型集合和筛选条件,确定所述源模型对应的剪枝处理后的模型,包括:

14.根据权利要求13所述的方法,其特征在于,所述根据各所述剪枝模型的性能指标值,确定所述剪枝处理后的模型,包括:

15.根据权利要求13所述的方法,其特征在于,所述根据各所述剪枝模型的性能指标值,确定所述剪枝处理后的模型,包括:

16.一种模型剪枝装置,其特征在于,包括:

17.一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至15中任一项所述的方法的步骤。

18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至15中任一项所述的方法的步骤。

19.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至15中任一项所述的方法的步骤。


技术总结
本申请涉及一种模型剪枝方法、装置、计算机设备、存储介质和程序产品。所述方法包括:获取待剪枝处理的源模型对应的初始模型集合,所述初始模型集合中的各初始模型是利用各初始剪枝算法分别对所述源模型进行剪枝处理得到的;将所述初始模型集合作为当前模型集合,进行迭代学习,对于每次迭代过程,从当前模型集合中确定目标模型和参考模型,利用所述参考模型训练所述目标模型,并利用训练后的目标模型更新当前模型集合,直至得到目标模型集合;基于目标模型集合和筛选条件,确定源模型对应的剪枝处理后的模型。采用本方法能够在提升剪枝效率的同时保证剪枝后的模型的性能。

技术研发人员:董旭炯
受保护的技术使用者:哲库科技(上海)有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1