算子优化方法、装置、电子设备及存储介质与流程

文档序号:36531412发布日期:2023-12-29 21:56阅读:22来源:国知局
算子优化方法与流程

本发明涉及人工智能,尤其涉及一种算子优化方法、装置、电子设备及存储介质。


背景技术:

1、随着人工智能(artificial intelligence,ai)的快速发展,越来越多的实际应用开始使用深度学习技术,例如,语音识别,机器翻译,自动驾驶等,深度学习技术在现实生活的应用中有巨大潜力,这也使得它越来越受到关注。而深度学习技术所采用的深度神经网络(deep neural network,dnn)模型的计算效率,直接影响着实际应用的效果,例如,自动驾驶中的目标检测,目标识别,运动预测等算法的计算时间决定了算法的可用性和安全性。因此,如何高性能地进行ai计算是目前ai芯片研发的迫切需求。

2、高性能算子是ai芯片高效计算的基础,相关技术中,通常用切分(tiling)策略对算子进行调优。然而,目前是以一种固定范式的形式对算子进行tiling。固定范式的方式导致每次有新的tiling策略都需要扩充分支,并以硬编码(hard code)的形式添加到代码工程中进行测试验证。这种固定范式缺少灵活性,无法支撑灵活多变的tiling策略,是一种非常低效的调优手段。

3、因此,如何对各算子进行优化,进而加速各算子的调优过程是目前亟待解决的问题。


技术实现思路

1、针对现有技术存在的问题,本发明实施例提供一种算子优化方法、装置、电子设备及存储介质。

2、本发明提供一种算子优化方法,包括:

3、基于获取到的切分策略,生成所述切分策略对应的第一调度树schedule tree;所述切分策略用于对神经网络模型中至少一个算子关联的数据进行切分;所述切分策略中的for循环语句与所述第一schedule tree中的节点一一对应;

4、基于所述第一schedule tree,对所述神经网络模型中的各所述算子进行优化。

5、可选地,所述基于所述第一schedule tree,对所述神经网络模型中的各所述算子进行优化,包括:

6、对所述第一schedule tree进行反序列化处理,生成所述第一schedule tree对应的目标对象;

7、基于所述目标对象,对所述各算子进行优化。

8、可选地,所述基于所述目标对象,对所述各算子进行优化,包括:

9、对所述目标对象进行深度优先遍历操作,得到深度优先遍历结果;

10、基于所述深度优先遍历结果,对所述各算子关联的数据进行切分,得到各所述算子关联的至少一个数据块;

11、基于各所述数据块对各所述算子进行优化。

12、可选地,所述切分策略为预配置在yaml文件中的多个for循环语句。

13、可选地,所述方法还包括:

14、在监测到所述切分策略发生更新的情况下,基于更新后的切分策略对所述第一schedule tree进行更新,生成第二schedule tree;

15、基于所述第二schedule tree,对所述神经网络模型中的各所述算子进行优化。

16、可选地,所述方法还包括:

17、在未获取到所述切分策略的情况下,获取预配置的第三schedule tree;

18、基于所述第三schedule tree,对所述神经网络模型中的各所述算子进行优化。

19、本发明还提供一种算子优化装置,包括:

20、第一获取模块,用于基于获取到的切分策略,生成所述切分策略对应的第一调度树schedule tree;所述切分策略用于对神经网络模型中至少一个算子关联的数据进行切分;所述切分策略中的for循环语句与所述第一schedule tree中的节点一一对应;

21、第一优化模块,用于基于所述第一schedule tree,对所述神经网络模型中的各所述算子进行优化。

22、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述算子优化方法。

23、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述算子优化方法。

24、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述算子优化方法。

25、本发明提供的算子优化方法、装置、电子设备及存储介质,基于获取到的切分策略,生成切分策略对应的第一schedule tree,其中,切分策略中的for循环语句与第一schedule tree中的节点一一对应;由于第一schedule tree是可配置的,可以支撑灵活多变的切分策略,因此利用第一schedule tree对神经网络模型中的各算子进行优化,避免了将切分策略以硬编码的形式添加到代码工程中,进而可以加速各算子的调优过程。



技术特征:

1.一种算子优化方法,其特征在于,包括:

2.根据权利要求1所述的算子优化方法,其特征在于,所述基于所述第一调度树,对所述神经网络模型中的各所述算子进行优化,包括:

3.根据权利要求2所述的算子优化方法,其特征在于,所述基于所述目标对象,对所述各算子进行优化,包括:

4.根据权利要求1至3中任一项所述的算子优化方法,其特征在于,所述切分策略为预配置在yaml文件中的多个for循环语句。

5.根据权利要求1至3中任一项所述的算子优化方法,其特征在于,所述方法还包括:

6.根据权利要求1至3中任一项所述的算子优化方法,其特征在于,所述方法还包括:

7.一种算子优化装置,其特征在于,包括:

8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述算子优化方法。

9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述算子优化方法。

10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述算子优化方法。


技术总结
本发明提供一种算子优化方法、装置、电子设备及存储介质,涉及人工智能技术领域,其中方法包括:基于获取到的切分策略(tiling策略),生成切分策略对应的第一调度树(schedule tree);切分策略用于对神经网络模型中至少一个算子关联的数据进行切分;切分策略中的for循环语句与第一调度树中的节点一一对应;基于第一调度树,对神经网络模型中的各所述算子进行优化。上述方法中,由于第一调度树是可配置的,可以支撑灵活多变的切分策略,因此利用第一调度树对各算子进行优化,避免了将切分策略以硬编码的形式添加到代码工程中,从而加速各算子的调优过程。

技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名
受保护的技术使用者:上海壁仞科技股份有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1