一种模型优化方法、模型优化装置以及计算机存储介质与流程

文档序号:38586372发布日期:2024-07-10 15:28阅读:19来源:国知局
一种模型优化方法、模型优化装置以及计算机存储介质与流程

本申请涉及模型转换推理,特别是涉及一种模型优化方法、模型优化装置以及计算机存储介质。


背景技术:

1、深度学习技术实际应用,涉及到神经网络模型部署,模型部署主要分为两个阶段,模型转换与模型推理。模型转换指将训练的模型转换到目标平台的模型格式,目的是对模型进行优化,通过图优化、最优算子选择等方式提升推理性能。模型推理指运行时库通过加载转换后模型,在指定设备上按照模型进行计算的过程,推理性能与算子优化情况强相关。

2、目前已有的推理算子优化主要是基于优化工程师针对算子的进行通用编码,需要考虑大量算子入参,针对不同参数可能有大量的重复编码工作,导致模型优化难度大,效果较差。


技术实现思路

1、为解决上述技术问题,本申请提出了一种模型优化方法、模型优化装置以及计算机存储介质。

2、为解决上述技术问题,本申请提出了一种模型优化方法,所述模型优化方法包括:

3、获取神经网络模型,以及解析所述神经网络模型中的算子参数;

4、利用所述设备环境信息和/或所述算子参数对算子库的算子模板进行优化,确定神经网络模型的优化算子;

5、根据所述优化算子输出运行代码,并编译所述神经网络模型的运行时库,获取优化后的神经网络模型。

6、其中,所述利用所述设备环境信息和/或所述算子参数对算子库的算子模板进行优化之前,所述模型优化方法还包括:

7、基于所述算子参数分析所述神经网络模型各个模型层的算子类型;

8、按照所述算子类型从所述算子库中获取对应的算子模板。

9、其中,所述利用所述设备环境信息和/或所述算子参数对算子库的算子模板进行优化,确定神经网络模型的优化算子,包括:

10、利用所述算子参数中的常数和变量替换所述算子模板的待替换变量,生成所述优化算子。

11、其中,所述利用所述算子参数中的常数和变量替换所述算子模板的待替换变量,包括:

12、响应于所述算子参数包括表达式,获取所述表达式中的常数;

13、根据所述表达式对所述常数进行运算,合并为优化常数;

14、利用所述优化常数和变量替换所述算子模板的待替换变量。

15、其中,所述利用所述算子参数中的常数和变量替换所述算子模板的待替换变量,生成所述优化算子,包括:

16、将所述优化常数设置为所述算子模板的初始值;

17、基于所述初始值以及不同缓存分块尺寸运行所述算子模板,获取每一缓存分块尺寸对应的运行耗时;

18、将所述运行耗时最少的缓存分块尺寸作为优化缓存分块尺寸;

19、利用所述优化常数和变量替换所述算子模板的待替换变量,按照所述优化缓存分块尺寸生成所述优化算子。

20、其中,所述利用所述设备环境信息和/或所述算子参数对所述算子模板进行优化,确定神经网络模型的优化算子,包括:

21、基于所述算子参数分析所述神经网络模型的待展开循环;

22、基于所述设备环境信息,获取寄存器数量;

23、根据所述待展开循环的的寄存器输出和寄存器输入,以及所述寄存器数量,确定所述待展开循环的展开数量;

24、按照所述展开数量对所述算子模板进行优化,确定所述优化算子。

25、其中,所述利用所述设备环境信息和/或所述算子参数对算子库的算子模板进行优化,确定神经网络模型的优化算子,包括:

26、基于所述算子参数,获取判断条件为常数的算子分支;

27、基于所述设备环境信息,获取并行计算的数据组数;

28、根据所述数据组数对所述算子分支进行计算,确定所述算子模板的优化分支;

29、按照所述优化分支对所述算子模板进行优化,确定所述优化算子。

30、其中,所述运行代码为源码。

31、为解决上述技术问题,本申请还提出一种模型优化装置,所述模型优化装置包括存储器以及与所述存储器耦接的处理器;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如上述的模型优化方法。

32、为解决上述技术问题,本申请还提出一种计算机存储介质,所述计算机存储介质用于存储程序数据,所述程序数据在被计算机执行时,用以实现上述的模型优化方法。

33、与现有技术相比,本申请的有益效果是:模型优化装置获取神经网络模型,以及解析所述神经网络模型中的算子参数;利用所述设备环境信息和/或所述算子参数对算子库的算子模板进行优化,确定神经网络模型的优化算子;根据所述优化算子输出运行代码,并编译所述神经网络模型的运行时库,获取优化后的神经网络模型。通过上述模型优化方法,在模型转换时,基于模型参数对算子进行二次优化,提升算子性能与转换后模型整体的推理性能。



技术特征:

1.一种模型优化方法,其特征在于,所述模型优化方法包括:

2.根据权利要求1所述的模型优化方法,其特征在于,

3.根据权利要求1所述的模型优化方法,其特征在于,

4.根据权利要求3所述的模型优化方法,其特征在于,

5.根据权利要求4所述的模型优化方法,其特征在于,

6.根据权利要求1所述的模型优化方法,其特征在于,

7.根据权利要求1所述的模型优化方法,其特征在于,

8.根据权利要求1所述的模型优化方法,其特征在于,

9.一种模型优化装置,其特征在于,所述模型优化装置包括存储器以及与所述存储器耦接的处理器;

10.一种计算机存储介质,其特征在于,所述计算机存储介质用于存储程序数据,所述程序数据在被计算机执行时,用以实现如权利要求1至8任一项所述的模型优化方法。


技术总结
本申请提出一种模型优化方法、模型优化装置以及计算机存储介质。所述模型优化方法包括:获取神经网络模型,以及解析所述神经网络模型中的算子参数;利用所述设备环境信息和/或所述算子参数对算子库的算子模板进行优化,确定神经网络模型的优化算子;根据所述优化算子输出运行代码,并编译所述神经网络模型的运行时库,获取优化后的神经网络模型。通过上述模型优化方法,在模型转换时,基于模型参数对算子进行二次优化,提升算子性能与转换后模型整体的推理性能。

技术研发人员:林超,张磊,魏程峰,孙伶君,张海玉,姜晓卫
受保护的技术使用者:浙江大华技术股份有限公司
技术研发日:
技术公布日:2024/7/9
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1