System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种模型剪枝方法及相关装置制造方法及图纸_技高网

一种模型剪枝方法及相关装置制造方法及图纸

技术编号:41125233 阅读:5 留言:0更新日期:2024-04-30 17:52
一种模型剪枝方法,应用于人工智能技术领域。在该方法中,通过采用聚类方法将由模型中的权重所构成的权重矩阵进行行重新排序,使得权重矩阵中具有相似分布特征的行(例如权重的值较小的行)被重新排序在一起,然后沿着列的方向对重新排序后的权重矩阵中的元素进行剪枝,能够使得权重矩阵中值较小的元素(即对模型影响较小的权重)被有规律地去除,进而使得在保证模型准确率的同时,有效地降低剪枝得到的模型的推理时延。

【技术实现步骤摘要】

本申请涉及人工智能技术(artificial intelligence,ai)领域,尤其涉及一种模型剪枝方法及相关装置


技术介绍

1、随着人工智能的飞速发展,深度学习在越来越多的任务上取得了惊人的效果。例如,基于深度学习的卷积神经网络在部分数据集上的分类准确率甚至超过了人类,极大地方便了人类生活。然而,随着深度学习的发展,基于深度学习的神经网络的参数量也变得越来越大。一般来说,参数量大的神经网络比参数量小的神经网络具有更强的能力。但是,神经网络的参数量变大会导致神经网络的计算量提升,进而导致神经网络的推理时延变长。

2、随着深度学习轻量化技术的发展,剪枝、量化、蒸馏以及低秩分解等技术广泛应用于减小神经网络的参数量。剪枝作为轻量化技术中的关键技术,应用最为广泛。剪枝可以将冗余的神经网络模型中的权重的值置为0,实现稀疏化模型,达到模型参数量和计算量下降的目的,极大节省了机器成本以及降低了推理时延。

3、一般来说,剪枝的方式可以分为结构化稀疏和任意稀疏两种方式。结构化稀疏是指对模型的权重按通道来进行剪枝;任意稀疏是指在任意位置对权重进行剪枝。然而,结构化稀疏方式的粒度较粗,无法做到精细设计各个位置的权重,导致随着稀疏度增加,模型的准确率下降明显。任意稀疏方式的粒度过细,值为0的权重分布随机,没有任何规律可以辅助优化推理性能,导致在实际使用过程中并不能有效地降低剪枝得到的模型的推理时延。


技术实现思路

1、本申请提供了一种模型剪枝方法,能够在保证模型准确率的同时,有效地降低剪枝得到的模型的推理时延。

2、本申请第一方面提供一种模型剪枝方法,应用于对模型进行剪枝,以减少模型的参数量。该模型剪枝方法包括:首先,获取第一权重矩阵,第一权重矩阵中的各个元素分别用于表示待剪枝模型中的各个权重。例如,在待剪枝模型为卷积神经网络的情况下,第一权重矩阵可以是用于表示待剪枝模型中的任意一个卷积层的权重。

3、然后,基于聚类方法对第一权重矩阵中的多个行进行重新排序,得到第二权重矩阵,其中,第二权重矩阵中被聚类方法确定为同一个类别的多个行相邻。基于聚类方法,第一权重矩阵中的所有行能够被划分为多个类别,且每个类别下具有一定数量的行。然后,基于聚类方法所得到的结果,将第一权重矩阵中属于同一个类别的多个行重新排序到一起,以保证重新排序得到的第二权重矩阵中属于同一个类别的多个行是相邻的。

4、其次,去除第二权重矩阵中的一组或多组目标元素,得到第三权重矩阵,第二权重矩阵中的元素被划分为多组元素,且多组元素中的每组元素包括同一列中相邻的多个元素,一组或多组目标元素为多组元素中绝对值之和最小的一组或多组元素,第三权重矩阵用于得到剪枝后的模型。也就是说,第二权重矩阵中的元素是沿着列的方向进行划分,同一组内的元素相邻且位于同一个列中。这样,通过以组的单位来去除元素,则能够将同一列内相邻的多个元素同时去除,保证元素去除的规律性,有利于加速后续基于第三权重矩阵所执行的计算。

5、本方案中,通过采用聚类方法将由模型中的权重所构成的权重矩阵进行行重新排序,使得权重矩阵中具有相似分布特征的行(例如权重的值较小的行)被重新排序在一起,然后沿着列的方向对重新排序后的权重矩阵中的元素进行剪枝,能够使得权重矩阵中值较小的元素(即对模型影响较小的权重)被有规律地去除,进而使得在保证模型准确率的同时,有效地降低剪枝得到的模型的推理时延。

6、在一种可能的实现方式中,多组元素中不同的组所包括的元素不相同。也就是说,对于第二权重矩阵中的元素而言,同一个元素只能够被划分至一个组中。

7、本方案中,通过基于同一个元素只能够被划分至一个组的原则来对第二权重矩阵中的元素进行划分,能够使得划分得到的不同组包括不同的元素,便于后续计算各个组中的元素的绝对值之和,保证去除元素后模型的准确率。

8、在一种可能的实现方式中,多组元素中每组元素所包括的元素的数量相同。例如,每组元素中包括4个元素、8个元素、16个元素、32个元素或64个元素等,在此并不限定每组元素中所包括的元素的数量。

9、本方案中,通过限定每组元素中的元素数量,能够有效快速地对第二权重矩阵中的元素进行组别划分,并且保证第二权重矩阵中元素去除的规律性,保证模型剪枝的规律性,有效地降低剪枝后的模型的推理时延。

10、在一种可能的实现方式中,该方法还包括:基于预设的稀疏比例,确定一组或多组目标元素,一组或多组目标元素与第二权重矩阵的元素数量比大于或等于稀疏比例,稀疏比例用于指示待剪枝模型中待去除的权重数量与总的权重数量之间的比例。

11、例如,在稀疏比例为50%的情况下,代表待剪枝模型中待去除的权重数量与总的权重数量之间的比例为50%。假设第二权重矩阵中包括16组元素,每组元素包括4个元素,则第二权重矩阵中共包括64个元素,那么基于稀疏比例,则可以确定待去除的目标元素为8组,即共需要去除8组目标元素。

12、在一种可能的实现方式中,第二权重矩阵包括多个部分,且多个部分中的每个部分包括被聚类方法确定为同一个类别的多个行。也就是说,被聚类方法确定为同一个类别的多个行视为第二权重矩阵中的一个部分。

13、基于聚类方法对第一权重矩阵中的多个行进行重新排序,具体包括:获取第一权重矩阵中未重新排序的行;基于聚类方法对未重新排序的行进行聚类,得到多个类别中每个类别所对应的行;从多个类别所对应的行中选择目标类别对应的行,得到第二权重矩阵中的第一部分,其中,目标类别是多个类别中行的绝对值之和最大的类别,第一部分属于多个部分。这样,每次对第一权重矩阵中未重新排序的行进行聚类,都能够选出一部分行重新排序到一起,且每次选出一部分行重新排序后,第一权重矩阵中未重新排序的行都会变少。

14、本方案中,通过对第一权重矩阵中未重新排序的行执行多次聚类,每次聚类后均选取绝对值之和最大的一个类别所对应的行进行重新排序,能够有效地将具有较大值元素的行重排到一起,进而便于后续能够规律性地去除值较小的元素,保证模型的准确率。

15、在一种可能的实现方式中,基于聚类方法对未重新排序的行进行聚类,包括:确定未重新排序的行中每个行的方差;基于聚类方法对未重新排序的行中方差最大的n个行进行聚类,得到多个类别中每个类别所对应的行,n为大于1的整数。

16、也就是说,每次对第一权重矩阵中未重新排序的行进行聚类前,先确定第一权重矩阵中未重新排序的行中方差最大的n个行,进而对这n个行进行聚类以及基于这n个行的聚类结果从n个行中选取一部分行来重新排序。

17、本方案中,通过优先选取方差最大的多个行进行聚类和重新排序,能够处理元素值分布不均匀的行,进而提高后续聚类和重新排序的稳定性,保证能够有效地将具有较大值元素的行重排到一起,有利于后续能够规律性地去除值较小的元素。

18、在一种可能的实现方式中,聚类方法为平衡k均值聚类方法,平衡k均值聚类方法用于使得聚类得到的每个类别所本文档来自技高网...

【技术保护点】

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

2.根据权利要求1所述的方法,其特征在于,所述多组元素中不同的组所包括的元素不相同。

3.根据权利要求1或2所述的方法,其特征在于,所述多组元素中每组元素所包括的元素的数量相同。

4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1-4任意一项所述的方法,其特征在于,所述第二权重矩阵包括多个部分,所述多个部分中的每个部分包括被所述聚类方法确定为同一个类别的多个行;

6.根据权利要求5所述的方法,其特征在于,所述基于所述聚类方法对所述未重新排序的行进行聚类,包括:

7.根据权利要求1-6任意一项所述的方法,其特征在于,所述聚类方法为平衡K均值聚类方法,所述平衡K均值聚类方法用于使得聚类得到的每个类别所对应的行的数量相同。

8.根据权利要求1-7任意一项所述的方法,其特征在于,所述待剪枝模型为卷积神经网络,所述第一权重矩阵用于表示所述卷积神经网络中第一卷积层的权重;

9.根据权利要求1-8任意一项所述的方法,其特征在于,所述去除所述第二权重矩阵中的一组或多组目标元素,包括:

10.根据权利要求1-9任意一项所述的方法,其特征在于,所述第一权重矩阵中不同的行用于表示对应于不同输入通道的权重。

11.一种基于模型的数据处理方法,其特征在于,包括:

12.根据权利要求11所述的方法,其特征在于,所述权重矩阵中值有效的元素包括至少一组元素,所述至少一组元素中的每组元素均包括同一列中相邻的多个元素。

13.根据权利要求12所述的方法,其特征在于,所述至少一组元素中不同的组所包括的元素不相同。

14.根据权利要求12或13所述的方法,其特征在于,所述至少一组元素中每组元素所包括的元素的数量相同。

15.根据权利要求11-14任意一项所述的方法,其特征在于,所述模型为卷积神经网络,所述权重矩阵用于表示所述卷积神经网络中的卷积核的权重;

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

17.根据权利要求16所述的装置,其特征在于,所述多组元素中不同的组所包括的元素不相同。

18.根据权利要求16或17所述的装置,其特征在于,所述多组元素中每组元素所包括的元素的数量相同。

19.根据权利要求16-18任意一项所述的装置,其特征在于,所述处理模块,还用于:

20.根据权利要求16-19任意一项所述的装置,其特征在于,所述第二权重矩阵包括多个部分,所述多个部分中的每个部分包括被所述聚类方法确定为同一个类别的多个行;

21.根据权利要求20所述的装置,其特征在于,所述处理模块,还用于:

22.根据权利要求16-21任意一项所述的装置,其特征在于,所述聚类方法为平衡K均值聚类方法,所述平衡K均值聚类方法用于使得聚类得到的每个类别所对应的行的数量相同。

23.根据权利要求16-22任意一项所述的装置,其特征在于,所述待剪枝模型为卷积神经网络,所述第一权重矩阵用于表示所述卷积神经网络中第一卷积层的权重;

24.根据权利要求16-23任意一项所述的装置,其特征在于,所述处理模块,还用于:

25.根据权利要求16-24任意一项所述的装置,其特征在于,所述第一权重矩阵中不同的行用于表示对应于不同输入通道的权重。

26.一种基于模型的数据处理装置,其特征在于,包括:

27.根据权利要求26所述的装置,其特征在于,所述权重矩阵中值有效的元素包括至少一组元素,所述至少一组元素中的每组元素均包括同一列中相邻的多个元素。

28.根据权利要求27所述的装置,其特征在于,所述至少一组元素中不同的组所包括的元素不相同。

29.根据权利要求27或28所述的装置,其特征在于,所述至少一组元素中每组元素所包括的元素的数量相同。

30.根据权利要求26-29任意一项所述的装置,其特征在于,所述模型为卷积神经网络,所述权重矩阵用于表示所述卷积神经网络中的卷积核的权重;

31.一种模型剪枝装置,其特征在于,包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述装置执行如权利要求1至10任意一项所述的方法。

32.一种基于模型的数据处理装置,其特征在于,包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述装置执行如权利要求11至15任意一项所述的方法。

<...

【技术特征摘要】

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

2.根据权利要求1所述的方法,其特征在于,所述多组元素中不同的组所包括的元素不相同。

3.根据权利要求1或2所述的方法,其特征在于,所述多组元素中每组元素所包括的元素的数量相同。

4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1-4任意一项所述的方法,其特征在于,所述第二权重矩阵包括多个部分,所述多个部分中的每个部分包括被所述聚类方法确定为同一个类别的多个行;

6.根据权利要求5所述的方法,其特征在于,所述基于所述聚类方法对所述未重新排序的行进行聚类,包括:

7.根据权利要求1-6任意一项所述的方法,其特征在于,所述聚类方法为平衡k均值聚类方法,所述平衡k均值聚类方法用于使得聚类得到的每个类别所对应的行的数量相同。

8.根据权利要求1-7任意一项所述的方法,其特征在于,所述待剪枝模型为卷积神经网络,所述第一权重矩阵用于表示所述卷积神经网络中第一卷积层的权重;

9.根据权利要求1-8任意一项所述的方法,其特征在于,所述去除所述第二权重矩阵中的一组或多组目标元素,包括:

10.根据权利要求1-9任意一项所述的方法,其特征在于,所述第一权重矩阵中不同的行用于表示对应于不同输入通道的权重。

11.一种基于模型的数据处理方法,其特征在于,包括:

12.根据权利要求11所述的方法,其特征在于,所述权重矩阵中值有效的元素包括至少一组元素,所述至少一组元素中的每组元素均包括同一列中相邻的多个元素。

13.根据权利要求12所述的方法,其特征在于,所述至少一组元素中不同的组所包括的元素不相同。

14.根据权利要求12或13所述的方法,其特征在于,所述至少一组元素中每组元素所包括的元素的数量相同。

15.根据权利要求11-14任意一项所述的方法,其特征在于,所述模型为卷积神经网络,所述权重矩阵用于表示所述卷积神经网络中的卷积核的权重;

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

17.根据权利要求16所述的装置,其特征在于,所述多组元素中不同的组所包括的元素不相同。

18.根据权利要求16或17所述的装置,其特征在于,所述多组元素中每组元素所包括的元素的数量相同。

19.根据权利要求16-18任意一项所述的装置,其特征在于,所述处理模块,还用...

【专利技术属性】
技术研发人员:于献智谭懿峻赵亢胡婷姚骏韩凯王云鹤舒晗
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1