CN113743598B - 一种ai芯片的运行方式的确定方法和装置 - Google Patents

一种ai芯片的运行方式的确定方法和装置 Download PDF

Info

Publication number
CN113743598B
CN113743598B CN202010462971.3A CN202010462971A CN113743598B CN 113743598 B CN113743598 B CN 113743598B CN 202010462971 A CN202010462971 A CN 202010462971A CN 113743598 B CN113743598 B CN 113743598B
Authority
CN
China
Prior art keywords
network layer
operation mode
chip
network
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010462971.3A
Other languages
English (en)
Other versions
CN113743598A (zh
Inventor
周智强
叶挺群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202010462971.3A priority Critical patent/CN113743598B/zh
Publication of CN113743598A publication Critical patent/CN113743598A/zh
Application granted granted Critical
Publication of CN113743598B publication Critical patent/CN113743598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供了一种AI芯片的运行方式的确定方法和装置,方法包括:获得目标神经网络模型;获得AI芯片支持的运行方式的不同组合,每种组合包括:目标神经网络模型中的各个网络层的运行方式;使得AI芯片基于不同组合,用目标神经网络模型对第一预设测试数据进行多次处理;获得AI芯片每次对第一预设测试数据处理完成所用的第一处理时长;选择第一处理时长最短的组合中包括的运行方式,确定为基于目标神经网络模型对数据进行处理时,AI芯片的运行方式,基于上述处理,能够提高基于神经网络模型进行数据处理的效率。

Description

一种AI芯片的运行方式的确定方法和装置
技术领域
本申请涉及人工智能技术领域,特别是涉及一种AI芯片的运行方式的确定方法和装置。
背景技术
随着人工智能技术的快速发展,神经网络模型的应用也越来越广泛。用神经网络模型对数据进行处理,目前都是通过在AI(Artificial Intelligence,人工智能)芯片,如MLU(Machine Learning Processor,机器学习处理器)、DaVinci(达芬奇)、GPU(GraphicsProcessing Unit,图形处理器)等芯片上运行神经网络模型对应的算法实现的。
目前,主流的AI芯片都会搭载处理能力不同的专用计算单元和通用计算单元。对运行神经网络模型的AI芯片来说,专用计算单元可以执行特定网络层的算法(例如,卷积层、全连接层等与矩阵乘法相关的网络层的算法),通用计算单元可以执行神经网络模型中每一网络层的算法。
另外,AI芯片在运行神经网络模型中的一个网络层的算法时,也支持不同的数据存储格式,例如:NHWC(Number Height Width Channel,数量高度宽度通道)存储格式,或NCHW(Number Channel Height Width,数量通道高度宽度)存储格式。
可见,在AI芯片上运行神经网络模型对应的算法,可以有多种运行方式,如:神经网络模型中的各个网络层用专用计算单元执行或是通用计算单元,以及在运行各个网络层的算法时,用NHWC存储格式或NCHW存储格式等。
通常针对神经网络模型中的每一网络层,采用指定的数据存储格式和指定类型的计算单元对数据进行处理。由于不同类型的计算单元的处理能力不同,且相同类型的计算单元对不同数据存储格式的数据的处理能力也不同,因此,这种方法可能会出现处理能力低的计算单元运行比较复杂的网络层的算法的情况,进而导致数据处理的效率不够高。
发明内容
本申请实施例的目的在于提供一种AI芯片的运行方式的确定方法和装置,可以提高基于神经网络模型进行数据处理的效率。具体技术方案如下:
第一方面,为了达到上述目的,本申请实施例公开了一种AI芯片的运行方式的确定方法,所述方法包括:
获得目标神经网络模型;
获得AI芯片支持的运行方式的不同组合,其中,每种组合中包括:所述目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:所述AI芯片中执行该网络层的算法的计算单元,和/或,所述AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式;使得所述AI芯片基于所述不同组合,用所述目标神经网络模型对第一预设测试数据进行多次处理;
获得所述AI芯片每次对所述第一预设测试数据处理完成所用的第一处理时长;
选择第一处理时长最短的组合中包括的运行方式,确定为基于所述目标神经网络模型对数据进行处理时,所述AI芯片的运行方式。
可选的,所述获得AI芯片支持的运行方式的不同组合,包括:
确定所述目标神经网络模型中符合第一预设条件的网络层,作为第一网络层;
获得所述第一网络层支持的运行方式的不同子组合;其中,每种子组合中包括:各个第一网络层的运行方式;
获得所述目标神经网络模型中的各个非第一网络层的预设运行方式;
对所述第一网络层支持的运行方式的不同子组合,和所述各个非第一网络层的预设运行方式进行组合,得到AI芯片支持的运行方式的不同组合。
可选的,所述确定所述目标神经网络模型中符合第一预设条件的网络层,作为第一网络层,包括:
按照网络层连接的先后顺序,确定所述目标神经网络模型中前第一数目个网络层,作为第一网络层。
可选的,所述确定所述目标神经网络模型中符合第一预设条件的网络层,作为第一网络层,包括:
按照网络层连接的先后顺序,确定所述目标神经网络模型中前第二数目个网络层,作为第二网络层;
确定所述第二网络层中不符合第二预设条件的网络层,作为第一网络层;
其中,所述第二预设条件包括以下至少之一:
输入通道个数为第三数目;
卷积核个数为第四数目。
可选的,所述获得所述目标神经网络模型中的各个非第一网络层的预设运行方式,包括:
确定所述第二网络层中符合所述第二预设条件的卷积层和/或全连接层,作为第三网络层;
获得所述第三网络层支持的运行方式;使得所述AI芯片基于所述第三网络层支持的运行方式,用所述第三网络层对第二预设测试数据进行多次处理;
获得所述AI芯片每次对所述第二预设测试数据处理完成所用的第二处理时长;
选择第二处理时长最短的运行方式,确定为所述第三网络层的预设运行方式;
确定所述目标神经网络模型中的各个非第一网络层中,除所述第三网络层以外的网络层的预设运行方式为指定运行方式。
可选的,所述第一网络层为卷积层和/或全连接层。
可选的,在所述选择第一处理时长最短的组合中包括的运行方式,确定为基于所述目标神经网络模型对数据进行处理时,所述AI芯片的运行方式之后,所述方法还包括:
生成网络模型文件,以使所述AI芯片按照所述网络模型文件对非测试数据进行处理;其中,所述网络模型文件包括所述目标神经网络模型,以及,所述目标神经网络模型中各个网络层,与所述第一处理时长最短的组合中包括的运行方式的对应关系。
第二方面,为了达到上述目的,本申请实施例公开了一种AI芯片的运行方式的确定装置,所述装置包括:
第一获得模块,用于获得目标神经网络模型;
第二获得模块,用于获得AI芯片支持的运行方式的不同组合,其中,每种组合中包括:所述目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:所述AI芯片中执行该网络层的算法的计算单元,和/或,所述AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式;使得所述AI芯片基于所述不同组合,用所述目标神经网络模型对第一预设测试数据进行多次处理;
第三获得模块,用于获得所述AI芯片每次对所述第一预设测试数据处理完成所用的第一处理时长;
选择模块,用于选择第一处理时长最短的组合中包括的运行方式,确定为基于所述目标神经网络模型对数据进行处理时,所述AI芯片的运行方式。
可选的,所述第二获得模块,具体用于确定所述目标神经网络模型中符合第一预设条件的网络层,作为第一网络层;
获得所述第一网络层支持的运行方式的不同子组合;其中,每种子组合中包括:各个第一网络层的运行方式;
获得所述目标神经网络模型中的各个非第一网络层的预设运行方式;
对所述第一网络层支持的运行方式的不同子组合,和所述各个非第一网络层的预设运行方式进行组合,得到AI芯片支持的运行方式的不同组合。
可选的,所述第二获得模块,具体用于按照网络层连接的先后顺序,确定所述目标神经网络模型中前第一数目个网络层,作为第一网络层。
可选的,所述第二获得模块,具体用于按照网络层连接的先后顺序,确定所述目标神经网络模型中前第二数目个网络层,作为第二网络层;
确定所述第二网络层中不符合第二预设条件的网络层,作为第一网络层;
其中,所述第二预设条件包括以下至少之一:
输入通道个数为第三数目;
卷积核个数为第四数目。
可选的,所述第二获得模块,具体用于确定所述第二网络层中符合所述第二预设条件的卷积层和/或全连接层,作为第三网络层;
获得所述第三网络层支持的运行方式;使得所述AI芯片基于所述第三网络层支持的运行方式,用所述第三网络层对第二预设测试数据进行多次处理;
获得所述AI芯片每次对所述第二预设测试数据处理完成所用的第二处理时长;
选择第二处理时长最短的运行方式,确定为所述第三网络层的预设运行方式;
确定所述目标神经网络模型中的各个非第一网络层中,除所述第三网络层以外的网络层的预设运行方式为指定运行方式。
可选的,所述第一网络层为卷积层和/或全连接层。
可选的,所述装置还包括:
生成模块,用于生成网络模型文件,以使所述AI芯片按照所述网络模型文件对非测试数据进行处理;其中,所述网络模型文件包括所述目标神经网络模型,以及,所述目标神经网络模型中各个网络层,与所述第一处理时长最短的组合中包括的运行方式的对应关系。
在本申请实施的另一方面,为了达到上述目的,本申请实施例还公开了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现如上述第一方面所述的AI芯片的运行方式的确定方法。
在本申请实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在电子设备上运行时,实现如上述第一方面所述的AI芯片的运行方式的确定方法。
在本申请实施的又一方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在电子设备上运行时,使得电子设备执行上述第一方面所述的AI芯片的运行方式的确定方法。
本申请实施例提供了一种AI芯片的运行方式的确定方法,可以获得目标神经网络模型,以及AI芯片支持的运行方式的不同组合,其中,每种组合中包括:目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:AI芯片中执行该网络层的算法的计算单元,和/或,AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式;使得AI芯片可以基于不同组合,用目标神经网络模型对第一预设测试数据进行多次处理,进而,可以获得AI芯片每次对第一预设测试数据处理完成所用的第一处理时长,并选择第一处理时长最短的组合中包括的运行方式,确定为基于目标神经网络模型对数据进行处理时,AI芯片的运行方式。
基于上述处理,能够确定出处理时长最短的组合,AI芯片采用该组合包括的运行方式,基于目标神经网络模型对数据进行处理的较短,能够提高基于神经网络模型进行数据处理的效率。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种AI芯片的运行方式的确定方法的流程图;
图2为本申请实施例提供的一种AI芯片与计算单元的关系图;
图3为本申请实施例提供的一种获得AI芯片支持的运行方式的不同组合的方法的流程图;
图4为本申请实施例提供的一种目标神经网络模型的结构图;
图5为本申请实施例提供的一种获得AI芯片支持的运行方式的不同组合的方法的流程图;
图6为本申请实施例提供的一种网络模型文件的结构图;
图7为本申请实施例提供的一种AI芯片的运行方式的确定方法的流程图;
图8为本申请实施例提供的一种AI芯片的运行方式的确定方法的流程图;
图9为本申请实施例提供的一种缩减搜索空间的方法的流程图;
图10为本申请实施例提供的一种AI芯片的运行方式的确定装置的结构图;
图11为本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,针对神经网络模型中的每一网络层,采用指定的数据存储格式和指定类型的计算单元对数据进行处理,可能会出现处理能力低的计算单元运行比较复杂的网络层的算法的情况,进而导致数据处理的效率不够高。
为了解决上述问题,本申请实施例提供了一种AI芯片的运行方式的确定方法,该方法可以应用于电子设备,电子设备能够与AI芯片进行通信,参见图1,图1为本申请实施例提供的一种AI芯片的运行方式的确定方法的流程图,该方法可以包括以下步骤:
S101:获得目标神经网络模型。
S102:获得AI芯片支持的运行方式的不同组合。
其中,每种组合中包括:目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:AI芯片中执行该网络层的算法的计算单元,和/或,AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式;使得AI芯片基于不同组合,用目标神经网络模型对第一预设测试数据进行多次处理。
S103:获得AI芯片每次对第一预设测试数据处理完成所用的第一处理时长。
S104:选择第一处理时长最短的组合中包括的运行方式,确定为基于目标神经网络模型对数据进行处理时,AI芯片的运行方式。
可见,基于本申请实施例提供的AI芯片的运行方式的确定方法,能够确定出处理时长最短的组合,AI芯片采用该组合包括的运行方式,基于目标神经网络模型对数据进行处理的较短,能够提高基于神经网络模型进行数据处理的效率。
本申请实施例中提到的AI芯片,可以是GPU、MLU、DaVinci或其他芯片。
在步骤S101中,目标神经网络模型可以为技术人员输入至电子设备的神经网络模型,电子设备可以根据本申请实施例的方法,确定基于目标神经网络模型对数据进行处理时,AI芯片的运行方式。
在步骤S102中,在获得AI芯片支持的运行方式的不同组合后,电子设备可以通知AI芯片上述不同组合,进而,AI芯片可以按照不同组合对第一预设测试数据进行多次处理。
一种实现方式中,计算单元可以包括专用计算单元和通用计算单元,专用计算单元可以执行特定网络层的算法(例如,卷积层、全连接层等与矩阵乘法相关的网络层的算法),通用计算单元可以执行神经网络模型中每一网络层的算法。
例如,GPU中的通用计算单元为Cuda Core(Compute Unified DeviceArchitecture Core,统一计算设备架构核)计算单元,专用计算单元为Tensor(张量)计算单元。
参见图2,图2为本申请实施例提供的一种网络层与计算单元的关系图。
由图2可见,专用计算单元和通用计算单元可以执行卷积层的算法;对于池化层,只有通用计算单元可以执行其算法。
数据存储格式可以表示网络层对数据进行存储的方式,网络层存储的数据可以包括该网络层的层数和该网络层的上一网络层传递的数据。
数据存储格式可以包括NHWC存储格式、NCHW存储格式和NCHW_VE C_C存储格式。由于存在不同的数据存储格式,AI芯片也可以基于通用计算单元对数据格式进行转换。
示例性的,如果数据存储格式包括NHWC存储格式和NCHW存储格式,则与矩阵乘法相关的网络层支持的运行方式可以包括以下四种情况:
运行方式一:该网络层采用NHWC存储格式存储数据、通过专用计算单元执行该网络层的算法。
运行方式二:该网络层采用NHWC存储格式存储数据、通过通用计算单元执行该网络层的算法。
运行方式三:该网络层采用NCHW存储格式存储数据、通过专用计算单元执行该网络层的算法。
运行方式四:该网络层采用NCHW存储格式存储数据、通过通用计算单元执行该网络层的算法。
与矩阵乘法不相关的网络层(例如,池化层)支持的运行方式可以包括以下两种情况:
运行方式1:该网络层采用NHWC存储格式存储数据、通过通用计算单元执行该网络层的算法。
运行方式2:该网络层采用NCHW存储格式存储数据、通过通用计算单元执行该网络层的算法。
一种实现方式中,如果上述不同组合中每个网络层的运行方式包括:AI芯片中执行该网络层的算法的计算单元,也就是说,在对第一预设测试数据进行处理的过程中,计算单元执行该网络层的算法时采用的数据存储格式可以是预设的,且如果该网络层同时支持通用计算单元和专用计算单元,则执行该网络层的算法的计算单元可以是通用计算单元和专用计算单元。
如果上述不同组合中每个网络层的运行方式包括:AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式,也就是说,在对第一预设测试数据进行处理的过程中,AI芯片中执行该网络层的算法的计算单元可以是预设的,计算单元执行该网络层的算法采用的数据存储格式可以是NHWC存储格式和NCHW存储格式。
在一个实施例中,电子设备可以对目标神经网络模型中各个网络层支持的运行方式进行组合,得到AI芯片支持的运行方式的不同组合。
例如,目标神经网络模型包括2个网络层,分别为网络层1和网络层2。网络层1支持的运行方式包括上述运行方式一、运行方式二、运行方式三和运行方式四;网络层2支持的运行方式包括上述运行方式1和运行方式2。
进而,可以得到AI芯片支持的运行方式的不同组合包括:
组合1:网络层1采用运行方式一,网络层2采用运行方式1。
组合2:网络层1采用运行方式一,网络层2采用运行方式2。
组合3:网络层1采用运行方式二,网络层2采用运行方式1。
组合4:网络层1采用运行方式二,网络层2采用运行方式2。
组合5:网络层1采用运行方式三,网络层2采用运行方式1。
组合6:网络层1采用运行方式三,网络层2采用运行方式2。
组合7:网络层1采用运行方式四,网络层2采用运行方式1。
组合8:网络层1采用运行方式四,网络层2采用运行方式2。
一种实现方式中,电子设备可以根据各个网络层支持的运行方式,构建搜索空间,搜索空间可以包括AI芯片支持的运行方式的不同组合,然后,电子设备可以遍历搜索空间中的每一组合,并通知AI芯片上述组合,例如,电子设备可以向AI芯片发送上述组合,进而,AI芯片可以基于上述组合,用目标神经网络模型对第一预设测试数据进行处理,进而,电子设备可以获取对应的第一处理时长。
例如,目标神经网络模型包括10个网络层,每一网络层支持的运行方式有4种,则AI芯片支持的运行方式的组合有410种。电子设备可以构建包含410种组合的搜索空间。
在一个实施例中,为了提高确定AI芯片的运行方式的效率,针对目标神经网络模型中的一部分网络层,可以采用预设运行方式,对第一预设测试数据进行处理,参见图3,步骤S102可以包括以下步骤:
S301:确定目标神经网络模型中符合第一预设条件的网络层,作为第一网络层。
在一个实施例中,符合第一预设条件的第一网络层可以为与矩阵乘法相关的网络层,例如,第一网络层可以为目标神经网络模型中的卷积层;或者,第一网络层可以为目标神经网络模型中的全连接层;或者,第一网络层可以为目标神经网络模型中的卷积层和全连接层。
相应的,目标神经网络模型中除第一网络层以外的网络层(可以称为第四网络层)可以采用预设运行方式。也就是说,AI芯片支持的运行方式的不同组合中,第四网络层采用的运行方式可以是固定不变的。
基于上述处理,能够缩减搜索空间,即,能够降低电子设备对第一预设测试数据进行处理的次数,提高确定AI芯片的运行方式的效率。
电子设备确定第一网络层的方式可以是多种多样的,在一个实施例中,S301可以包括以下步骤:按照网络层连接的先后顺序,确定目标神经网络模型中前第一数目个网络层,作为第一网络层。
在本申请实施例中,第一数目可以根据目标神经网络模型中网络层的总数目确定。
例如,第一数目与目标神经网络模型中网络层的总数目的比值可以为预设比值,预设比值可以为2/3,或者,也可以为3/4,但并不限于此。
基于网络层连接的先后顺序,目标神经网络模型中越靠前的网络层的计算复杂度越高,耗时也越高;越靠后的网络层的计算复杂度越低,耗时也越低。可以理解的是,靠后的网络层采用的运行方式所消耗的时长,对整个目标神经网络模型的处理时长的影响较小,因此,针对靠后的网络层可以直接采用预设运行方式。即,AI芯片支持的运行方式的不同组合中,靠后的网络层采用的运行方式可以是固定不变的。
例如,参见图4,图4为本申请实施例提供的一种目标神经网络模型的结构图。
目标神经网络模型包括9个网络层,如果第一数目为6,则可以确定网络层1、网络层2、网络层3、网络层4、网络层5和网络层6为第一网络层,此时,非第一网络层包括网络层7、网络层8和网络层9。
基于上述处理,能够减少第一网络层的数目,即,能够缩减搜索空间,进而,能够降低电子设备对第一预设测试数据进行处理的次数,提高确定AI芯片的运行方式的效率。
在一个实施例中,第一网络层可以为卷积层和/或全连接层,也就是说,电子设备可以将靠前的卷积层,确定为第一网络层;或者,电子设备可以将靠前的全连接层,确定为第一网络层;或者,电子设备可以将靠前的卷积层和全连接层,确定为第一网络层。
基于上述处理,能够进一步减少第一网络层的数目,进而,能够降低电子设备对第一预设测试数据进行处理的次数,提高确定AI芯片的运行方式的效率。
在一个实施例中,为了进一步提高确定AI芯片的运行方式的效率,S301可以包括以下步骤:
按照网络层连接的先后顺序,确定目标神经网络模型中前第二数目个网络层,作为第二网络层;确定第二网络层中不符合第二预设条件的网络层,作为第一网络层。
其中,第二预设条件包括以下至少之一:
输入通道个数为第三数目;
卷积核个数为第四数目。
第二数目可以参考上述第一数目的详细介绍,第三数目和第四数目可以由技术人员根据业务需求进行设置。
例如,第三数目可以为1、3、8、16或其他8的整数倍,第四数目可以为8、16或其他8的整数倍,但并不限于此。
目标神经网络模型中第一层卷积层,其输入通道个数为1或者3,而对于其他与矩阵乘法相关的网络层,其大多数输入通道个数为8的整数倍,或者,卷积核个数为8的整数倍,或者,输入通道个数和卷积核个数均为8的整数倍。因此,对应上述输入通道个数、卷积核个数为特殊数值的网络层,可以预先确定处理时长最短的运行方式,作为各自的预设运行方式。
进而,在对第一预设测试数据进行处理时,针对满足上述第二预设条件的网络层,可以直接采用预设运行方式,以减少电子设备对第一预设测试数据进行处理的次数,提高确定AI芯片的运行方式的效率。
在一个实施例中,第一网络层可以为卷积层和/或全连接层。
例如,在确定出第二网络层后,电子设备可以确定第二网络层中不符合第二预设条件的卷积层,作为第一网络层;或者,在确定出第二网络层后,电子设备可以确定第二网络层中不符合第二预设条件的全连接层,作为第一网络层;或者,在确定出第二网络层后,电子设备可以确定第二网络层中不符合第二预设条件的卷积层和全连接层,作为第一网络层。
例如,参见图4,目标神经网络模型包括9个网络层,如果第二数目为6,则可以确定网络层1、网络层2、网络层3、网络层4、网络层5和网络层6,为第二网络层。
如果网络层1、网络层2和网络层3不符合第二预设条件,则确定网络层1、网络层2和网络层3为第一网络层。
此时,非第一网络层包括网络层4、网络层5、网络层6、网络层7、网络层8和网络层9。
S302:获得第一网络层支持的运行方式的不同子组合。
其中,每种子组合中包括:各个第一网络层的运行方式。
S303:获得目标神经网络模型中的各个非第一网络层的预设运行方式。
其中,非第一网络层的预设运行方式可以是指定的,也可以是根据测试数据确定出的。
S304:对第一网络层支持的运行方式的不同子组合,和各个非第一网络层的预设运行方式进行组合,得到AI芯片支持的运行方式的不同组合。
在一个实施例中,电子设备还可以基于测试数据,确定第二网络层中满足第二预设条件的卷积层和/或全连接层的预设运行方式,参见图5,S303可以包括以下步骤:
S3031:确定第二网络层中符合第二预设条件的卷积层和/或全连接层,作为第三网络层。
在本申请实施例中,在确定出靠前的第二网络层后,电子设备可以从第二网络层中,确定符合上述第二预设条件的卷积层和/或全连接层(即本申请实施例中的第三网络层),确定出的第三网络层可以为一个,也可以为多个。
S3032:获得第三网络层支持的运行方式。
S3033:获得AI芯片每次对第二预设测试数据处理完成所用的第二处理时长。
S3034:选择第二处理时长最短的运行方式,确定为第三网络层的预设运行方式。
在本申请实施例中,在确定出第三网络层后,电子设备可以获得该第三网络层支持的运行方式,并通知AI芯片,进而,AI芯片可以基于该第三网络层支持的运行方式,用第三网络层对第二预设测试数据进行多次处理。
相应的,电子设备可以获取该第三网络层每次对第二预设测试数据处理完成所用的处理时长(即本申请实施例中的第二处理时长),进而,可以选择第二处理时长最短的运行方式,作为该第三网络层的预设运行方式。
例如,第三网络层为卷积层,针对输入通道个数为1、3、8、16的卷积层,电子设备可以通知AI芯片分别基于各自支持的运行方式,对第二预设测试数据进行多次处理,进而,电子设备可以根据处理时长,确定各自的预设运行方式。
或者,针对卷积核个数为8、16的卷积层,电子设备也可以通知AI芯片分别基于各自支持的运行方式对第二预设测试数据进行多次处理,进而,电子设备可以根据处理时长,确定各自的预设运行方式。
或者,针对输入通道个数为8、卷积核个数为8的卷积层;输入通道个数为8、卷积核个数为16的卷积层;输入通道个数为16、卷积核个数为16的卷积层,电子设备也可以通知AI芯片分别基于各自支持的运行方式对第二预设测试数据进行多次处理,进而,电子设备可以根据处理时长,确定各自的预设运行方式。
进而,在对第一预设测试数据进行多次处理时,针对第三网络层,电子设备可以确定AI芯片支持的运行方式的不同组合中,其运行方式为预设运行方式,即,其运行方式是固定不变的。
S3035:确定目标神经网络模型中的各个非第一网络层中,除第三网络层以外的网络层的预设运行方式为指定运行方式。
例如,参见图4,目标神经网络模型包括9个网络层,如果第二数目为6,则可以确定网络层1、网络层2、网络层3、网络层4、网络层5和网络层6,为第二网络层。
如果第二网络层中不符合第二预设条件的网络层为:网络层1、网络层2和网络层3,则确定网络层1、网络层2和网络层3为第一网络层。
此时,非第一网络层包括网络层4、网络层5、网络层6、网络层7、网络层8和网络层9。
第二网络层中符合第二预设条件的网络层包括网络层4、网络层5和网络层6。
如果网络层4为卷积层、网络层5为池化层,网络层6为卷积层,则可以确定网络层4和网络层5为第三网络层。根据第二预设测试数据,可以确定网络层4和网络层5的预设运行方式。
各个非第一网络层中除第三网络层以外的网络层,包括:网络层6、网络层7、网络层8和网络层9,即,网络层6、网络层7、网络层8和网络层9的预设运行方式为指定运行方式。
进而,可以对网络层1、网络层2和网络层3支持的运行方式的不同子组合,网络层4和网络层5的预设运行方式,以及网络层6、网络层7、网络层8和网络层9的指定运行方式进行组合,得到AI芯片支持的运行方式的不同组合。
在一个实施例中,在步骤S104之后,该方法还可以包括以下步骤:生成网络模型文件。
其中,网络模型文件包括目标神经网络模型,以及,目标神经网络模型中各个网络层,与第一处理时长最短的组合中包括的运行方式的对应关系。
在本申请实施例中,在生成网络模型文件后,电子设备可以根据网络模型文件中记录的对应关系,确定AI芯片的运行方式,并通知AI芯片,进而,AI芯片采用电子设备确定的运行方式,基于目标神经网络模型对非测试数据进行处理,能够提高处理效率。
参见图6,图6为本申请实施例提供的一种网络模型文件的结构图,网络模型文件还可以包括预设标识,预设标识可以位于网络模型文件的文件头中,预设标识可以表示生成的网络模型文件中,是否包含网络层与运行方式的对应关系。
另外,网络模型文件的文件头中还可以记录有文件版本号,文件版本号可以由网络模型文件中记录的对应关系的生成规则确定。
在一个实施例中,电子设备可以基于搜索空间的方式,确定AI芯片的运行方式,参见图7,图7为本申请实施例提供的一种AI芯片的运行方式的确定方法的流程图,该方法可以包括以下步骤:
S701:加载搜索空间。
其中,搜索空间中记录有AI芯片支持的运行方式的不同组合,每种组合中包括:目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:AI芯片中执行该网络层的算法的计算单元,和AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式。
S702:读取搜索空间中当前未遍历的运行方式的组合,并通知AI芯片该组合,使得AI芯片基于该组合,用目标神经网络模型对第一预设测试数据进行处理。
S703:记录AI芯片本次对第一预设测试数据进行处理的处理时长。
S704:判断是否已遍历搜索空间中所有的组合,如果否,执行S702,如果是,执行S705。
S705:确定处理时长最短的组合包含的运行方式,作为基于目标神经网络模型对数据进行处理时,AI芯片的运行方式。
参见图8,图8为本申请实施例提供的一种AI芯片的运行方式的确定方法的流程图,该方法可以包括以下步骤:
S801:获取目标神经网络模型。
S802:根据目标神经网络模型中预设类型的网络层的数目,生成搜索空间。
其中,预设类型的网络层包括卷积层和全连接层。
搜索空间中记录有AI芯片支持的运行方式的不同组合,每种组合中包括:目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:AI芯片中执行该网络层的算法的计算单元,和AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式。
搜索空间包含的不同组合中,预设类型的网络层支持多种不同的运行方式,除预设类型的网络层以外的网络层的的运行方式固定不变。
S803:基于先验信息,对搜索空间进行缩减。
其中,先验信息包括:输入通道个数和/或卷积核个数为第一预设数目的预设类型的网络层的预设运行方式、第二预设数目。第二预设数目表示基于网络层连接的先后顺序,目标神经网络模型中靠前的不需要缩减运行方式的网络层的数目。
S804:遍历缩减后的搜索空间中的不同组合,并通知AI芯片遍历得到的组合,使得AI芯片基于缩减后的搜索空间中的不同组合,用目标神经网络模型对第一预设测试数据进行多次处理。
S805:获取AI芯片基于缩减后的搜索空间中的不同组合,用目标神经网络模型对第一预设测试数据进行多次处理的处理时长。
S806:确定处理时长最短的组合包含的运行方式。
S807:生成网络模型文件,以使AI芯片按照网络模型文件对非测试数据进行处理。
其中,网络模型文件包括预设标识、目标神经网络模型、目标神经网络中各个网络层与处理时长最短的组合包含的运行方式的对应关系。
参见图9,图9为本申请实施例提供的一种缩减搜索空间的方法的流程图,该方法可以包括以下步骤:
S901:获取目标神经网络模型。
S902:根据目标神经网络模型中预设类型的网络层的数目,生成搜索空间,作为第一搜索空间。
其中,预设类型的网络层包括卷积层和全连接层。
搜索空间中记录有AI芯片支持的运行方式的不同组合,每种组合中包括:目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:AI芯片中执行该网络层的算法的计算单元,和AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式。
搜索空间包含的不同组合中,预设类型的网络层支持多种不同的运行方式,除预设类型的网络层以外的网络层的的运行方式固定不变。
S903:从第一搜索空间中删除,包含第一指定网络层采用预设运行方式以外的运行方式的组合,得到第二搜索空间。
其中,第一指定网络层为基于网络层连接的先后顺序,目标神经网络模型中靠后的第三预设数目个网络层。
S904:从第二搜索空间中删除,包含第二指定网络层采用预设运行方式以外的运行方式的组合,得到第三搜索空间,作为AI芯片对第一预设测试数据进行处理的搜索空间。
其中,第二指定网络层为目标神经网络模型中,除第一指定网络层以外的网络层中,输入通道个数和/或卷积核个数为第一预设数目的卷积层和全连接层。
基于相同的发明构思,参见图10,图10为本申请实施例提供的一种AI芯片的运行方式的确定装置的结构图,该装置可以包括:
第一获得模块1001,用于获得目标神经网络模型;
第二获得模块1002,用于获得AI芯片支持的运行方式的不同组合,其中,每种组合中包括:所述目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:所述AI芯片中执行该网络层的算法的计算单元,和/或,所述AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式;使得所述AI芯片基于所述不同组合,用所述目标神经网络模型对第一预设测试数据进行多次处理;
第三获得模块1003,用于获得所述AI芯片每次对所述第一预设测试数据处理完成所用的第一处理时长;
选择模块1004,用于选择第一处理时长最短的组合中包括的运行方式,确定为基于所述目标神经网络模型对数据进行处理时,所述AI芯片的运行方式。
可选的,所述第二获得模块1002,具体用于确定所述目标神经网络模型中符合第一预设条件的网络层,作为第一网络层;
获得所述第一网络层支持的运行方式的不同子组合;其中,每种子组合中包括:各个第一网络层的运行方式;
获得所述目标神经网络模型中的各个非第一网络层的预设运行方式;
对所述第一网络层支持的运行方式的不同子组合,和所述各个非第一网络层的预设运行方式进行组合,得到AI芯片支持的运行方式的不同组合。
可选的,所述第二获得模块1002,具体用于按照网络层连接的先后顺序,确定所述目标神经网络模型中前第一数目个网络层,作为第一网络层。
可选的,所述第二获得模块1002,具体用于按照网络层连接的先后顺序,确定所述目标神经网络模型中前第二数目个网络层,作为第二网络层;
确定所述第二网络层中不符合第二预设条件的网络层,作为第一网络层;
其中,所述第二预设条件包括以下至少之一:
输入通道个数为第三数目;
卷积核个数为第四数目。
可选的,所述第二获得模块1002,具体用于确定所述第二网络层中符合所述第二预设条件的卷积层和/或全连接层,作为第三网络层;
获得所述第三网络层支持的运行方式;使得所述AI芯片基于所述第三网络层支持的运行方式,用所述第三网络层对第二预设测试数据进行多次处理;
获得所述AI芯片每次对所述第二预设测试数据处理完成所用的第二处理时长;
选择第二处理时长最短的运行方式,确定为所述第三网络层的预设运行方式;
确定所述目标神经网络模型中的各个非第一网络层中,除所述第三网络层以外的网络层的预设运行方式为指定运行方式。
可选的,所述第一网络层为卷积层和/或全连接层。
可选的,所述装置还包括:
生成模块,用于生成网络模型文件,以使所述AI芯片按照所述网络模型文件对非测试数据进行处理;其中,所述网络模型文件包括所述目标神经网络模型,以及,所述目标神经网络模型中各个网络层,与所述第一处理时长最短的组合中包括的运行方式的对应关系。
基于本申请实施例提供的网络层的运行方式的确定装置,能够确定出处理时长最短的组合,AI芯片采用该组合包括的运行方式,基于目标神经网络模型对数据进行处理的较短,能够提高基于神经网络模型进行数据处理的效率。
本申请实施例还提供了一种电子设备,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,
存储器1103,用于存放计算机程序;
处理器1101,用于执行存储器1103上所存放的程序时,实现如下步骤:
获得目标神经网络模型;
获得AI芯片支持的运行方式的不同组合,其中,每种组合中包括:所述目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:所述AI芯片中执行该网络层的算法的计算单元,和/或,所述AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式;使得所述AI芯片基于所述不同组合,用所述目标神经网络模型对第一预设测试数据进行多次处理;
获得所述AI芯片每次对所述第一预设测试数据处理完成所用的第一处理时长;
选择第一处理时长最短的组合中包括的运行方式,确定为基于所述目标神经网络模型对数据进行处理时,所述AI芯片的运行方式。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例提供的AI芯片的运行方式的确定方法。
具体的,上述AI芯片的运行方式的确定方法,包括:
获得目标神经网络模型;
获得AI芯片支持的运行方式的不同组合,其中,每种组合中包括:所述目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:所述AI芯片中执行该网络层的算法的计算单元,和/或,所述AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式;使得所述AI芯片基于所述不同组合,用所述目标神经网络模型对第一预设测试数据进行多次处理;
获得所述AI芯片每次对所述第一预设测试数据处理完成所用的第一处理时长;
选择第一处理时长最短的组合中包括的运行方式,确定为基于所述目标神经网络模型对数据进行处理时,所述AI芯片的运行方式。
需要说明的是,上述AI芯片的运行方式的确定方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
本申请实施例还提供了另一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施例提供的AI芯片的运行方式的确定方法。
具体的,上述AI芯片的运行方式的确定方法,包括:
获得目标神经网络模型;
获得AI芯片支持的运行方式的不同组合,其中,每种组合中包括:所述目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:所述AI芯片中执行该网络层的算法的计算单元,和/或,所述AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式;使得所述AI芯片基于所述不同组合,用所述目标神经网络模型对第一预设测试数据进行多次处理;
获得所述AI芯片每次对所述第一预设测试数据处理完成所用的第一处理时长;
选择第一处理时长最短的组合中包括的运行方式,确定为基于所述目标神经网络模型对数据进行处理时,所述AI芯片的运行方式。
需要说明的是,上述AI芯片的运行方式的确定方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (7)

1.一种人工智能AI芯片的运行方式的确定方法,其特征在于,所述方法包括:
获得目标神经网络模型;
获得AI芯片支持的运行方式的不同组合,其中,每种组合中包括:所述目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:所述AI芯片中执行该网络层的算法的计算单元,和/或,所述AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式;使得所述AI芯片基于所述不同组合,用所述目标神经网络模型对第一预设测试数据进行多次处理;
获得所述AI芯片每次对所述第一预设测试数据处理完成所用的第一处理时长;
选择第一处理时长最短的组合中包括的运行方式,确定为基于所述目标神经网络模型对数据进行处理时,所述AI芯片的运行方式;
所述获得AI芯片支持的运行方式的不同组合,包括:
确定所述目标神经网络模型中符合第一预设条件的网络层,作为第一网络层;
获得所述第一网络层支持的运行方式的不同子组合;其中,每种子组合中包括:各个第一网络层的运行方式;
获得所述目标神经网络模型中的各个非第一网络层的预设运行方式;
对所述第一网络层支持的运行方式的不同子组合,和所述各个非第一网络层的预设运行方式进行组合,得到AI芯片支持的运行方式的不同组合;
所述确定所述目标神经网络模型中符合第一预设条件的网络层,作为第一网络层,包括:
按照网络层连接的先后顺序,确定所述目标神经网络模型中前第二数目个网络层,作为第二网络层;
确定所述第二网络层中不符合第二预设条件的网络层,作为第一网络层;
所述获得所述目标神经网络模型中的各个非第一网络层的预设运行方式,包括:
确定所述第二网络层中符合所述第二预设条件的卷积层和/或全连接层,作为第三网络层;
获得所述第三网络层支持的运行方式;使得所述AI芯片基于所述第三网络层支持的运行方式,用所述第三网络层对第二预设测试数据进行多次处理;
获得所述AI芯片每次对所述第二预设测试数据处理完成所用的第二处理时长;
选择第二处理时长最短的运行方式,确定为所述第三网络层的预设运行方式;
确定所述目标神经网络模型中的各个非第一网络层中,除所述第三网络层以外的网络层的预设运行方式为指定运行方式。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标神经网络模型中符合第一预设条件的网络层,作为第一网络层,包括:
按照网络层连接的先后顺序,确定所述目标神经网络模型中前第一数目个网络层,作为第一网络层。
3.根据权利要求1所述的方法,其特征在于,所述第二预设条件包括以下至少之一:
输入通道个数为第三数目;
卷积核个数为第四数目。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一网络层为卷积层和/或全连接层。
5.根据权利要求1所述的方法,其特征在于,在所述选择第一处理时长最短的组合中包括的运行方式,确定为基于所述目标神经网络模型对数据进行处理时,所述AI芯片的运行方式之后,所述方法还包括:
生成网络模型文件,以使所述AI芯片按照所述网络模型文件对非测试数据进行处理;其中,所述网络模型文件包括所述目标神经网络模型,以及,所述目标神经网络模型中各个网络层,与所述第一处理时长最短的组合中包括的运行方式的对应关系。
6.一种人工智能AI芯片的运行方式的确定装置,其特征在于,所述装置包括:
第一获得模块,用于获得目标神经网络模型;
第二获得模块,用于获得AI芯片支持的运行方式的不同组合,其中,每种组合中包括:所述目标神经网络模型中的各个网络层的运行方式;每个网络层的运行方式包括:所述AI芯片中执行该网络层的算法的计算单元,和/或,所述AI芯片中的计算单元执行该网络层的算法时采用的数据存储格式;使得所述AI芯片基于所述不同组合,用所述目标神经网络模型对第一预设测试数据进行多次处理;
第三获得模块,用于获得所述AI芯片每次对所述第一预设测试数据处理完成所用的第一处理时长;
选择模块,用于选择第一处理时长最短的组合中包括的运行方式,确定为基于所述目标神经网络模型对数据进行处理时,所述AI芯片的运行方式;
所述第二获得模块,具体用于确定所述目标神经网络模型中符合第一预设条件的网络层,作为第一网络层;
获得所述第一网络层支持的运行方式的不同子组合;其中,每种子组合中包括:各个第一网络层的运行方式;
获得所述目标神经网络模型中的各个非第一网络层的预设运行方式;
对所述第一网络层支持的运行方式的不同子组合,和所述各个非第一网络层的预设运行方式进行组合,得到AI芯片支持的运行方式的不同组合;
所述第二获得模块,具体用于按照网络层连接的先后顺序,确定所述目标神经网络模型中前第二数目个网络层,作为第二网络层;
确定所述第二网络层中不符合第二预设条件的网络层,作为第一网络层;
所述第二获得模块,具体用于确定所述第二网络层中符合所述第二预设条件的卷积层和/或全连接层,作为第三网络层;
获得所述第三网络层支持的运行方式;使得所述AI芯片基于所述第三网络层支持的运行方式,用所述第三网络层对第二预设测试数据进行多次处理;
获得所述AI芯片每次对所述第二预设测试数据处理完成所用的第二处理时长;
选择第二处理时长最短的运行方式,确定为所述第三网络层的预设运行方式;
确定所述目标神经网络模型中的各个非第一网络层中,除所述第三网络层以外的网络层的预设运行方式为指定运行方式。
7.根据权利要求6所述的装置,其特征在于,所述第二获得模块,具体用于按照网络层连接的先后顺序,确定所述目标神经网络模型中前第一数目个网络层,作为第一网络层。
CN202010462971.3A 2020-05-27 2020-05-27 一种ai芯片的运行方式的确定方法和装置 Active CN113743598B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010462971.3A CN113743598B (zh) 2020-05-27 2020-05-27 一种ai芯片的运行方式的确定方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010462971.3A CN113743598B (zh) 2020-05-27 2020-05-27 一种ai芯片的运行方式的确定方法和装置

Publications (2)

Publication Number Publication Date
CN113743598A CN113743598A (zh) 2021-12-03
CN113743598B true CN113743598B (zh) 2023-08-04

Family

ID=78723851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010462971.3A Active CN113743598B (zh) 2020-05-27 2020-05-27 一种ai芯片的运行方式的确定方法和装置

Country Status (1)

Country Link
CN (1) CN113743598B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779057A (zh) * 2016-11-11 2017-05-31 北京旷视科技有限公司 基于gpu的计算二值神经网络卷积的方法及装置
WO2018094099A1 (en) * 2016-11-17 2018-05-24 The Mathworks, Inc. Systems and methods for automatically generating code for deep learning systems
WO2019041251A1 (zh) * 2017-08-31 2019-03-07 北京中科寒武纪科技有限公司 芯片装置及相关产品

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489703B2 (en) * 2015-05-20 2019-11-26 Nec Corporation Memory efficiency for convolutional neural networks operating on graphics processing units
CN109919308B (zh) * 2017-12-13 2022-11-11 腾讯科技(深圳)有限公司 一种神经网络模型部署方法、预测方法及相关设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779057A (zh) * 2016-11-11 2017-05-31 北京旷视科技有限公司 基于gpu的计算二值神经网络卷积的方法及装置
WO2018094099A1 (en) * 2016-11-17 2018-05-24 The Mathworks, Inc. Systems and methods for automatically generating code for deep learning systems
WO2019041251A1 (zh) * 2017-08-31 2019-03-07 北京中科寒武纪科技有限公司 芯片装置及相关产品

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NCHW 与 NHWC 的区别;yalesaleng;《https://www.jianshu.com/p/d8a699745529》;第1-6页 *

Also Published As

Publication number Publication date
CN113743598A (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
CN107329734B (zh) 一种用于执行卷积神经网络正向运算的装置和方法
US11263116B2 (en) Champion test case generation
CN107341547B (zh) 一种用于执行卷积神经网络训练的装置和方法
US20210117810A1 (en) On-chip code breakpoint debugging method, on-chip processor, and chip breakpoint debugging system
CN113033811B (zh) 两量子比特逻辑门的处理方法及装置
CN109858019B (zh) 对话状态跟踪方法及装置、存储介质及语义识别系统
CN110046704A (zh) 基于数据流的深度网络加速方法、装置、设备及存储介质
CN108335718B (zh) 一种测试方法及装置
US20190138929A1 (en) System and method for automatic building of learning machines using learning machines
US20200090051A1 (en) Optimization problem operation method and apparatus
CN114580606A (zh) 数据处理方法、装置、计算机设备和存储介质
CN111338695A (zh) 基于流水线技术的数据处理方法及相关产品
KR20220013896A (ko) 프로세서의 신경망 아키텍처를 결정하기 위한 방법 및 장치
CN113313247A (zh) 基于数据流架构的稀疏神经网络的运算方法
CN115827436A (zh) 数据处理方法、装置、设备及存储介质
CN113743598B (zh) 一种ai芯片的运行方式的确定方法和装置
CN113031853A (zh) 互连装置、互连装置的操作方法以及人工智能加速器系统
CN111027688A (zh) 一种基于fpga的神经网络计算器生成方法及装置
CN112990461A (zh) 构建神经网络模型的方法、装置、计算机设备和存储介质
CN111383704A (zh) 一种存储器内建自测试电路和对存储器的测试方法
KR101825880B1 (ko) 소프트웨어 컴포넌트 기반 로봇 시스템을 위한 입/출력 기반 테스트 케이스 생성 방법 및 이를 수행하는 장치
CN113626650A (zh) 业务处理方法、装置和电子设备
CN113918879A (zh) 矩阵运算的方法和加速器
US20200250536A1 (en) Gpu-based artificial intelligence system using channel-level architecture search for deep neural network
CN114969636B (zh) 一种模型推荐的方法、装置和计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant