神经网络结构拆分方法及装置、映射方法、电子设备、介质制造方法及图纸

技术编号:36426652 阅读:13 留言:0更新日期:2023-01-20 22:36
本公开提供了一种神经网络结构拆分方法及装置、映射方法、电子设备、介质,该方法包括:获取神经网络中各结点在众核芯片上执行的工作负载数据;众核芯片包括多个功能核组,每个功能核组包括一个或多个功能核;基于各结点对应的工作负载数据对神经网络中的结点进行拆分,获得多个子结构;其中,每个子结构对应分配一个功能核组。根据本公开的实施例能够均衡每个功能核的工作负载,提高拆分的通用性。提高拆分的通用性。提高拆分的通用性。

【技术实现步骤摘要】
神经网络结构拆分方法及装置、映射方法、电子设备、介质


[0001]本公开涉及人工智能
,特别涉及一种神经网络结构拆分方法及装置、映射方法、电子设备、介质。

技术介绍

[0002]众核架构是提高程序运行并行度、加速神经网络执行的常见芯片架构。基于众核架构设计的众核芯片包括多个功能核组,每个功能核组包括多个功能核,每个功能核均可以执行计算任务。神经网络的计算任务被拆分成不同的子任务,再通过时空映射方式被分配到众核芯片中多个不同的功能核组中并行执行。这些功能核组之间按照流水的方式连续地处理输入数据,使得众核芯片具有很高的执行吞吐率。

技术实现思路

[0003]本公开提供一种神经网络结构拆分方法及装置、映射方法、电子设备、介质。
[0004]第一方面,本公开提供了一种神经网络结构拆分方法,包括:
[0005]获取神经网络中各结点在众核芯片上执行的工作负载数据;所述众核芯片包括多个功能核组,每个所述功能核组包括一个或多个功能核;
[0006]基于各所述结点对应的工作负载数据对所述神经网络中的所述结点进行拆分,获得多个子结构;其中,每个所述子结构对应分配一个所述功能核组。
[0007]第二方面,本公开提供了一种神经网络映射方法,包括:
[0008]通过本公开提供的任意一项所述的神经网络结构拆分方法对所述神经网络进行拆分,获得多个子结构;
[0009]将所述多个子结构分别映射至众核芯片中对应的功能核组中。
[0010]第三方面,本公开提供了一种神经网络结构拆分装置,包括:
[0011]获取模块,用于获取神经网络中各结点在众核芯片上执行的工作负载数据;所述众核芯片分为多个功能核组,每个所述功能核组包括一个或多个功能核;
[0012]拆分模块,用于基于各所述结点对应的工作负载数据对所述神经网络中的所述结点进行拆分,获得多个子结构;其中,每个所述子结构对应分配一个所述功能核组。
[0013]第四方面,本公开提供了一种神经网络映射装置,包括:
[0014]拆分单元,用于对所述神经网络进行拆分,获得多个子结构;其中,所述拆分模块为本公开实施例提供的所述的神经网络结构拆分装置;
[0015]映射单元,用于将所述多个子结构分别映射至众核芯片中对应的功能核组中
[0016]第五方面,本公开提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的神经网络结构拆分方法或神经网络映射方法。
[0017]第六方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器/处理核执行时实现上述的神经网络结构拆分方法或神经网络映射方法。
[0018]本公开实施例提供的神经网络结构拆分方法,获取神经网络中各结点在众核芯片上执行的工作负载数据,并基于各结点对应的工作负载数据对神经网络中的结点进行拆分,获得多个子结构,将每个子结构对应分配一个功能核组,这样可以均衡每个功能核的工作负载,更好地实现众核芯片流水的数据处理,从而提高众核芯片的吞吐率;同时,提高拆分的通用性,既适用于对简单结构,又适用于复杂结构的神经网络的拆分。
[0019]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0020]附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
[0021]图1为本公开实施例的一种功能核组应用场景图;
[0022]图2为本公开实施例的另一种功能核组的应用场景图;
[0023]图3为本公开实施例提供的一种神经网络结构拆分方法的流程图;
[0024]图4为本公开实施例计算任务图的示意图;
[0025]图5为本公开实施例遍历神经网络中各结点的流程图;
[0026]图6为本公开实施例中遍历神经网络中各结点过程中工作池的队列变化图;
[0027]图7为本公开实施例提供的一种神经网络结构拆分装置的框图;
[0028]图8为本公开实施例提供的神经网络映射装置的框图;
[0029]图9为本公开实施例提供的一种电子设备的框图。
具体实施方式
[0030]为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0031]在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
[0032]如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
[0033]本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
[0034]除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
[0035]神经网络的计算任务被拆分成不同的子任务,这些子任务被分配到众核芯片中多个不同的逻辑功能核组中并行执行。其中,功能核组可以为同一个芯片上的不同功能核组,也可以为不同芯片上的功能核组。这些功能核组之间按照流水的方式来连续的处理输入数据,使得众核芯片具有很高的执行吞吐率。
[0036]图1为本公开实施例的应用场景图。如图1所示,神经网络的计算任务被拆分为四个子任务,即第一子任务11、第二子任务12、第三子任务13和第四子任务14。众核芯片内的功能核被分为两个功能核组,即第一功能核组21和第二功能核组22,第一功能核组21和第二功能核组22内的功能核的数量可以相同,也可以不同。
[0037]子任务与功本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络结构拆分方法,其特征在于,包括:获取神经网络中各结点在众核芯片上执行的工作负载数据;所述众核芯片包括多个功能核组,每个所述功能核组包括一个或多个功能核;基于各所述结点对应的工作负载数据对所述神经网络中的所述结点进行拆分,获得多个子结构;其中,每个所述子结构对应分配一个所述功能核组。2.根据权利要求1所述的神经网络结构拆分方法,其特征在于,所述基于各所述结点对应的工作负载数据对所述神经网络中的所述结点进行拆分,获得多个子结构之前,还包括:对所述众核芯片内的功能核进行分组,每个分组对应一个所述功能核组;其中,所述功能核组的数量预先设定;所述基于各所述结点对应的工作负载数据对所述神经网络中的所述结点进行拆分,获得多个子结构,包括:按照所述分组遍历各所述结点对应的工作负载数据,对所述神经网络中的所述结点进行拆分,获得多个子结构。3.根据权利要求2所述的神经网络结构拆分方法,其特征在于,所述获取神经网络中各结点在众核芯片上执行的工作负载数据,包括:依次遍历神经网络中各所述结点的网络参数,并将各所述结点的网络参数转换为众核芯片上执行的工作负载数据;其中,所述结点的网络参数为算法中函数的配置参数;所述工作负载数据包括计算量、动态数据存储量、静态数据存储量和路由量中的一种或多种。4.根据权利要求2所述的神经网络结构拆分方法,其特征在于,所述基于各所述结点对应的工作负载数据对所述神经网络中的所述结点进行拆分,获得多个子结构,包括:依次遍历所述神经网络中各个所述结点,判断上一拆分结点之后的第一个结点至当前结点的工作负载数据是否满足拆分条件;在满足拆分条件的情况下,将上一个拆分结点到当前结点之间的结点作为一个所述子结构。5.根据权利要求4所述的神经网络结构拆分方法,其特征在于,所述判断当前结点是否满足拆分条件,包括:统计上一个拆分结点之后的第一个结点到所述当前结点的工作负载数据;基于上一个拆分结点之后的第一个结点到所述当前结点的工作负载数据获得拆分得分;在所述拆分得分大于预设的拆分阈值的情况下,判断所述当前结点满足所述拆分条件。6.根据权利要求5所述的神经网络结构拆分方法,其特征在于,所述工作负载数据包括计算量、动态数据存储量、静态数据存储量、路由量中的一种或多种;所述拆分得分基于计算量、动态数据存储量、静态数据存储量、路由量中的一个或多个获得。7.根据权利要求5所述的神经网络结构拆分方法,其特征在于,所述工作负载数据包括计算量占比、存储利用率以及路由量占比中的一种或多种;所述拆分得分基于所述计算量占比、存储利用率、路由量占比中的一个或多个获得。8.根据权利要求7所述的神经网络结构拆分方法,其特征在于,
所述计算量占比为上一个拆分结点之后的第一个结点到所述当前结点的累积计算量与所述神经网络中的...

【专利技术属性】
技术研发人员:王冠睿祝夭龙张伟豪
申请(专利权)人:北京灵汐科技有限公司
类型:发明
国别省市:

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

1