一种模型的处理方法、装置及设备制造方法及图纸

技术编号:37709642 阅读:19 留言:0更新日期:2023-06-02 00:01
本说明书实施例公开了一种模型的处理方法、装置及设备,该方法包括:获取待处理的目标模型,所述目标模型中包括卷积层;对所述目标模型中包含的网络层进行分组,得到多个不同的网络层分组;对所述网络层分组中的卷积层和/或所述卷积层中的卷积核进行处理,得到多个不同的处理后的网络层分组;基于多个不同的处理后的网络层分组,对所述处理后的网络层分组中的模型参数进行训练,并基于所述目标模型的增益贡献度对训练后的模型参数进行筛选,得到筛选后的模型参数,基于所述筛选后的模型参数构建所述目标模型。建所述目标模型。建所述目标模型。

【技术实现步骤摘要】
一种模型的处理方法、装置及设备


[0001]本文件涉及计算机
,尤其涉及一种模型的处理方法、装置及设备。

技术介绍

[0002]在需要设置终端设备侧模型的场景下,模型的大小和模型的预测速度要求很高,因为用户的终端设备不能无限的变大模型,并且也不允许模型的执行耗费大量资源。在需要设置云端模型的场景下,往往需要很高的每秒查询率(即QPS),模型的大小会使得需要的硬件设备成倍地增加,而模型需要的GPU的成本极高,因此极其需要在保证模型效果的前提下进行模型裁剪。为此,需要提供一种更优的模型剪枝方式,从而可以平衡模型参数优化和模型效果。

技术实现思路

[0003]本说明书实施例的目的是提供一种更优的模型剪枝方式,从而可以平衡模型参数优化和模型效果。
[0004]为了实现上述技术方案,本说明书实施例是这样实现的:
[0005]本说明书实施例提供的一种模型的处理方法,所述方法包括:获取待处理的目标模型,所述目标模型中包括卷积层。对所述目标模型中包含的网络层进行分组,得到多个不同的网络层分组。对所述网络层分组中的卷积层和/或所述卷积层中的卷积核进行处理,得到多个不同的处理后的网络层分组。基于多个不同的处理后的网络层分组,对所述处理后的网络层分组中的模型参数进行训练,并基于所述目标模型的增益贡献度对训练后的模型参数进行筛选,得到筛选后的模型参数,基于所述筛选后的模型参数构建所述目标模型。
[0006]本说明书实施例提供的一种模型的处理装置,所述装置包括:模型获取模块,获取待处理的目标模型,所述目标模型中包括卷积层。分组模块,对所述目标模型中包含的网络层进行分组,得到多个不同的网络层分组。处理模块,对所述网络层分组中的卷积层和/或所述卷积层中的卷积核进行处理,得到多个不同的处理后的网络层分组。训练筛选模块,基于多个不同的处理后的网络层分组,对所述处理后的网络层分组中的模型参数进行训练,并基于所述目标模型的增益贡献度对训练后的模型参数进行筛选,得到筛选后的模型参数,基于所述筛选后的模型参数构建所述目标模型。
[0007]本说明书实施例提供的一种模型的处理设备,所述模型的处理设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取待处理的目标模型,所述目标模型中包括卷积层。对所述目标模型中包含的网络层进行分组,得到多个不同的网络层分组。对所述网络层分组中的卷积层和/或所述卷积层中的卷积核进行处理,得到多个不同的处理后的网络层分组。基于多个不同的处理后的网络层分组,对所述处理后的网络层分组中的模型参数进行训练,并基于所述目标模型的增益贡献度对训练后的模型参数进行筛选,得到筛选后的模型参数,基于所述筛选后的模型参数构建所述目标模型。
[0008]本说明书实施例还提供了一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被处理器执行时实现以下流程:获取待处理的目标模型,所述目标模型中包括卷积层。对所述目标模型中包含的网络层进行分组,得到多个不同的网络层分组。对所述网络层分组中的卷积层和/或所述卷积层中的卷积核进行处理,得到多个不同的处理后的网络层分组。基于多个不同的处理后的网络层分组,对所述处理后的网络层分组中的模型参数进行训练,并基于所述目标模型的增益贡献度对训练后的模型参数进行筛选,得到筛选后的模型参数,基于所述筛选后的模型参数构建所述目标模型。
附图说明
[0009]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0010]图1为本说明书一种模型的处理方法实施例;
[0011]图2为本说明书另一种模型的处理方法实施例;
[0012]图3A为本说明书一种Filters维度和Channels维度的处理示意图;
[0013]图3B为本说明书一种Filters shape维度的处理示意图;
[0014]图3C为本说明书一种Depth维度的处理示意图;
[0015]图4为本说明书一种模型的处理装置实施例;
[0016]图5为本说明书一种模型的处理设备实施例。
具体实施方式
[0017]本说明书实施例提供一种模型的处理方法、装置及设备。
[0018]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0019]实施例一
[0020]如图1所示,本说明书实施例提供一种模型的处理方法,该方法的执行主体可以为终端设备或服务器等,其中的终端设备可以如手机、平板电脑等移动终端设备,还可以如笔记本电脑或台式电脑等计算机设备,或者,也可以为IoT设备(具体如智能手表、车载设备等)等,其中的服务器可以是独立的一个服务器,还可以是由多个服务器构成的服务器集群等,该服务器可以是如金融业务或网络购物业务等的后台服务器,也可以是某应用程序的后台服务器等。本实施例中以执行主体为服务器为例进行详细说明,对于执行主体为终端设备的情况,可以参见下述服务器的情况处理,在此不再赘述。该方法具体可以包括以下步骤:
[0021]在步骤S102中,获取待处理的目标模型,目标模型中包括卷积层。
[0022]其中,目标模型可以是任意模型,且目标模型中包括卷积层,具体如目标模型可以
为卷积神经网络模型、LeNet模型、ResNet模型等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
[0023]在实施中,在需要设置终端设备侧模型的场景下,模型的大小和模型的预测速度要求很高,因为用户的终端设备不能无限的变大模型,并且也不允许模型的执行耗费大量资源。在需要设置云端模型的场景下,往往需要很高的每秒查询率(即QPS),模型的大小会使得需要的硬件设备成倍地增加,而模型需要的GPU的成本极高,因此极其需要在保证模型效果的前提下进行模型裁剪。
[0024]模型剪枝是为了开发更小、更高效的网络模型,通常,模型剪枝主要是去掉权重张量中多余的值从而优化模型,剪枝后的网络模型运行速度更快,减少了训练网络模型的计算成本。其中,存在两个重点需要关注的指标:一方面,是模型大小,几乎所有的网络模型都在过拟合,因此也导致了模型的大小一般很大,模型的结构是冗余的,如何尽可能精简模型,保持模型参数尽可能的不冗余;另一方面,是模型的效果,绝大部分的模型经过裁剪,模型性能都会有一定的损失。
[0025]可以通过下述三种方式进行模型剪枝,方式一,基于L1范数或L2范数的过滤方式进行模型剪枝本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模型的处理方法,所述方法包括:获取待处理的目标模型,所述目标模型中包括卷积层;对所述目标模型中包含的网络层进行分组,得到多个不同的网络层分组;对所述网络层分组中的卷积层和/或所述卷积层中的卷积核进行处理,得到多个不同的处理后的网络层分组;基于多个不同的处理后的网络层分组,对所述处理后的网络层分组中的模型参数进行训练,并基于所述目标模型的增益贡献度对训练后的模型参数进行筛选,得到筛选后的模型参数,基于所述筛选后的模型参数构建所述目标模型。2.根据权利要求1所述的方法,所述对所述目标模型中包含的网络层进行分组,得到多个不同的网络层分组,包括:基于预设的Group Lasso算法将所述目标模型中的模型参数以块的形式进行划分,得到多个分块数据;将所述多个分块数据设置到不同的分组中,以对所述目标模型中包含的网络层进行分组,得到多个不同的网络层分组。3.根据权利要求1所述的方法,对所述网络层分组中的卷积层中的卷积核进行处理,得到多个不同的处理后的网络层分组,包括:将所述多个不同的网络层分组中的第一分组中的一个或多个不同的卷积层中的一个或多个不同的卷积核删除,得到多个不同的处理后的网络层分组;和/或,将所述多个不同的网络层分组中的第二分组中的一个或多个不同的卷积层中的一个或多个不同的卷积核的形状进行调整,得到多个不同的处理后的网络层分组;和/或,将所述多个不同的网络层分组中的卷积层中卷积核的一个或多个不同的渠道删除,得到多个不同的处理后的网络层分组。4.根据权利要求1所述的方法,对所述网络层分组中的卷积层进行处理,得到多个不同的处理后的网络层分组,包括:将所述多个不同的网络层分组中的一个或多个不同的网络层删除,得到多个不同的处理后的网络层分组。5.根据权利要求1述的方法,所述基于多个不同的处理后的网络层分组,对所述处理后的网络层分组中的模型参数进行训练,包括:从所述多个不同的处理后的网络层分组中任选一个所述处理后的网络层分组作为第三分组,对所述第三分组进行训练,得到训练后的第三分组;根据所述第三分组在所述目标模型中的位置,从所述多个不同的处理后的网络层分组中获取与所述第三分组相邻的第四分组,将所述第三分组和所述第四分组组合,并对组合后的所述第三分组和所述第四分组进行训练,得到训练后的第四分组;根据所述第四分组在所述目标模型中的位置,从所述多个不同的处理后的网络层分组中获取与所述第四分组相邻的第五分组,将所述第四分组和所述第五分组组合,并对组合后的所述第四分组和所述第五分组进行训练,得到训练后的第五分组,直到所述多个不同的处理后的网络层分组均进行训练,得到训练后的模型参数。6.根据权利要求1所述的方法,所述基于所述目标模型的增益贡献度对训练后的模型参数进行筛选,得到筛选后的模型参数,包括:
确定每个维度的训练后的模型参数对所述目标模型的增益贡献度;获取增益贡献度大于预设阈值的模型参数,将获取的模型参数作为筛选...

【专利技术属性】
技术研发人员:张长浩申书恒傅欣艺王维强
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1