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

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

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


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

技术介绍

[0002]随着计算机硬件技术水平的不断提升,能够部署在计算机上的神经网络模型类型也随之增多。尽管如此,随着神经网络模型的网络结构的设计复杂化,对于拥有海量参数的网络来说,算力仍然是阻碍算法发展和应用的瓶颈。另外,针对神经网络模型的编译方式,目前通常的做法是直接对神经网络模型的模型结构图进行编译,或者仅对模型结构图简单优化后进行编译(例如通过改变结构图中节点运行顺序来优化结构图)。由此可以看出,当前的编译方法仅能对一些具有简单结构图的神经网络模型进行优化,其无法对相对复杂结构图的神经网络模型进行优化。

技术实现思路

[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是示出根据本公开的实施例的对神经网络模型进行优化的示意图;以及
[0020]图9是示出根据本公开实施例的编译器的示意框图。
具体实施方式
[0021]下面将结合本公开实施方式中的附图,对本公开实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。
[0022]应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书
中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0023]还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施方式的目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0024]如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0025]下面结合附图来详细描述本公开的具体实施方式。
[0026]图1示出本披露实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对运行于人工智能芯片上的神经网络模型进行优化的编译方法,所述编译方法由通用处理器执行,并且包括:获取所述神经网络模型的模型结构图,其中所述模型结构图包含多个节点和与每个节点相关的节点信息;基于每个所述节点的节点信息,从所述多个节点中筛选出公共节点并对所述公共节点中的节点进行删减,以优化所述神经网络模型;以及将优化后的所述神经网络模型编译成可执行程序指令,以便分配至所述人工智能芯片处执行对应的任务。2.根据权利要求1所述的编译方法,其中以遍历所述模型结构图的方式来实现对所述模型结构图中所有所述公共节点的筛选和删减,所述方法包括在所述遍历中:从所述模型结构图中选取原节点;判断是否存在与所述原节点的节点信息相匹配的目标节点;响应于存在所述目标节点,将所述原节点和所述目标节点从所述模型结构图中筛选出,以作为所述公共节点;以及对所述公共节点执行所述删减。3.根据权利要求2所述的编译方法,其中遍历所述模型结构图包括在执行完一次所述筛选和删减后,从删减后的所述模型结构图的初始位置处执行新一轮的遍历。4.根据权利要求2所述的编译方法,其中遍历所述模型结构图包括在执行完一次所述筛选和删减后,从所述模型结构图中删减后的节点处开始新一轮的遍历。5.根据权利要求2所述的编译方法,其中每个节点具有针对所述节点信息执行哈希运算所获得的哈希值,其中判断是否存在与所述原节点的节点信息相匹配的目标节点包括:判断是否存在哈希值与所述原节点的哈希值相同的节点;以及响应于存在哈希值与所述原节点的哈希值相同的节点,确定其为所述目标节点。6.根据权利要求2至5中任一项所述的编译方法,其中对所述公共节点执行所述删减包括:删除所述原节点...

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

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

1