对运行于人工智能芯片上的神经网络模型进行转换的编译方法及其相关产品技术

技术编号:36153895 阅读:54 留言:0更新日期:2022-12-31 19:59
本公开涉及一种对运行于人工智能芯片上的神经网络模型进行转换的编译方法和相关产品,该相关产品包括编译器、设备和计算机可读存储介质。该设备可以包括在组合处理装置的计算处理装置中,该计算处理装置可以包括一个或多个数据处理装置。前述的组合处理装置还可以包括接口装置和其他处理装置。所述计算处理装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与设备和其他处理装置连接,用于存储该设备和其他处理装置的数据。通过本公开的方案,可以实现了不同神经网络模型之间的直接转换。之间的直接转换。之间的直接转换。

【技术实现步骤摘要】
对运行于人工智能芯片上的神经网络模型进行转换的编译方法及其相关产品


[0001]本公开一般地涉及人工智能
更具体地,本公开涉及一种对运行于人工智能芯片上的神经网路模型进行转换的编译方法、编译器、用于执行前述方法的设备和计算机程序产品、包括前述编译器或设备的集成电路装置,以及包括该集成电路装置的板卡。

技术介绍

[0002]在人工智能
中,通常可以选择多种深度学习框架来构建相应的神经网络模型。多样化的神经网络模型满足了市场的不同需求,然而由于每种深度学习框架都有自己特有的网络结构定义和模型保持格式,这种框架之间的鸿沟阻碍了不同框架模型之间的操作。为此,相关技术提出了利用一些模型转换工具(例如微软开源MMdnn工具)来对模型进行转换的编译方法。这种编译方法仅适用于传统的开源神经网络模型之间的转换,对于一些区别于开源网络神经模型的特殊神经网络模型并不适用,其无法直接将开源的神经网络模型转换成这些特殊神经网络模型,需要经过多重中间表示才能完成转换。由此可见,相关技术中的编译方法通用性差,转换过程运算复杂,已无法满足实际使用需求。

技术实现思路

[0003]鉴于上述
技术介绍
部分所提及的技术问题,本公开提出一种对运行于人工智能芯片上的神经网络模型进行转换的编译方案。利用本公开的方案,可以通过对原始神经网络模型的解析,以得到本公开上下文中的计算图。由此,可以利用计算图来构建所需的目标神经网络模型,实现了不同神经网络模型之间的直接转换,有效减小模型转换过程中的运算复杂度,并显著提升包括人工智能处理器的智能计算系统的计算性能。为此,本公开在如下的多个方面中提供对运行于人工智能芯片上的神经网络模型进行转换的编译方案。
[0004]在第一方面中,本公开提供了一种对运行于人工智能芯片上的神经网络模型进行转换的编译方法,所述编译方法由通用处理器来执行,并且包括:对原始神经网络模型进行解析,以得到解析信息;根据所述解析信息生成目标神经网络模型运行时所需的计算图;基于所述计算图构建所述目标神经网络模型;以及将所述目标神经网络模型编译成对应的二进制指令序列,以分配至人工智能芯片处执行对应的任务。
[0005]在第二方面中,本公开提供了一种对运行于人工智能芯片上的神经网络模型进行转换的编译器,包括:解析模块,其用于对原始神经网络模型进行解析,以得到解析信息;生成模块,其用于根据所述解析信息生成目标神经网络模型运行时所需的计算图;构建模块,其用于基于所述计算图构建所述目标神经网络模型;以及编译模块,其用于将所述目标神经网络模型编译成对应的二进制指令序列,以分配至人工智能处理器上执行对应的任务。
[0006]在第三方面中,本公开提供了一种对运行于人工智能芯片上的神经网络模型进行转换的设备,包括:至少一个处理器;以及至少一个存储器,其存储有对运行于人工智能芯片上的神经网络模型进行转换的程序指令,当所述程序指令由所述至少一个处理器加载并
执行时,使得所述设备执行前述以及在下文多个实施例中所述的方法。
[0007]在第四方面中,本公开提供了一种计算机程序产品,包括对运行于人工智能芯片上的神经网络模型进行转换的计算机程序,所述计算机程序在被处理器执行时实现前述以及在下文多个实施例中所述的方法。
[0008]在第五方面中,本公开提供了一种集成电路装置,包括如上所述以及在下文多个实施例中所述的设备。
[0009]在第六方面中,本公开提供了一种板卡,包括如上所述以及在下文多个实施例中所述的集成电路装置。
[0010]通过本公开如上多个方面中所提供的编译方案,现有的神经网络模型之间的转换操作可以得到最大程度的优化。具体地,本公开的方案通过在编译时利用计算图来构建模型可以降低执行模型转换过程中的整体计算量,整个转换过程通用性强,不需要借助多重中间表示即可实现不同模型之间的直接转换,有效减小模型转换过程中的运算复杂度。
附图说明
[0011]通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
[0012]图1是示出根据本公开实施例的板卡的结构图;
[0013]图2是示出根据本公开实施例的组合处理装置的结构图;
[0014]图3是示出根据本公开实施例的计算装置的内部结构示意图;
[0015]图4是示出根据本公开实施例的处理器核的内部结构示意图;
[0016]图5是示出根据本公开实施例的不同集群的处理器核间的数据写入过程示意图;
[0017]图6是示出根据本公开实施例的数据流编程的软硬件架构的结构示意图;
[0018]图7是示出根据本公开实施例的对运行于人工智能芯片上的神经网络模型进行转换的编译方法的流程图;
[0019]图8是示出根据本公开实施例的对tensorflow网络架构下的神经网络模型进行转换的编译方法的流程图;以及
[0020]图9是示出根据本公开实施例的编译器的示意框图。
具体实施方式
[0021]下面将结合本公开实施方式中的附图,对本公开实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。
[0022]应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0023]还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施方式的
目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0024]如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0025]下面结合附图来详细描述本公开的具体实施方式。
[0026]图1示出本披露实施例的一种板卡10的结构示意图。如图1所示,板卡10包括芯片101,其是一种系统级芯片(System on 本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对运行于人工智能芯片上的神经网络模型进行转换的编译方法,所述编译方法由处理器来执行,并且包括:对原始神经网络模型进行解析,以得到解析信息;根据所述解析信息生成目标神经网络模型运行时所需的计算图;基于所述计算图构建所述目标神经网络模型;以及将所述目标神经网络模型编译成对应的二进制指令序列,以分配至人工智能芯片处执行对应的任务。2.根据权利要求1所述的编译方法,其中对原始神经网络模型进行解析包括:获取所述原始神经网络模型的网络模型文件;以及对所述网络模型文件进行解析。3.根据权利要求2所述的编译方法,其中对所述网络模型文件进行解析包括:根据所述原始神经网络模型,确定用于进行解析的目标脚本;以及采用所述目标脚本对所述网络模型文件进行解析。4.根据权利要求2所述的编译方法,所述网络模型文件包括网络结构文件和所述网络结构的输入输出参数文件。5.根据权利要求1所述的编译方法,其中所述解析信息包括算子和所述算子的参数信息,其中根据所述解析信息生成目标神经网络模型运行时所需的计算图包括:根据所述算子和所述参数信息生成所述计算图。6.根据权利要求5所述的编译方法,其中根据所述算子和所述参数信息生成所述计算图包括:基于所述算子和所述参数信息,构建包含有多个节点的有向无环图;其中每个所述节点包括一个所述算子。7.根据权利要求6所述的编译方法,其中基于所述...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:

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

1