一种基于神经网络模型的编译优化方法、装置及电子设备制造方法及图纸

技术编号:38652781 阅读:9 留言:0更新日期:2023-09-02 22:40
本申请涉及人工智能技术领域,尤其涉及一种基于神经网络模型的编译优化方法、装置及电子设备。该编译优化方法包括:从待优化的模型文件中获取神经网络模型的计算图;对计算图中的算子进行衍生处理,得到包括若干个衍生计算图的初始衍生种群,将初始衍生种群存入衍生种群集;从衍生种群集中筛选得到最优衍生计算图;根据最优衍生计算图的拓扑结构生成指令代码,并写入模型文件。本申请提供的基于神经网络模型的编译优化方法通过衍生得到包括若干个衍生计算图的衍生种群后,筛选出性能最优的衍生计算图,能够提升神经网络模型的推理性能。能。能。

【技术实现步骤摘要】
一种基于神经网络模型的编译优化方法、装置及电子设备


[0001]本申请涉及人工智能
,尤其涉及一种基于神经网络模型的编译优化方法、装置及电子设备。

技术介绍

[0002]近年来,以机器学习、深度学习为核心的人工智能技术得到迅猛发展,深度神经网络在各行各业得到广泛应用。这些应用催生许多新的模型出现,例如卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(Recurrent Neural Network,RNN)、长短期记忆网络(Long Short

Term Memory,LSTM)、生成式对抗网络(Generative Adversarial Networks,GAN)和图神经网络(Graph Neural Networks,GNN)等,也催生着诸如Tensorflow、Pytorch、Mxnet、和Caffe等深度学习框架出现。
[0003]但是,深度学习算法要实现落地应用,必须被部署到终端硬件上。不同深度学习框架训练出来的模型要如何部署到不同的终端硬件呢,这就需要编译器来解决。
[0004]以神经网络编译器TVM为例,TVM针对不同的深度学习框架和硬件平台,实现了统一的软件栈,以尽可能高效的方式,将不同深度学习框架下的模型部署到硬件平台上。TVM中的自动调优(AutoScheduler)技术,对神经网络模型的计算图进行多层次抽象,利用进化搜索和基于机器学习的成本模型或代价模型(Cost Model)进行自动化性能调优,其主要是单算子的性能调优。

技术实现思路

[0005]有鉴于此,本申请实施例提供了一种基于神经网络模型的编译优化方法、装置及电子设备,以提升神经网络模型整体算子的性能调优。
[0006]第一方面,本申请一实施例提供了一种基于神经网络模型的编译优化方法,包括:从待优化的模型文件中获取神经网络模型的计算图;对计算图中的算子进行衍生处理,得到包括若干个衍生计算图的初始衍生种群,将初始衍生种群存入衍生种群集;从衍生种群集中筛选得到最优衍生计算图;根据最优衍生计算图的拓扑结构生成指令代码,并写入模型文件。
[0007]本实施例通过衍生得到包括若干个衍生计算图的衍生种群后,筛选出性能最优的衍生计算图,能够提升神经网络模型的推理性能。
[0008]进一步地,编译优化方法中对计算图中的算子进行衍生处理,得到包括若干个衍生计算图的初始衍生种群,将初始衍生种群存入衍生种群集前,还包括:对计算图中的算子进行融合处理,得到融合后的计算图。能够提升神经网络模型的优化效率。
[0009]进一步地,编译优化方法中对计算图中的算子进行衍生处理,得到包括若干个衍生计算图的初始衍生种群,将所述初始衍生种群存入衍生种群集,包括:对计算图进行拓扑排序,根据衍生规则对计算图中的算子进行衍生处理,得到包括若干个衍生计算图的初始衍生种群。对初始衍生种群中的衍生计算图进行变异处理,得到后代衍生种群,将初始衍生
种群和后代衍生种群存入衍生种群集。能够扩展更多种神经网络模型的衍生计算图,尽可能筛选到性能更优的计算图。
[0010]第二方面,本申请一实施例提供了一种基于神经网络模型的编译优化装置,包括:获取模块,用于从待优化的模型文件中获取神经网络模型的计算图;衍生模块,用于对计算图中的算子进行衍生处理,得到包括若干个衍生计算图的初始衍生种群,将初始衍生种群存入衍生种群集;筛选模块,用于从衍生种群集中筛选得到最优衍生计算图;写入模块,用于根据最优衍生计算图的拓扑结构生成指令代码,并写入模型文件。
[0011]第三方面,本申请一实施例提供一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面实施例所述的基于神经网络模型的编译优化方法。
[0012]第四方面,本申请一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面实施例所述的基于神经网络模型的编译优化方法。
[0013]第五方面,本申请一实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如第一方面实施例所述的基于神经网络模型的编译优化方法。
[0014]应理解,第二方面至第五方面实施例的有益效果可以参见第一方面实施例的相关描述,此处不再赘述。
附图说明
[0015]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0016]图1是本申请一实施例提供的一种基于神经网络模型的编译优化方法的实现流程示意图;
[0017]图2是本申请另一实施例提供的一种基于神经网络模型的编译优化方法的实现流程示意图;
[0018]图3A是本申请一实施例提供的一种算子融合的示意图;
[0019]图3B是本申请另一实施例提供的一种算子融合的示意图;
[0020]图3C是本申请另一实施例提供的一种算子融合的示意图;
[0021]图3D是本申请另一实施例提供的一种算子融合的示意图;
[0022]图4是本申请一实施例提供的一种基于神经网络模型的编译优化方法中步骤S120的实现流程示意图;
[0023]图5是本申请一实施例提供的计算图的结构示意图;
[0024]图6是本申请一实施例提供的计算图的衍生处理的实现流程示意图;
[0025]图7是本申请一实施例提供的一种衍生计算图的结构示意图;
[0026]图8是本申请一实施例提供的一种基于神经网络模型的编译优化装置的结构示意图;
[0027]图9是本申请另一实施例提供的一种基于神经网络模型的编译优化装置的结构示意图;
[0028]图10是本申请一实施例提供的一种电子设备的结构示意图。
具体实施方式
[0029]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0030]在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0031]在本申请说明书中描述的“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于神经网络模型的编译优化方法,其特征在于,包括:从待优化的模型文件中获取神经网络模型的计算图;对所述计算图中的算子进行衍生处理,得到包括若干个衍生计算图的初始衍生种群,将所述初始衍生种群存入衍生种群集;从所述衍生种群集中筛选得到最优衍生计算图;根据所述最优衍生计算图的拓扑结构生成指令代码,并写入所述模型文件。2.根据权利要求1所述的编译优化方法,其特征在于,所述对所述计算图中的算子进行衍生处理,得到包括若干个衍生计算图的初始衍生种群,将所述初始衍生种群存入衍生种群集前,还包括:对所述计算图中的算子进行融合处理,得到融合后的计算图。3.根据权利要求1所述的编译优化方法,其特征在于,所述对所述计算图中的算子进行衍生处理,得到包括若干个衍生计算图的初始衍生种群,将所述初始衍生种群存入衍生种群集,包括:对所述计算图进行拓扑排序,根据衍生规则对所述计算图中的算子进行衍生处理,得到包括若干个衍生计算图的初始衍生种群,将所述初始衍生种群存入衍生种群集。4.根据权利要求3所述的编译优化方法,其特征在于,还包括:对所述初始衍生种群中的所述衍生计算图进行变异处理,得到后代衍生种群,将所述后代衍生种群存入衍生种群集。5.根据权利要求3所述的编译优化方法,其特征在于,所述衍生处理包括随机块切分和读写算子增加。6.根据权利要求1所述的编译优化方法,其特征在于,所述对所述计算图中的算子进行衍生处理,得...

【专利技术属性】
技术研发人员:陈昕杨海亮李启璋谷涛
申请(专利权)人:奥比中光科技集团股份有限公司
类型:发明
国别省市:

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

1