模型剪枝方法、装置、计算机设备、存储介质和程序产品制造方法及图纸

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

【技术实现步骤摘要】
模型剪枝方法、装置、计算机设备、存储介质和程序产品


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

技术介绍

[0002]模型剪枝(Model Pruning)技术可以减少神经网络模型(以下简称为源模型)的参数量,在模型的轻量化部署中有着广泛应用。模型剪枝的主要流程是:按照压缩比要求为源模型中需要剪枝的权重层分配压缩比,再衡量每个权重层中不同维度的权重的重要性,删除重要性较低的权重,保留重要性较高的权重。
[0003]目前,已经存在多种剪枝算法,若需要为某个源模型进行模型剪枝,相关技术中,通常分别训练各个剪枝算法,训练完成后再从中选择最优解作为剪枝模型对源模型进行模型剪枝。
[0004]然而,在具体的业务场景中,不仅要考虑剪枝处理后的模型的性能,还需要兼顾剪枝效率,上述模型剪枝方式存在剪枝效率低的问题。

技术实现思路

[0005]本申请实施例提供了一种模型剪枝方法、装置、计算机设备、存储介质和程序产品,可以在提升剪枝效率的同时保证剪枝后的模型的性能。
[0006]第一方面,提供了一种模型剪枝方法,该方法包括:
[0007]获取待剪枝处理的源模型对应的初始模型集合,所述初始模型集合中的各初始模型是利用各初始剪枝算法分别对所述源模型进行剪枝处理得到的;
[0008]将所述初始模型集合作为当前模型集合,进行迭代学习,对于每次迭代过程,从当前模型集合中确定目标模型和参考模型,利用所述参考模型训练所述目标模型,并利用训练后的目标模型更新当前模型集合,直至得到目标模型集合;
[0009]基于所述目标模型集合和筛选条件,确定所述源模型对应的剪枝处理后的模型。
[0010]第二方面,提供了一种模型剪枝装置,该装置包括:
[0011]获取模块,用于获取待剪枝处理的源模型对应的初始模型集合,所述初始模型集合中的各初始模型是利用各初始剪枝算法分别对所述源模型进行剪枝处理得到的;
[0012]迭代模块,用于将所述初始模型集合作为当前模型集合,进行迭代学习,对于每次迭代过程,从当前模型集合中确定目标模型和参考模型,利用所述参考模型训练所述目标模型,并利用训练后的目标模型更新当前模型集合,直至得到目标模型集合;
[0013]确定模块,用于基于所述目标模型集合和筛选条件,确定所述源模型对应的剪枝处理后的模型。
[0014]第三方面,提供了一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述第一方面所述的方法的步骤。
[0015]第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的方法的步骤。
[0016]第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的方法的步骤。
[0017]本申请实施例提供的技术方案带来的有益效果至少包括:
[0018]通过获取待剪枝处理的源模型对应的初始模型集合,该初始模型集合中的各初始模型是利用各初始剪枝算法分别对源模型进行剪枝处理得到的,而后,将初始模型集合作为当前模型集合进行迭代学习,对于每次迭代过程,从当前模型集合中确定目标模型和参考模型,利用参考模型训练目标模型,并利用训练后的目标模型更新当前模型集合,直至得到目标模型集合,再基于目标模型集合和筛选条件,确定源模型对应的剪枝处理后的模型,该筛选条件例如可以是从目标模型集合中选择出性能最好的剪枝模型作为源模型对应的剪枝处理后的模型,该筛选条件例如还可以是从目标模型集合中选择出性能最好的剪枝模型后再对其进行重训练处理,从而得到源模型对应的剪枝处理后的模型,该筛选条件例如还可以是从目标模型集合中选择出性能最好的多个剪枝模型再分别对其进行重训练处理,再从重训练结果中选择性能最好的模型作为源模型对应的剪枝处理后的模型,等等,这样,本申请实施例通过迭代学习不断更新优化当前模型集合,迭代完成后再基于上述筛选条件从中确定性能最好的模型作为源模型对应的剪枝处理后的模型,从而确保该剪枝处理后的模型的性能;另外,相较于传统技术中利用训练样本分别训练各个参数初始化的剪枝算法的方式而言,传统技术中每个参数初始化的剪枝算法在训练过程中需要循环迭代多次,其数据处理量庞大,训练效率低下,导致剪枝效率低,而本申请实施例中,直接利用参数初始化的各初始剪枝算法分别对源模型进行剪枝处理,不必分别训练各个参数初始化的剪枝算法,且本申请实施例利用参考模型训练目标模型来对当前模型集合进行迭代更新的方式,由于迭代次数少等原因(迭代次数例如可以和初始模型集合中各初始模型的个数相同),数据处理量也远远小于利用训练样本分别训练各个参数初始化的剪枝算法的数据处理量,从而本申请实施例也提升了剪枝效率。
附图说明
[0019]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为一个实施例中剪枝算法的分类示意图;
[0021]图2为一个实施例中模型剪枝方法的流程图;
[0022]图3为一个实施例中利用参考模型训练目标模型的流程图;
[0023]图4为一个实施例中从当前模型集合中确定目标模型和参考模型的流程图;
[0024]图5为一个实施例中步骤201的流程图;
[0025]图6为一个实施例中一种示例性地源模型的目标卷积层和目标源模型的目标卷积层的卷积核数量对比示意图;
[0026]图7为一个实施例中从目标模型集合中确定目标剪枝模型的流程图;
[0027]图8为一个实施例中一种示例性地模型剪枝方法的整体框架示意图;
[0028]图9为一个实施例中一种示例性地利用各初始剪枝算法分别对源模型进行剪枝处理的示意图;
[0029]图10为一个实施例中模型剪枝装置的结构框图;
[0030]图11为一个实施例中计算机设备的内部结构图。
具体实施方式
[0031]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0032]模型剪枝(Model Pruning)作为神经网络模型的压缩和优化的一项技术,由于其可以减少神经网络模型的参数量,因此在神经网络模型的轻量化部署和实际落地中有着广泛应用
[0033]模型剪枝的主要依据是训练完成的神经网络模型(为了描述方便,以下简称为源模型)存在一定的冗余度,可以在保持性能的前提下去掉部分权重。模型剪枝的主要流程是:按照压缩任务的压缩比要求,根据一定的分配算法为源模型中需要剪枝的所有权重本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模型剪枝方法,其特征在于,包括:获取待剪枝处理的源模型对应的初始模型集合,所述初始模型集合中的各初始模型是利用各初始剪枝算法分别对所述源模型进行剪枝处理得到的;将所述初始模型集合作为当前模型集合,进行迭代学习,对于每次迭代过程,从当前模型集合中确定目标模型和参考模型,利用所述参考模型训练所述目标模型,并利用训练后的目标模型更新当前模型集合,直至得到目标模型集合;基于所述目标模型集合和筛选条件,确定所述源模型对应的剪枝处理后的模型。2.根据权利要求1所述的方法,其特征在于,所述利用所述参考模型训练所述目标模型,包括:获取所述参考模型针对目标输入样本的参考输出结果,并获取所述目标模型针对所述目标输入样本的目标输出结果;根据所述参考输出结果、所述目标输出结果和预设机器学习算法训练所述目标模型。3.根据权利要求2所述的方法,其特征在于,所述根据所述参考输出结果、所述目标输出结果和预设机器学习算法训练所述目标模型,包括:根据所述参考输出结果、所述目标输出结果和所述预设机器学习算法对应的损失函数计算损失值;根据所述损失值调整所述目标模型的模型参数。4.根据权利要求3所述的方法,其特征在于,所述根据所述参考输出结果、所述目标输出结果和所述预设机器学习算法对应的损失函数计算损失值,包括:获取所述参考模型和所述目标模型之间的匹配度;将所述参考输出结果、所述目标输出结果和所述匹配度输入至所述损失函数中,得到所述损失值,所述匹配度的大小与所述损失值的大小负相关。5.根据权利要求2

4任一项所述的方法,其特征在于,所述预设机器学习算法为蒸馏学习算法。6.根据权利要求1所述的方法,其特征在于,所述从当前模型集合中确定目标模型和参考模型,包括:从当前模型集合中随机选取出所述目标模型;对于当前模型集合中的每个其他模型,利用匹配网络计算所述目标模型和所述其他模型之间的匹配度;若所述匹配度大于预设匹配度阈值,则确定所述其他模型为所述参考模型。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:根据所述目标模型的输出和所述参考模型的输出,对所述匹配网络的网络参数进行更新。8.根据权利要求7所述的方法,其特征在于,对所述匹配网络的网络参数进行更新的更新频率大于或者等于所述迭代学习的迭代频率。9.根据权利要求1所述的方法,其特征在于,所述利用训练后的目标模型更新当前模型集合,包括:在当前模型集合中确定候选模型,所述候选模型的性能指标值小于所述训练后的目标模型的性能指标值;
在当前模型集合中利用所述训练后的目标模型替换所述候选模型。10.根据权利要求1所述的方法,其特征在于,所述获取待剪枝处理的源模型对应的初始模型集合,包括:将各所述初始剪枝算法的超参数设置为随机值;对于每个所述初始剪枝算法,利用所述初始剪枝算法和目标压缩比对所述源模型进行剪枝处理得到初始模型...

【专利技术属性】
技术研发人员:董旭炯
申请(专利权)人:哲库科技上海有限公司
类型:发明
国别省市:

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

1