神经网络模型的编译方法、优化模型的训练方法和装置制造方法及图纸

技术编号:38596475 阅读:20 留言:0更新日期:2023-08-26 23:32
本公开实施例公开了一种神经网络模型的编译方法、优化模型的训练方法和装置,其中,方法包括:获取待编译神经网络模型;基于待编译神经网络模型,确定待编译神经网络模型对应的中间指令序列;利用预先训练获得的指令序列优化模型对中间指令序列进行处理,获得中间指令序列对应的目标优化参数;基于目标优化参数,确定中间指令序列对应的优化指令序列;将优化指令序列转换为可执行指令序列,获得待编译神经网络模型对应的神经网络处理器可执行的目标指令序列。本公开实施例可以大大降低编译时间,从而可以有效提高编译效率。从而可以有效提高编译效率。从而可以有效提高编译效率。

【技术实现步骤摘要】
神经网络模型的编译方法、优化模型的训练方法和装置


[0001]本公开涉及人工智能技术,尤其是一种神经网络模型的编译方法、优化模型的训练方法和装置。

技术介绍

[0002]随着人工智能的飞速发展,深度神经网络模型(可以简称模型)被广泛应用于计算机视觉、自然语言处理、语音识别、自动驾驶等众多领域。在模型的网络结构确定后,模型的实际执行效率主要依赖于硬件与编译器。为了提升模型的执行效率和处理能力,编译优化技术被提出并应用于模型的编译过程中,编译优化技术可以在不增加硬件成本的情况下提升模型的执行效率和处理能力。在相关技术的编译过程中,通常先将模型转换到中间表示的指令序列(可以称为中间指令序列或计算图),进而针对模型人工制定识别可优化部分的规则,并针对可优化部分设计启发式算法,以遍历各种优化方案(优化指令序列),找到最优的优化方案,但是,基于启发式算法确定最优优化方案的方法遍历时间长,导致编译时间过长、编译效率较低。

技术实现思路

[0003]为了解决上述编译时间长、效率低等技术问题,本公开的实施例提供了一种神经网络模型的编译方法、优化模型的训练方法和装置,以降低编译时间,提高编译效率。
[0004]本公开的第一个方面,提供了一种神经网络模型的编译方法,包括:获取待编译神经网络模型;基于所述待编译神经网络模型,确定所述待编译神经网络模型对应的中间指令序列;利用预先训练获得的指令序列优化模型对所述中间指令序列进行处理,获得所述中间指令序列对应的目标优化参数;基于所述目标优化参数,确定所述中间指令序列对应的优化指令序列;将所述优化指令序列转换为可执行指令序列,获得所述待编译神经网络模型对应的神经网络处理器可执行的目标指令序列。
[0005]本公开的的第二个方面,提供了一种指令序列优化模型的训练方法,包括:获取至少一个神经网络模型分别对应的训练中间指令序列及各所述训练中间指令序列分别对应的最优优化参数标签;基于各所述训练中间指令序列及各所述训练中间指令序列分别对应的所述最优优化参数标签,对预先建立的指令序列优化网络进行训练,获得训练好的指令序列优化模型。
[0006]本公开的第三个方面,提供了一种神经网络模型的编译装置,包括:第一获取模块,用于获取待编译神经网络模型;第一处理模块,用于基于所述待编译神经网络模型,确定所述待编译神经网络模型对应的中间指令序列;第二处理模块,用于利用预先训练获得的指令序列优化模型对所述中间指令序列进行处理,获得所述中间指令序列对应的目标优化参数;第三处理模块,用于基于所述目标优化参数,确定所述中间指令序列对应的优化指令序列;第四处理模块,用于将所述优化指令序列转换为可执行指令序列,获得所述待编译神经网络模型对应的神经网络处理器可执行的目标指令序列。
[0007]本公开的第四个方面,提供了一种指令序列优化模型的训练装置,包括:
[0008]第二获取模块,用于获取至少一个神经网络模型分别对应的训练中间指令序列及各所述训练中间指令序列分别对应的最优优化参数标签;第五处理模块,用于基于各所述训练中间指令序列及各所述训练中间指令序列分别对应的所述最优优化参数标签,对预先建立的指令序列优化网络进行训练,获得训练好的指令序列优化模型。
[0009]本公开的第五个方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本公开上述任一实施例所述的神经网络模型的编译方法,或者,所述计算机程序用于执行本公开上述任一实施例所述的指令序列优化模型的训练方法。
[0010]本公开的第六个方面,提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开上述任一实施例所述的神经网络模型的编译方法,或者,执行所述指令以实现本公开上述任一实施例所述的指令序列优化模型的训练方法。
[0011]本公开的第七个方面,提供了一种计算机程序产品,当所述计算机程序产品中的指令被处理器执行时,执行本公开上述任一实施例所述的神经网络模型的编译方法,或者,执行本公开上述任一实施例所述的指令序列优化模型的训练方法。
[0012]基于本公开上述实施例提供的神经网络模型的编译方法、优化模型的训练方法和装置,在神经网络模型编译过程中,在获得待编译神经网络模型对应的中间指令序列之后,可以通过预先训练获得的指令序列优化模型快速获得最优的优化参数,进而可以确定中间指令序列对应的最优的优化指令序列,将优化指令序列转换为可执行指令序列,即可获得所述待编译神经网络模型对应的神经网络处理器可执行的目标指令序列,完成神经网络模型的编译,由于通过指令序列优化模型确定最优优化指令序列,相对于人工制定规则和设计启发式算法,可以大大降低编译时间,从而可以有效提高编译效率。
附图说明
[0013]图1是本公开提供的神经网络模型的编译方法的一个示例性的应用场景;
[0014]图2是本公开一示例性实施例提供的神经网络模型的编译方法的流程示意图;
[0015]图3是本公开一示例性实施例提供的计算子图拆分原理示意图;
[0016]图4是本公开另一示例性实施例提供的神经网络模型的编译方法的流程示意图;
[0017]图5是本公开一示例性实施例提供的指令序列优化模型的网络结构示意图;
[0018]图6是本公开再一示例性实施例提供的神经网络模型的编译方法的流程示意图;
[0019]图7是本公开另一示例性实施例提供的指令序列优化模型的网络结构示意图;
[0020]图8是本公开一示例性实施例提供的指令序列优化模型的训练方法的流程示意图;
[0021]图9是本公开另一示例性实施例提供的指令序列优化模型的训练方法的流程示意图;
[0022]图10是本公开再一示例性实施例提供的指令序列优化模型的训练方法的流程示意图;
[0023]图11是本公开再一示例性实施例提供的指令序列优化模型的网络结构示意图;
[0024]图12是本公开一示例性实施例提供的神经网络模型的编译装置的结构示意图;
[0025]图13是本公开另一示例性实施例提供的神经网络模型的编译装置的结构示意图;
[0026]图14是本公开再一示例性实施例提供的神经网络模型的编译装置的结构示意图;
[0027]图15是本公开一示例性实施例提供的指令序列优化模型的训练装置的结构示意图;
[0028]图16是本公开另一示例性实施例提供的指令序列优化模型的训练装置的结构示意图;
[0029]图17是本公开再一示例性实施例提供的指令序列优化模型的训练装置的结构示意图;
[0030]图18是本公开实施例提供的一种电子设备的结构图。
具体实施方式
[0031]为了解释本公开,下面将参考附图详细地描述本公开的示例实施例,显然,所描述的实施例仅是本公开的一部分实施例,而不是全部实施例,应理解,本公开不受示例性实施例的限制。
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的编译方法,包括:获取待编译神经网络模型;基于所述待编译神经网络模型,确定所述待编译神经网络模型对应的中间指令序列;利用预先训练获得的指令序列优化模型对所述中间指令序列进行处理,获得所述中间指令序列对应的目标优化参数;基于所述目标优化参数,确定所述中间指令序列对应的优化指令序列;将所述优化指令序列转换为可执行指令序列,获得所述待编译神经网络模型对应的神经网络处理器可执行的目标指令序列。2.根据权利要求1所述的方法,其中,所述利用预先训练获得的指令序列优化模型对所述中间指令序列进行处理,获得所述中间指令序列对应的目标优化参数,包括:利用所述指令序列优化模型中的第一特征提取网络对所述中间指令序列进行特征提取,获得指令序列特征;利用所述指令序列优化模型中的预测头网络对所述指令序列特征进行处理,获得处理结果,所述处理结果包括所述中间指令序列对应的优化参数预测概率;基于所述处理结果及预设映射规则,确定所述目标优化参数。3.根据权利要求2所述的方法,还包括:获取当前内存信息序列;所述利用预先训练获得的指令序列优化模型对所述中间指令序列进行处理,获得所述中间指令序列对应的目标优化参数,还包括:利用所述指令序列优化模型中的第二特征提取网络对所述当前内存信息序列进行特征提取,获得内存信息特征;将所述指令序列特征与所述内存信息特征进行融合,获得融合特征;所述利用所述指令序列优化模型中的预测头网络对所述指令序列特征进行处理,获得处理结果,包括:利用所述预测头网络对所述融合特征进行处理,获得所述处理结果。4.根据权利要求3所述的方法,其中,所述将所述指令序列特征与所述内存信息特征进行融合,获得融合特征,包括:将所述指令序列特征按照第一聚合规则进行聚合,获得第一聚合特征;将所述内存信息特征按照第二聚合规则进行聚合,获得第二聚合特征;所述第二聚合特征与所述第一聚合特征在至少一个方向上的维度相同;将所述第一聚合特征和所述第二聚合特征进行拼接,获得所述融合特征。5.根据权利要求1所述的方法,其中,所述目标优化参数包括内存管理参数、算子执行模式参数和张量拆分参数;所述基于所述目标优化参数,确定所述中间指令序列对应的优化指令序列,包括:基于所述内存管理参数、所述算子执行模式参数和所述张量拆分参数,对所述中间指令序列进行优化,获得所述优化指令序列。6.一种指令序列优化模型的训练方法,包括:获取至少一个神经网络模型分别对应的训练中间指令序列及各所述训练中间指令序列分别对应的最优优化参数标签;
基于各所述训练中间指令序列及各所述训练中间指令序列分别对应的所述最优优化参数标签,对预先建立的指令序列优化网络进行训练,获得训练好的指令序列优化模型。7.根据权利要求6所述的方法,其中,所述基于各所述训练中间指令序列及各所述训练中间指令序列分别对应的所述最优优化参数标签,对预先建立的指令序列优化网络进行训练,获得训练好的指令序列优化模型,包括:利用所述指令序列优化网络对各所述训练中间指令序列进行处理,获得各所述训练中间指令序列分别对应的预测处理结果;基于各所述训练中间指令序列分别对应的所述预测处理结果、各所述训练中间指令序列分别对应的所述最优优化参数标签及预设损失函数,确定网络损失;基于所述网络损失对所述指令序列优化网络的网络参数进行更新,获得更新后的网络参数;基于所述更新后的网络参数,确定更新后的指令序列优化网络;将所述更新后的指令序列优化网络作为所述指令序列优化网络,重复执行利用所述指令序列优化网络对各所述训练中间指令序列进行处理,获得各所述训练中间指令序列分别对应的预测处理结果的步骤;响应...

【专利技术属性】
技术研发人员:沈碧螺邓博文李建军张骞
申请(专利权)人:北京地平线信息技术有限公司
类型:发明
国别省市:

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

1