深度神经网络模型的链路剪枝方法、装置、设备和介质制造方法及图纸

技术编号:39332375 阅读:13 留言:0更新日期:2023-11-12 16:07
本发明专利技术涉及深度学习技术领域,公开了一种深度神经网络模型的链路剪枝方法、装置、设备和介质,根据待剪枝模型对应的模型图结构,构建第一链路图。在出现具有链接关系的目标相邻顶点时,向第一链路图中填充目标相邻顶点对应的链接关系;直至遍历完第一链路图中的所有相邻顶点,将最终的第一链路图作为第二链路图。基于剪枝需求,从第二链路图中确定出与剪枝需求相关联的所有待剪枝层和剪枝维度,按照各待剪枝层对应的剪枝维度对待剪枝层进行剪枝,从而快速完成待剪枝模型的链路剪枝。通过构建反映各顶点之间链接关系的第二链路图,可以快速自动化实现结构化剪枝策略,极大的提升了模型剪枝的效率。剪枝的效率。剪枝的效率。

【技术实现步骤摘要】
深度神经网络模型的链路剪枝方法、装置、设备和介质


[0001]本专利技术涉及深度学习
,特别是涉及一种深度神经网络模型的链路剪枝方法、装置、设备和介质。

技术介绍

[0002]随着深度学习模型变得越来越复杂和庞大,对计算资源和存储空间的需求也日益增长,研究人员发现许多深度神经网络中存在着大量冗余参数和连接,这些冗余导致了模型的过度复杂化。由于硬件资源和能源消耗的限制,这些大型模型在实际部署中往往面临着性能瓶颈和延迟问题,尤其在边缘设备等计算能力有限的场景下表现尤为明显。
[0003]为了解决这一问题,模型剪枝技术被引入。传统模型层面的结构化剪枝技术,大都采用置零模拟的方式来进行。但是这种方式并不能通过直接运行剪枝后的模型来获取真实的剪枝性能提升,实际性能的提升只能是估算。随着模型的不断发展,这种估算越来越难以达到准确的水平。并且对于真实剪枝的硬件部署,仍然需要将这些置零的部分调整掉,才能获得真实加速性能。
[0004]我们希望能够通过实际剪掉相应的模型结构来实现剪枝,而不是简单的置零。但是这种操作方式又带来了新的问题:当模型在某个维度上减掉了一部分后,其维度随之改变,而这种改变会影响到与之相关的如某些相邻层的维度衔接,也因此需要将这些有依赖关系的层做相应的剪枝调整。对于不同的模型,我们需要分别针对模型的特点从剪枝的起始点开始手动向前探索模型各层之间的链路关系并顺次进行剪枝操作。整个实现过程需要手动剪枝,剪枝效率较低。
[0005]可见,如何提升模型剪枝的效率,是本领域技术人员需要解决的问题。

技术实现思路

[0006]本专利技术实施例的目的是提供一种深度神经网络模型的链路剪枝方法、装置、设备和计算机可读存储介质,可以解决模型剪枝效率低的问题。
[0007]为解决上述技术问题,本专利技术实施例提供一种深度神经网络模型的链路剪枝方法,包括:根据待剪枝模型对应的模型图结构,构建第一链路图;其中,所述第一链路图中将待剪枝模型的各层的输入和各层的输出均作为顶点,顶点与顶点之间的链接关系作为边,初始化状态下链接关系为空;依次判断所述第一链路图中的各相邻顶点是否具有链接关系;其中,所述链接关系包括所述模型图结构中各层之间的链接关系以及每个层的输入和输出之间的链接关系;在出现具有链接关系的目标相邻顶点的情况下,向所述第一链路图中填充所述目标相邻顶点对应的链接关系;直至遍历完所述第一链路图中的所有相邻顶点,则将最终的第一链路图作为第二链路图;基于剪枝需求,从所述第二链路图中确定出与所述剪枝需求相关联的所有待剪枝
层和剪枝维度,按照各所述待剪枝层对应的剪枝维度对所述待剪枝层进行剪枝,以完成所述待剪枝模型的链路剪枝。
[0008]一方面,所述基于剪枝需求,从所述第二链路图中确定出与所述剪枝需求相关联的所有待剪枝层和剪枝维度,按照各所述待剪枝层对应的剪枝维度对所述待剪枝层进行剪枝,以完成所述待剪枝模型的链路剪枝包括:根据所述第二链路图中各顶点之间的链接关系,确定出相互独立的链路子图;从各所述链路子图中选取出与所述剪枝需求匹配的目标链路子图;依据所述目标链路子图中各顶点对应的剪枝维度,对所述待剪枝模型中与所述目标链路子图对应的待剪枝层进行相应链路的剪枝。
[0009]一方面,从各所述链路子图中选取出与所述剪枝需求匹配的目标链路子图包括:基于各所述链路子图中各相邻顶点之间的权重,确定出各所述链路子图的链路分数;依据各所述链路子图的链路分数以及剪枝需求携带的分数阈值,确定出待剪枝的目标链路子图。
[0010]一方面,所述基于各所述链路子图中各相邻顶点之间的权重,确定出各所述链路子图的链路分数包括:根据所述模型图结构中各相邻顶点之间的权重,确定出每个所述链路子图中各相邻顶点所对应的权重;对每个所述链路子图中所有相邻顶点所对应的权重的L2范数取均值,以得到每个所述链路子图的链路分数。
[0011]一方面,所述基于各所述链路子图中各相邻顶点之间的权重,确定出各所述链路子图的链路分数包括:根据所述模型图结构中各相邻顶点之间的权重,确定出每个所述链路子图中各相邻顶点所对应的权重;对每个所述链路子图中所有相邻顶点所对应的权重取均值,以得到每个所述链路子图的链路分数。
[0012]一方面,所述依据各所述链路子图的链路分数以及剪枝需求携带的分数阈值,确定出待剪枝的目标链路子图包括:选取出所有所述链路子图中链路分数最大值和链路分数最小值;基于所述链路分数最大值和所述链路分数最小值,对各所述链路子图的链路分数进行归一化处理,以得到各所述链路子图的归一化分数;将归一化分数小于所述分数阈值的链路子图作为待剪枝的目标链路子图。
[0013]一方面,所述基于所述链路分数最大值和所述链路分数最小值,对各所述链路子图的链路分数进行归一化处理,以得到各所述链路子图的归一化分数包括:计算所述链路分数最大值和所述链路分数最小值的差值;将各所述链路子图的链路分数与所述差值的比值作为各所述链路子图的归一化分数。
[0014]一方面,所述依据所述目标链路子图中各顶点对应的剪枝维度,对所述待剪枝模型中与所述目标链路子图对应的待剪枝层进行相应链路的剪枝包括:
将所述目标链路子图中所有顶点对应的层从所述待剪枝模型中删除。
[0015]一方面,从各所述链路子图中选取出与所述剪枝需求匹配的目标链路子图,依据所述目标链路子图中各顶点对应的剪枝维度,对所述待剪枝模型中与所述目标链路子图对应的待剪枝层进行相应链路的剪枝包括:依据所述剪枝需求携带的顶点标识,确定出与所述顶点标识匹配的目标链路子图;根据所述目标链路子图以及所述剪枝需求携带的维度,对所述待剪枝模型中与所述目标链路子图对应的待剪枝层进行相应链路的剪枝。
[0016]一方面,所述根据所述目标链路子图以及所述剪枝需求携带的维度,对所述待剪枝模型中与所述目标链路子图对应的待剪枝层进行相应链路的剪枝包括:根据所述目标链路子图中各顶点的输入输出维度以及所述剪枝需求携带的维度,确定出所需剪枝的层以及剪枝维度;其中,每个顶点对应所述待剪枝模型的一个层;按照各所述所需剪枝的层各自对应的剪枝维度,对所述待剪枝模型中所需剪枝的层进行剪枝。
[0017]一方面,所述按照各所述所需剪枝的层各自对应的剪枝维度,对所述待剪枝模型中所需剪枝的层进行剪枝包括:在所述所需剪枝的层的输入输出维度等于对应的所述剪枝维度的情况下,将所述目标链路子图中所有顶点对应的层从所述待剪枝模型中删除。
[0018]一方面,所述按照各所述所需剪枝的层各自对应的剪枝维度,对所述待剪枝模型中所需剪枝的层进行剪枝包括:在所述所需剪枝的层的输入输出维度大于对应的所述剪枝维度的情况下,按照所述剪枝维度对所述待剪枝模型中所需剪枝的层进行剪枝。
[0019]一方面,所述根据待剪枝模型对应的模型图结构,构建第一链路图包括:将所述待剪枝模型中每一层作为一个顶点,顶点与顶点之间的链接关系作为边,以构建出模型图结构;其中,所述模型图结构中每个边有其对应的权重;将所述模型图结构中每个顶点拆分为输入顶点和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种深度神经网络模型的链路剪枝方法,其特征在于,包括:根据待剪枝模型对应的模型图结构,构建第一链路图;其中,所述第一链路图中将待剪枝模型的各层的输入和各层的输出均作为顶点,顶点与顶点之间的链接关系作为边,初始化状态下链接关系为空;依次判断所述第一链路图中的各相邻顶点是否具有链接关系;其中,所述链接关系包括所述模型图结构中各层之间的链接关系以及每个层的输入和输出之间的链接关系;在出现具有链接关系的目标相邻顶点的情况下,向所述第一链路图中填充所述目标相邻顶点对应的链接关系;直至遍历完所述第一链路图中的所有相邻顶点,则将最终的第一链路图作为第二链路图;基于剪枝需求,从所述第二链路图中确定出与所述剪枝需求相关联的所有待剪枝层和剪枝维度,按照各所述待剪枝层对应的剪枝维度对所述待剪枝层进行剪枝,以完成所述待剪枝模型的链路剪枝。2.根据权利要求1所述的深度神经网络模型的链路剪枝方法,其特征在于,所述基于剪枝需求,从所述第二链路图中确定出与所述剪枝需求相关联的所有待剪枝层和剪枝维度,按照各所述待剪枝层对应的剪枝维度对所述待剪枝层进行剪枝,以完成所述待剪枝模型的链路剪枝包括:根据所述第二链路图中各顶点之间的链接关系,确定出相互独立的链路子图;从各所述链路子图中选取出与所述剪枝需求匹配的目标链路子图;依据所述目标链路子图中各顶点对应的剪枝维度,对所述待剪枝模型中与所述目标链路子图对应的待剪枝层进行相应链路的剪枝。3.根据权利要求2所述的深度神经网络模型的链路剪枝方法,其特征在于,所述从各所述链路子图中选取出与所述剪枝需求匹配的目标链路子图包括:基于各所述链路子图中各相邻顶点之间的权重,确定出各所述链路子图的链路分数;依据各所述链路子图的链路分数以及剪枝需求携带的分数阈值,确定出待剪枝的目标链路子图。4.根据权利要求3所述的深度神经网络模型的链路剪枝方法,其特征在于,所述基于各所述链路子图中各相邻顶点之间的权重,确定出各所述链路子图的链路分数包括:根据所述模型图结构中各相邻顶点之间的权重,确定出每个所述链路子图中各相邻顶点所对应的权重;对每个所述链路子图中所有相邻顶点所对应的权重的L2范数取均值,以得到每个所述链路子图的链路分数。5.根据权利要求3所述的深度神经网络模型的链路剪枝方法,其特征在于,所述基于各所述链路子图中各相邻顶点之间的权重,确定出各所述链路子图的链路分数包括:根据所述模型图结构中各相邻顶点之间的权重,确定出每个所述链路子图中各相邻顶点所对应的权重;对每个所述链路子图中所有相邻顶点所对应的权重取均值,以得到每个所述链路子图的链路分数。6.根据权利要求3所述的深度神经网络模型的链路剪枝方法,其特征在于,所述依据各所述链路子图的链路分数以及剪枝需求携带的分数阈值,确定出待剪枝的目标链路子图包
括:选取出所有所述链路子图中链路分数最大值和链路分数最小值;基于所述链路分数最大值和所述链路分数最小值,对各所述链路子图的链路分数进行归一化处理,以得到各所述链路子图的归一化分数;将归一化分数小于所述分数阈值的链路子图作为待剪枝的目标链路子图。7.根据权利要求6所述的深度神经网络模型的链路剪枝方法,其特征在于,所述基于所述链路分数最大值和所述链路分数最小值,对各所述链路子图的链路分数进行归一化处理,以得到各所述链路子图的归一化分数包括:计算所述链路分数最大值和所述链路分数最小值的差值;将各所述链路子图的链路分数与所述差值的比值作为各所述链路子图的归一化分数。8.根据权利要求6所述的深度神经网络模型的链路剪枝方法,其特征在于,所述依据所述目标链路子图中各顶点对应的剪枝维度,对所述待剪枝模型中与所述目标链路子图对应的待剪枝层进行相应链路的剪枝包括:将所述目标链路子图中所有顶点对应的层从所述待剪枝模型中删除。9.根据权利要求2所述的深度神经网络模型的链路剪枝方法,其特征在于,所述从各所述链路子图中选取出与所述剪枝需求匹配的目标链路子图;依据所述目标链路子图中各顶点对应的剪枝维度,对所述待剪枝模型中与所述目标链路子图对应的待剪枝层进行相应链路的剪枝包括:依据所述剪枝需求携带的顶点标识,确定出与所述顶点标识匹配的目标链路子图;根据所述目标链路子图以及所述剪枝需求携带的维度,对所述待剪枝模型中与所述目标链路子图对应的待剪枝层进行相应链路的剪枝。10.根据权利要求9所述的深度神经网络模型的链路剪枝方法,其特征在于,所述根据所述目标链路子图以及所述剪枝需求携带的维度,对所述待剪枝模型中与所述目标链路子图对应的待剪枝层进行相应链路的剪枝包括:根据所述目标链路子图中各顶点的输入输出维度以及所述剪枝需求携带的维度,确定出所需剪枝的层以及剪枝维度;其中,每个顶点对应所述待剪枝模型的一个层;按照各所述所需剪枝的层各自对应的剪枝维度,对所述待剪枝模型中所需剪枝的层进行剪枝。11.根据权利要求10所述的深度神经网络模型的链路剪枝方法,其特征在于,所述按照各所述所需剪枝的层各自对应的剪枝维度,对所述待剪枝模型中所需剪枝的层进行剪枝包括:在所述所需剪枝的层的输入输出维度等于对应的所述...

【专利技术属性】
技术研发人员:朱克峰李兵兵戴钰桀黄伟宿栋栋王彦伟
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:

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

1