System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 神经网络模型压缩方法、装置、计算系统及存储介质制造方法及图纸_技高网

神经网络模型压缩方法、装置、计算系统及存储介质制造方法及图纸

技术编号:41247690 阅读:4 留言:0更新日期:2024-05-09 23:57
本申请公开一种神经网络模型的压缩方法,包括:获取神经网络模型的权重矩阵;基于行、列、块中的任一个,将权重矩阵划分为多个层级的权重组,每一层级包括多个层级权重组,层级权重组包括多个权重元素,所述权重元素为下一层级权重组或权重值;根据层级顺序依次对每个层级权重组进行稀疏化处理直至神经网络模型的准确度和/或压缩比达到预定目标,以得到目标权重矩阵。本申请通过将权重矩阵中基于行或者列划分为多个层级权重组,依次对每个层级权重组进行稀疏化,可以提高权重矩阵的稀疏度,并且兼顾细粒度稀疏化所能达到的模型准确度和压缩比,减少神经网络模型的存储需求和计算需求。

【技术实现步骤摘要】

本专利技术涉及计算机,更具体地,涉及一种神经网络模型压缩方法、装置、计算系统及存储介质


技术介绍

1、目前神经网络已经在计算机视觉、自然语言处理等领域取得了巨大的成功。但随着神经网络的规模越来越大,参数量和计算量越来越多,制约了其在资源受限的硬件平台上的使用,如边缘端、移动端等设备。因此,需要对神经网络模型进行压缩,减少神经网络的计算和存储需求,加速神经网络模型的训练和推理。稀疏化正是模型轻量化方法之一。

2、网络参数稀疏化是通过适当的方法减少网络中的冗余成分,以降低网络对计算量和存储空间的需求。现有的网络稀疏化在稀疏粒度方面分为细粒度稀疏和粗粒度稀疏。其中,细粒度稀疏是对神经网络的不同位置的权重进行稀疏化,一般稀疏化后的模型精度损失非常小,甚至不会产生精度损失。但是细粒度稀疏的稀疏方式是非结构化的,稀疏化后的模型参数对硬件并不友好,在部署时存在一些问题,会影响实际性能。而粗粒度稀疏是对神经网络权重的整个卷积核进行稀疏化,是一种结构化的稀疏方式,实际硬件部署后对性能提升比较明显。但是粗粒度稀疏的稀疏方式会在稀疏整个卷积核时丢失该卷积核中的重要权重,模型精度损失大。


技术实现思路

1、鉴于上述问题,本专利技术的目的在于提供一种神经网络模型的压缩方法、装置、电子设备及计算机可读存储介质,以解决或至少缓解上面存在的问题。

2、根据本专利技术的第一方面,提供一种神经网络模型的压缩方法,包括:获取神经网络模型的权重矩阵;基于行、列、块中的任一个,将权重矩阵划分为多个层级的权重组,每一层级包括多个层级权重组,层级权重组包括多个权重元素,所述权重元素为下一层级权重组或权重值;根据层级顺序依次对每个层级权重组进行稀疏化处理直至神经网络模型的准确度和/或压缩比达到预定目标,以得到目标权重矩阵。

3、优选地,基于行、列和块中的一个,将权重矩阵划分为多个层级权重组包括:将所述权重矩阵按行、列和块中的任意一个划分为多个第零层级权重组,所述权重元素为权重值;将多个所述第零层级权重组按行、列和块中的任意一个划分为多个第一层级权重组,所述权重元素为第零层级权重组;以此类推,将第k-1层级权重组按行、列和块中的任意一个划分为多个第k层级权重组,所述权重元素为第k-1层级权重组,其中,k为正整数。

4、优选地,不同层级的权重组采用相同或者不同的划分方式。

5、优选地,所述第零层级权重组的数据长度基于加速单元的位宽来确定,加速单元用于执行与神经网络模型相关的运算。

6、优选地,根据层级顺序对每个层级权重组进行稀疏化处理直至神经网络模型的准确度和/或压缩比达到预定目标包括:按照层级顺序依次对每个层级的权重组进行稀疏化处理得到稀疏权重矩阵;在每一层级的权重组稀疏化处理后获取神经网络模型的准确度和/或压缩比;判断当前层级的权重组稀疏化处理后神经网络模型的准确度是否小于第一阈值;若当前层级的权重组稀疏化处理后神经网络模型的准确度小于第一阈值,则停止继续对下一层级的权重组进行稀疏化处理,并将上一层级的权重组稀疏化处理后得到的稀疏权重矩阵作为目标权重矩阵;若当前层级的权重组稀疏化处理后神经网络模型的准确度大于第一阈值,则判断当前层级的权重组稀疏化处理后神经网络模型的压缩比是否大于第二阈值;若当前层级的权重组稀疏化处理后神经网络模型的压缩比大于等于第二阈值,则停止继续对下一层级的权重组进行稀疏化处理,并将当前层级的权重组稀疏化处理后得到的稀疏权重矩阵作为目标权重矩阵;若当前层级的权重组稀疏化处理后神经网络模型的压缩比小于第二阈值则继续对下一层级的权重组进行稀疏化处理。

7、优选地,所述层级顺序包括从第零层级到第k层级或者从第k层级到第零层级。

8、优选地,所述压缩方法还包括:将所述权重矩阵划分成多个权重块矩阵;根据每个权重块矩阵中有效数据的密集度确定其划分的层级数量;基于行、列和块中的一个,根据每个权重块矩阵的层级数量将每个权重块矩阵划分成相应数量的层级权重组;其中,层级数量与权重块矩阵中有效数据的密集度呈反相关。

9、优选地,所述压缩方法还包括:根据每个权重块矩阵中权重值的精度确定其稀疏度;根据每个权重块矩阵的稀疏度依次对每个权重块矩阵划分的多个层级权重组进行稀疏化处理直至神经网络模型的准确度和/或压缩比达到预定目标,以得到目标权重矩阵。

10、优选地,不同权重块矩阵的数据格式相同或者不同,所述数据格式包括数据类型和数据精度;其中,对模型精度敏感的权重块矩阵可以选择高精度数据表示,对模型精度不敏感的权重块矩阵可以选择低精度数据表示。

11、优选地,每一权重块矩阵中,每一层级的权重组按行、列和块中的一个划分,不同层级的权重组采用相同或者不同的划分方式;不同权重块矩阵的同一层级的权重组采用相同或者不同的划分方式。

12、优选地,所述稀疏化处理包括结构化稀疏或者非结构化稀疏。

13、根据本专利技术的第二方面,提供一种神经网络模型的压缩装置,包括:获取模块,用于获取神经网络模型的权重矩阵;层级划分模块,用于基于行、列、块中的任一个,将权重矩阵划分为多个层级的权重组,每一层级包括多个层级权重组,层级权重组包括多个权重元素,所述权重元素为下一层级权重组或权重值;稀疏模块,用于根据层级顺序依次对每个层级的权重组进行稀疏化处理直至神经网络模型的准确度和/或压缩比达到预定目标,以得到目标权重矩阵。

14、优选地,所述层级划分模块还用于将所述权重矩阵按行、列和块中的任意一个划分为多个第零层级权重组,所述权重元素为权重值;将多个所述第零层级权重组按行、列和块中的任意一个划分为多个第一层级权重组,所述权重元素为第零层级权重组;以此类推,将第k-1层级权重组按行、列和块中的任意一个划分为多个第k层级权重组,所述权重元素为第k-1层级权重组,其中,k为正整数。

15、优选地,不同层级的权重组采用相同或者不同的划分方式。

16、优选地,所述第零层级权重组的数据长度基于加速单元的位宽来确定,加速单元用于执行与神经网络模型相关的运算。

17、优选地,所述稀疏模块包括:稀疏单元,用于根据层级顺序依次对每个层级的权重组进行稀疏化处理得到稀疏权重矩阵;获取单元,用于在每一层级的权重组稀疏化处理后获取神经网络模型的准确度和/或压缩比;判断单元,用于判断当前层级的权重组稀疏化处理后神经网络模型的准确度是否小于第一阈值;稀疏单元还用于若当前层级的权重组稀疏化处理后神经网络模型的准确度小于第一阈值,则停止继续对下一层级的权重组进行稀疏化处理,并将上一层级的权重组稀疏化处理后得到的稀疏权重矩阵作为目标权重矩阵;所述判断单元还用于若当前层级的权重组稀疏化处理后神经网络模型的准确度大于第一阈值,则判断当前层级的权重组稀疏化处理后神经网络模型的压缩比是否大于第二阈值;所述稀疏单元还用于若当前层级的权重组稀疏化处理后神经网络模型的压缩比大于等于第二阈值,则停止继续对下一层级的权重组进行稀疏化处理,并将当前层级的权重组稀疏化处理本文档来自技高网...

【技术保护点】

1.一种神经网络模型的压缩方法,其特征在于,包括:

2.根据权利要求1所述的压缩方法,其特征在于,基于行、列和块中的一个,将权重矩阵划分为多个层级权重组包括:

3.根据权利要求2所述的压缩方法,其特征在于,所述第零层级权重组的数据长度基于加速单元的位宽来确定,加速单元用于执行与神经网络模型相关的运算。

4.根据权利要求2所述的压缩方法,其特征在于,根据层级顺序对每个层级权重组进行稀疏化处理直至神经网络模型的准确度和/或压缩比达到预定目标包括:

5.根据权利要求1所述的压缩方法,其特征在于,还包括:

6.根据权利要求5所述的压缩方法,其特征在于,不同权重块矩阵的数据格式相同或者不同,所述数据格式包括数据类型和数据精度;

7.根据权利要求5所述的压缩方法,其特征在于,每一权重块矩阵中,每一层级的权重组按行、列和块中的一个划分,不同层级的权重组采用相同或者不同的划分方式;

8.根据权利要求1所述的压缩方法,其特征在于,所述稀疏化处理包括结构化稀疏或者非结构化稀疏。

9.一种神经网络模型的压缩装置,其特征在于,包括:

10.根据权利要求9所述的压缩装置,其特征在于,所述层级划分模块还用于将所述权重矩阵按行、列和块中的任意一个划分为多个第零层级权重组,所述权重元素为权重值;将多个所述第零层级权重组按行、列和块中的任意一个划分为多个第一层级权重组,所述权重元素为第零层级权重组;以此类推,将第K-1层级权重组按行、列和块中的任意一个划分为多个第K层级权重组,所述权重元素为第K-1层级权重组,其中,K为正整数;其中,不同层级的权重组采用相同或者不同的划分方式。

11.根据权利要求10所述的压缩装置,其特征在于,所述第零层级权重组的数据长度基于加速单元的位宽来确定,加速单元用于执行与神经网络模型相关的运算。

12.根据权利要求10所述的压缩装置,其特征在于,所述稀疏模块包括:

13.根据权利要求9所述的压缩装置,其特征在于,还包括:

14.根据权利要求13所述的压缩装置,其特征在于,不同权重块矩阵的数据格式相同或者不同,所述数据格式包括数据类型和数据精度;

15.根据权利要求13所述的压缩装置,其特征在于,每一权重块矩阵中,每一层级的权重组按行、列和块中的一个划分,不同层级的权重组采用相同或者不同的划分方式;

16.一种计算系统,其特征在于,包括相互藕接的系统存储器、处理器和加速单元,

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

...

【技术特征摘要】

1.一种神经网络模型的压缩方法,其特征在于,包括:

2.根据权利要求1所述的压缩方法,其特征在于,基于行、列和块中的一个,将权重矩阵划分为多个层级权重组包括:

3.根据权利要求2所述的压缩方法,其特征在于,所述第零层级权重组的数据长度基于加速单元的位宽来确定,加速单元用于执行与神经网络模型相关的运算。

4.根据权利要求2所述的压缩方法,其特征在于,根据层级顺序对每个层级权重组进行稀疏化处理直至神经网络模型的准确度和/或压缩比达到预定目标包括:

5.根据权利要求1所述的压缩方法,其特征在于,还包括:

6.根据权利要求5所述的压缩方法,其特征在于,不同权重块矩阵的数据格式相同或者不同,所述数据格式包括数据类型和数据精度;

7.根据权利要求5所述的压缩方法,其特征在于,每一权重块矩阵中,每一层级的权重组按行、列和块中的一个划分,不同层级的权重组采用相同或者不同的划分方式;

8.根据权利要求1所述的压缩方法,其特征在于,所述稀疏化处理包括结构化稀疏或者非结构化稀疏。

9.一种神经网络模型的压缩装置,其特征在于,包括:

10.根据权利要求9所述的压缩装置,其特征在于,所述层级划分模块还用于将所述权重矩阵按行、列和块中的任意一个划分为多个第零层级权重组,所述权重...

【专利技术属性】
技术研发人员:请求不公布姓名熊大鹏
申请(专利权)人:苏州亿铸智能科技有限公司
类型:发明
国别省市:

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

1