优化神经网络模型的编译方法、执行方法及相关产品技术

技术编号:30320813 阅读:30 留言:0更新日期:2021-10-09 23:39
本披露公开了一种用于优化神经网络模型的编译方法、设备和计算机程序产品,还公开了一种在异构处理系统上执行神经网络模型的方法及异构处理系统。该设备可以实现为计算装置包括在组合处理装置中,该组合处理装置还可以包括接口装置和其他处理装置。该计算装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与计算装置和其他处理装置连接,用于存储该计算装置和其他处理装置的数据。本披露的方案提供了神经网络模型中的重塑层的优化方案,其可以有效减少片外访存带宽,缓解访存压力,提高机器的处理效率。提高机器的处理效率。提高机器的处理效率。

【技术实现步骤摘要】
优化神经网络模型的编译方法、执行方法及相关产品


[0001]本披露一般地涉及数据处理领域。更具体地,本披露涉及一种用于优化神经网络模型的编译方法、设备和计算机程序产品。本披露还涉及一种在异构处理系统上执行神经网络模型的方法及异构处理系统。

技术介绍

[0002]目前,深度学习(Deep Learning)已经成为机器学习中的重要分支,也大力助推着人工智能(AI)的发展。深度学习的核心技术——深度神经网络(DNN)已在诸多行业有着广泛的应用。
[0003]为了提高神经网络模型的表达能力,DNN不断向着更深或更宽的网络规模发展。然而网络层级的增加也带来了数据IO量大、访存供不上数等问题。因此,为了能充分发挥神经网络模型的优势,需要解决人工智能处理器面临的访存困扰问题。

技术实现思路

[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示出本披露实施例的一种板卡10的结构示意图。如图1所示,板卡10包括芯片101,其是一种系统级芯片(System on Chip,SoC),或称片上系统,集成有一个或多个组合处理装置,组合处理装置是一种人工智能运算单元,用以支持各类深度学习和机器学习算法,满足计算机视觉、语音、自然语言处理、数据挖掘等领域复杂场景下的智能处理需求。特别是深度学习技术大量应用在云端智能领域,云端智能应用的一个显著特点是输入数据量大,对平台的存储能力和计算能力有很高的要求,此实施例的板卡10适用在云端智能应用,具有庞大的片外存储、片上存储和强大的计算能力。
[0027]芯片101通过对外接口装置102与外部设备103相连接。外部设备103例如是服务器、计算机本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于优化神经网络模型的编译方法,其中所述神经网络模型包括至少一个重塑层,用于将其上一层输出的具有第一形状的第一数据转换为具有第二形状的第二数据以提供给其下一层,所述编译方法包括:获取所述第一数据的第一虚拟地址和所述第二数据的第二虚拟地址;将所述第一虚拟地址和第二虚拟地址映射到同一物理地址;删除所述重塑层以优化所述神经网络模型;以及将优化后的所述神经网络模型编译成对应的指令序列,以分配至人工智能处理器上执行对应的任务。2.根据权利要求1所述的编译方法,其中删除所述重塑层包括:将所述重塑层的上一层的输出直接连接到所述重塑层的下一层的输入。3.根据权利要求2所述的编译方法,还包括:将所述第二数据的形状参数传递给所述重塑层的下一层。4.根据权利要求1

3任一所述的编译方法,其中所述神经网络模型由计算图表示,并且删除所述重塑层包括删除所述计算图中对应所述重塑层的计算节点。5.一种用于优化神经网络模型的设备,包括:至少一个处理器;以及至少一个存储器,其用于存储程序指令,当所述程序指令由所述至少一个处理器加载并执行时,使得所述设备执行根据权利要求1

4中任一所述的方法。6.一种计算机程序产品,包括程序指令,所述程序指令在被处理器执行时,实现根据权利要求1

4中任一所述的方法。7.一种在异构处理系统上执行神经网络模型的方法,所述异构处理系统包括通用处理器、人工智能处理器和片外存储器,所述方法包括:所述通用处理器执行所述片外存储器和所述人工智能处理器侧的内存空间分配;将为执行所述神经网络模型...

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

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

1