基于神经网络模型的推理和编译方法及其相关产品技术

技术编号:30323534 阅读:16 留言:0更新日期:2021-10-09 23:52
本公开涉及一种基于神经网络模型的推理方法、编译方法、计算装置、板卡和计算机程序产品,该计算装置包括在组合处理装置中,该组合处理装置还可以包括接口装置和其他处理装置。该计算装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与计算装置和其他处理装置连接,用于存储该计算装置和其他处理装置的数据。本披露的方案可以高效地选取目标数据中前预定数目个最大值。据中前预定数目个最大值。据中前预定数目个最大值。

【技术实现步骤摘要】
基于神经网络模型的推理和编译方法及其相关产品


[0001]本公开一般地涉及人工智能领域。更具体地,本公开涉及一种基于神经网络模型的推理方法、用于优化神经网络模型的编译方法、执行前述推理和编译方法的计算装置,包括该计算装置的板卡和计算机程序产品。

技术介绍

[0002]当前的神经网络模型通常会在其模型的末尾使用全连接层和topk层来输出该神经网络模型的网络得分。在该应用场景中,全连接层的权值数据量较大,通常达到吉比特或数百兆级别。由于这样级别的数据量,当在向执行全连接层运算的硬件进行数据加载时,将给IO端口带来显著的数据交互量并且造成运算的低效。

技术实现思路

[0003]鉴于上述
技术介绍
部分所提及的技术问题,本披露提出一种用于优化topk运算的方案,从而高效地选取目标数据中前预定数目个最大值。为此,本公开在如下的多个方面中提供用于基于神经网络模型的推理方案和优化方案。
[0004]在第一方面中,本公开提供了一种基于神经网络模型的推理方法,其中所述神经网络模型包括相互连接的全连接层和topk层,所述推理方法由人工智能处理器来执行,并且包括:接收经所述神经网络模型的全连接层运算所输出的待处理张量数据,其中所述待处理张量数据包括多个数据元素;以及对所述待处理张量数据执行基于最大池化操作的topk层运算,以从所述多个数据元素中获取前预定数目个最大值。
[0005]在第二方面中,本公开提供了一种用于优化神经网络模型的编译方法,其中所述神经网络模型包括相互连接的全连接层和topk层,所述编译方法由通用处理器来执行,并且包括:接收对所述神经网络模型的全连接层的配置,以便所述全连接层在运算中输出待处理张量数据,其中所述待处理张量数据包括多个数据元素;接收对所述神经网络模型的topk层的配置,以便所述topk层在运算中对所述待处理张量数据执行基于最大池化的操作,使得从所述多个数据元素中获取前预定数目个最大值;基于对所述全连接层和topk层的所述配置来优化所述神经网络模型;以及将优化后的所述神经网络模型编译成对应的二进制指令序列,以分配至人工智能处理器上执行对应的任务。
[0006]在第三方面中,本公开提供了一种计算装置,包括:处理器;以及存储器,其配置成存储程序指令,当所述程序指令由处理器运行时,使得所述计算装置执行根据前述的推理方法或者编译方法。
[0007]在第四方面中,本公开提供了一种板卡,包括上述的计算装置。
[0008]在第五方面中,本公开提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述以及在下文多个实施例中所述的推理方法和编译方法。
[0009]通过本公开如上多个方面中所提供的推理方案和优化方案,可以实现神经网络模型得分的高效输出。具体地,本披露的方案通过基于最大池化操作的topk层运算,可以实现
计算量的降低并且提升计算效率。进一步,由于本披露的运算是在例如包括人工智能处理器的片上执行,因此可以利用片上系统结构相对于通用处理器架构的特殊性和计算指令的友好性来提升运算效率并且降低计算成本。另外,在一些应用场景中,本披露的方案在数据加载和运算方面支持并行流水操作,从而提升计算系统的整体性能,并由此增加了硬件的使用率。
附图说明
[0010]通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
[0011]图1是示出根据本公开实施例的板卡的结构图;
[0012]图2是示出根据本公开实施例的集成电路装置的结构图;
[0013]图3是示出根据本公开实施例的单核计算装置的内部结构示意图;
[0014]图4是示出根据本公开实施例的多核计算装置的内部结构示意图;
[0015]图5是示出根据本公开实施例的处理器核的内部结构示意图;
[0016]图6是示出本公开方案所涉及的全连接层运算的原理框图;
[0017]图7是示出根据本公开实施例的基于神经网络模型的推理方法的示意框图;
[0018]图8是示出根据本公开实施例的并行流水操作的示意图;
[0019]图9是示出根据本公开实施例的topk层操作的流程图;
[0020]图10是示出根据本公开实施例的多维张量数据的topk层操作的示意图;
[0021]图11是示出根据本公开实施例的基于神经网络的推理方法的详细流程图;以及
[0022]图12是示出根据本公开实施例的用于优化神经网络模型的编译方法的流程图。
具体实施方式
[0023]下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
[0024]应当理解,本披露的权利要求、说明书及附图中可能使用的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0025]还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0026]如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如
果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0027]下面结合附图来详细描述本公开的具体实施方式。
[0028]图1示出根据本公开实施例的一种板卡10的结构示意图。可以理解的是图1所示结构和组成仅仅是一种示例,其并不用于在任何方面对本公开的方案进行限制。
[0029]如图1所示,板卡10包括芯片101,其可以是一种系统级芯片(System on Chip,SoC),也即本公开上下文中所描述的片上系统。在一个实施场景中,其可以集成有一个或多个组合处理装置。前述组合处理装置可以是一种人工智能运算单元,用以支持各类深度学习和机器学习算法,满足计算机视觉、语音、自然语言处理、数据挖掘等领域复杂场景下的智能处理需求,特别是深度本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于神经网络模型的推理方法,其中所述神经网络模型包括相互连接的全连接层和topk层,所述推理方法由人工智能处理器来执行,并且包括:接收经所述神经网络模型的全连接层运算所输出的待处理张量数据,其中所述待处理张量数据包括多个数据元素;以及对所述待处理张量数据执行基于最大池化操作的topk层运算,以从所述多个数据元素中获取前预定数目个最大值。2.根据权利要求1所述的推理方法,其中在执行所述全连接层运算和所述topk层运算操作期间,所述推理方法还包括:向所述全连接层加载输入数据,以用于所述全连接层和topk层的下一次运算。3.根据权利要求2所述的推理方法,其中向所述全连接层加载输入数据包括:将所述输入数据进行拆分,以得到多个输入子数据;以及以乒乓方式将所述多个输入子数据逐次加载到所述全连接层的输入,以用于所述全连接层运算。4.根据权利要求3所述的推理方法,其中所述输入数据包括权值数据,并且其中向所述全连接层加载输入数据包括:将所述权值数据进行拆分,以得到多个权值子数据;以及以乒乓方式将所述多个权值子数据逐次加载到所述全连接层的输入,以用于所述全连接层运算。5.根据权利要求1所述的推理方法,其中所述待处理张量数据是包括通道维度的多维度张量数据,其中对所述待处理张量数据执行基于最大池化的topk层运算包括:沿所述通道维度对所述待处理张量数据执行k次的最大池化操作,以从所述多个数据元素中获取前预定数目个最大值。6.根据权利要求5所述的推理方法,其中对所述待处理张量数据执行基于最大池化的topk层运算包括:对所述待处理张量数据执行第一转置操作,以便沿所述通道维度对所述待处理张量数据执行基于最大池化的topk层运算;以及对执行所述topk层运算后所得到的结果执行第二转置操作,以获取前预定数目个最大值。7.根据权利要求5或6所述的推理方法,其中沿所述通道维度对所述待处理张量数据执行k次的最大池化操作包括:在每次执行的最大池化操作中,沿所述通道维度选取多个数据元素中的最大值;以及在执行每次的最大池化操作后,将作为最大值而被选取的数据元素进行标识,以便在下一次的最大池化操作中从未标识的数据元素中选取最大值。8.根据权利要求7所述的推理方法,其中每个数据元素具有在所述待处理张量数据内的位置索引,其中将作为最大值而被选取的数据元素进行标识包括:对所述多个位置索引进行最大池化...

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

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

1