CN116306856A - 一种基于搜索的深度学习模型部署方法及装置 - Google Patents
一种基于搜索的深度学习模型部署方法及装置 Download PDFInfo
- Publication number
- CN116306856A CN116306856A CN202310557259.5A CN202310557259A CN116306856A CN 116306856 A CN116306856 A CN 116306856A CN 202310557259 A CN202310557259 A CN 202310557259A CN 116306856 A CN116306856 A CN 116306856A
- Authority
- CN
- China
- Prior art keywords
- sample
- deep learning
- operator
- determining
- learning model
- 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.)
- Granted
Links
- 238000013136 deep learning model Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims abstract description 34
- 238000013135 deep learning Methods 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 238000005457 optimization Methods 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本说明书公开了一种基于搜索的深度学习模型部署方法及装置,可以获取深度学习模型所对应的计算图,确定计算图中包括的算子,并确定每个算子匹配的硬件资源,而后,根据各算子匹配的硬件资源,构建搜索空间,从搜索空间中选取出目标样本,并确定目标样本对应的运行时长,以及确定目标样本对应的邻域样本,并确定邻域样本对应的运行时长,若邻域样本对应的运行时长短于目标样本的运行时长,将邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及对应的运行时长,直到满足预设迭代终止条件为止,按照目标样本所对应的分配方案,对深度学习模型的算子进行硬件资源的分配,以进行部署,本方法可以提高深度学习模型的计算效率。
Description
技术领域
本说明书涉及深度学习、编译技术、高性能计算交叉技术领域,尤其涉及一种基于搜索的深度学习模型部署方法及装置。
背景技术
近年来,深度学习技术已经广泛应用于机器视觉、自然语言处理、自动驾驶等多个领域并取得了显著效果。随着深度学习模型结构越来越复杂,参数量越来越大,如何保证模型的性能成了一个关键问题。
在实际应用中,可以采用更高性能的硬件来运行深度学习模型,目前,市场上存在神经网络专用的加速芯片。当然,还可以采用深度学习编译器,来对深度学习模型进行构建以及优化,采用深度学习编译器的方式,可由中央处理器(graphics processing unit,cpu)、显卡(graphics processing unit,gpu)等来运行深度学习模型。
在实际的部署场景中可以将深度学习模型部署在多个硬件上,如,同时部署在cpu、gpu和多种神经网络加速芯片上,但是,当前将深度学习模型部署在多个硬件上的方式,可以是依据人为经验,将深度学习模型指定的部分分配给指定的某些硬件进行运行,从而不一定能够发挥最高的性能来有效率的运行深度学习模型。
从而,如何提高深度学习模型的运行效率,则是亟待解决的问题。
发明内容
本说明书提供一种基于搜索的深度学习模型部署方法及装置,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种基于搜索的深度学习模型部署方法,包括:
获取深度学习模型所对应的计算图;
确定所述计算图中包括的算子,并确定每个算子匹配的硬件资源;
根据各算子匹配的硬件资源,构建搜索空间,针对所述搜索空间中包括的每个样本,该样本用于表示一种将算子分配给各硬件资源的分配方案:
从所述搜索空间中选取出目标样本,并确定所述目标样本对应的运行时长,以及确定所述目标样本对应的邻域样本,并确定所述邻域样本对应的运行时长,若所述邻域样本对应的运行时长短于所述目标样本的运行时长,将所述邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及邻域样本对应的运行时长,直到满足预设迭代终止条件为止;
按照目标样本所对应的分配方案,将深度学习模型的算子进行硬件资源的分配,以对所述深度学习模型进行部署。
可选地,确定每个算子匹配的硬件资源,具体包括:
针对每个算子,确定该算子是否被预设的硬件计算库支持;
若是,根据与该算子相匹配的硬件计算库,确定该算子匹配的硬件资源,若否,确定将该算子分配给深度学习编译器进行编译,以及该算子相匹配的硬件资源为:所述深度学习编译器所对应的默认硬件资源。
可选地,获取深度学习模型所对应的计算图,具体包括:
通过深度学习编译器确定出的所述深度学习模型对应的高级IR,并将所述高级IR进行图优化,得到优化后的计算图;
将所述优化后的计算图,作为获取到的所述深度学习模型所对应的计算图。
可选地,从所述搜索空间中选取出目标样本,具体包括:
从所述搜索空间中随机选取出初始样本,作为目标样本。
可选地,针对每个样本,该样本所对应的邻域样本为在该样本对应的分配方案中随机选择一个算子并随机更换为其分配的硬件资源,得到该样本所对应的邻域样本。
可选地,确定样本对应的运行时长,具体包括:
根据样本对应的分配方案,将分配给同一硬件并且在所述计算图中符合预设逻辑关系的至少两个相邻的算子进行合并,得到各编译单元,每个编译单元中包含至少一个算子;
针对每个编译单元,确定该编译单元对应的代码,并基于该编译单元对应的代码进行编译,得到该编译单元对应的可执行文件;
将各编译单元对应的可执行文件进行链接,得到链接后的可执行文件;
基于所述链接后的可执行文件,按照所述样本对应的分配方案,在分配的硬件资源上对所述深度学习模型进行执行,得到所述样本对应的运行时间。
可选地,所述预设迭代终止条件包括:到达预设的迭代次数。
可选地,满足预设迭代终止条件,具体包括:
若在至少N次的迭代中目标样本对应的运行时长趋于一致,则确定满足所述预设迭代终止条件,其中,N为正整数。
本说明书提供一种基于搜索的深度学习模型部署装置,包括:
获取模块,用于获取深度学习模型所对应的计算图;
算子确定模块,用于确定所述计算图中包括的算子,并确定每个算子匹配的硬件资源;
构建模块,用于根据各算子匹配的硬件资源,构建搜索空间,针对所述搜索空间中包括的每个样本,该样本用于表示一种将算子分配给各硬件资源的分配方案:
迭代模块,用于从所述搜索空间中选取出目标样本,并确定所述目标样本对应的运行时长,确定所述目标样本对应的邻域样本,并确定所述邻域样本对应的运行时长,若所述邻域样本对应的运行时长短于所述目标样本的运行时长,将所述邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及邻域样本对应的运行时长,直到满足预设迭代终止条件为止;
部署模块,用于按照目标样本所对应的分配方案,将深度学习模型的算子进行硬件资源的分配,以对所述深度学习模型进行部署。
可选地,所述算子确定模块具体用于,针对每个算子,确定该算子是否被预设的硬件计算库支持;若是,根据与该算子相匹配的硬件计算库,确定该算子匹配的硬件资源,若否,确定将该算子分配给深度学习编译器进行编译,以及该算子相匹配的硬件资源为:所述深度学习编译器所对应的默认硬件资源。
可选地,所述获取模块具体用于,通过深度学习编译器确定出的所述深度学习模型对应的高级IR,并将所述高级IR进行图优化,得到优化后的计算图;将所述优化后的计算图,作为获取到的所述深度学习模型所对应的计算图。
可选地,所述迭代模块具体用于,从所述搜索空间中随机选取出初始样本,作为目标样本。
可选地,针对每个样本,该样本所对应的邻域样本为在该样本对应的分配方案中随机选择一个算子并随机更换为其分配的硬件,得到该样本所对应的邻域样本。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于搜索的深度学习模型部署方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于搜索的深度学习模型部署方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
从上述基于搜索的深度学习模型部署方法中可以看出,可以获取深度学习模型所对应的计算图,确定计算图中包括的算子,并确定每个算子匹配的硬件资源,而后,根据各算子匹配的硬件资源,构建搜索空间,针对搜索空间中包括的每个样本,该样本用于表示一种将算子分配给各硬件资源的分配方案,进而,从搜索空间中选取出目标样本,并确定目标样本对应的运行时长,以及确定目标样本对应的邻域样本,并确定邻域样本对应的运行时长,若邻域样本对应的运行时长短于目标样本的运行时长,将邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及邻域样本对应的运行时长,直到满足预设迭代终止条件为止,按照目标样本所对应的分配方案,将深度学习模型的算子进行硬件资源的分配,以对深度学习模型进行部署。
从上述内容中可以看出,本说明书提供的一种基于搜索的深度学习模型部署方法,可以通过算子匹配的硬件资源,构建出各种分配方案对应的样本所组成的搜索空间,并在搜索空间中进行搜索,不断地确定出邻域样本,从而不断地将运行时长较短的邻域样本替换为目标样本,通过不断的迭代,尽可能确定出最优的样本,并按照最优的样本,对深度学习模型的算子进行硬件资源的分配,从而将深度学习模型进行部署,因此,本方法可以提高深度学习模型的计算效率。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书提供的一种基于搜索的深度学习模型部署方法的流程示意图;
图2为本说明书中提供的一种搜索空间的示意图;
图3为本说明书中提供的搜索空间中的一种样本的示意图;
图4为本说明书中提供的一种基于搜索的深度学习模型部署装置的结构示意图;
图5为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书提供的一种基于搜索的深度学习模型部署方法的流程示意图,具体包括以下步骤:
S100:获取深度学习模型所对应的计算图。
S102:确定所述计算图中包括的算子,并确定每个算子匹配的硬件资源。
S104:根据各算子匹配的硬件资源,构建搜索空间,针对所述搜索空间中包括的每个样本,该样本用于表示一种将算子分配给各硬件资源的分配方案。
在实际应用中,可以将深度学习模型部署在多个硬件资源上,即,可以将深度学习模型分为若干算子,由多个硬件资源来执行多个算子。
基于此,服务器可以获取深度学习模型所对应的计算图,并确定该计算图中包含的算子,以及确定每个算子匹配的硬件资源。
其中,服务器可以根据通过深度学习编译器确定出的上述深度学习模型对应的高级IR,并将该高级IR进行图优化,得到优化后的计算图,进而将优化后的计算图,作为获取到的深度学习模型所对应的计算图,这里提到的图优化可以是指常规的深度学习编译器进行图优化的方法,可以包括常量折叠、死码消除、公共子表达式消除等。
上述提到的计算图可以是指表示深度学习模型中包含的各算子之间的逻辑关系的有向无环图,这里提到的算子可以是指构成深度学习模型的基础计算单元,如,不同的激活函数可以作为不同的算子;不同的卷积操作可以作为不同的算子;求和、求积、取余等运算也可以作为单独的算子。一个深度学习模型可以由多个算子构成。
每个算子可以对应有所匹配的硬件资源,例如,存在有硬件资源1、硬件资源2、硬件资源3,算子1可能被硬件资源1、硬件资源2和硬件资源3均支持,而算子2仅被硬件资源1和硬件资源2支持。
根据各算子匹配的硬件资源,可以构建出搜索空间,针对该搜索空间中包括的每个样本,该样本用于表示一种将算子分配给各硬件资源的分配方案,该搜索空间中可以包括根据各算子匹配的硬件资源,确定出的全部分配方案所对应的样本。
下面举一个简单的例子对深度学习模型的计算图和每个算子匹配的计算资源,以及基于前者构建出的搜索空间进行说明,如图2、图3所示。
图2为本说明书中提供的一种搜索空间的示意图。
图3为本说明书中提供的搜索空间中的一种样本的示意图。
图2中所展示出的计算图所对应的深度学习模型中包含五个算子,Conv2D_01(01号卷积算子)对应有匹配的三个硬件资源(硬件资源1、2、3),Add_02(02号求和算子)对应有匹配的两个硬件资源(硬件资源1、2),ReLu_03(03号激活函数算子)对应有匹配的一个硬件资源(硬件资源1),Conv2D_04(04号卷积算子)对应有匹配的三个硬件资源(硬件资源1、2、3),ReLu_05(05号激活函数算子)对应有匹配的一个硬件资源(硬件资源1)。可以看出,计算图可以示出算子之间的逻辑关系(输入输出关系)。
因此该计算图中5个算子构成的搜索空间大小为3*2*1*3*1=18(样本数量为18),即将计算图中的算子分配到各硬件资源中共有18种可行的分配方案。
图3所举出的样本对应图2示出的搜索空间中的一种分配方案,即,将Conv2D_01、Add_02、ReLu_03分配给硬件资源1,将Conv2D_04分配给硬件资源3,将ReLu_05分配给硬件资源2.。
需要说明的是,为了便于描述,将服务器作为本方法的执行主体,来进行本方法整体流程的说明,但不对本方法的执行主体进行限制,执行主体可以是服务器、台式电脑等电子设备。
还需说明的是,由于可以存在多种硬件资源,如多种神经网络加速芯片和cpu、gpu等,例如,某个神经网络加速芯片可能支持某些算子,cpu、gpu也可能会支持某些算子。在确定算子匹配的硬件资源时,可以针对每个算子,确定该算子是否被预设的硬件计算库支持,若是,可以根据与该算子相匹配的硬件计算库,确定该算子匹配的硬件资源,若否,确定将该算子分配给深度学习编译器进行编译,以及该算子相匹配的硬件资源为:深度学习编译器所对应的默认硬件资源。
默认硬件资源可以为cpu或gpu,当算子相匹配的硬件资源是默认硬件资源,可以理解为在搜索空间中的每个样本中,该算子所对应的硬件资源是固定的。而若是算子可以被硬件计算库支持,则该算子也可以被硬件计算库所对应的神经网络加速芯片支持,则该算子匹配的硬件资源可以存在多种,如:硬件计算库所对应的神经网络加速芯片、cpu、gpu等。
S106:从所述搜索空间中选取出目标样本,并确定所述目标样本对应的运行时长,以及确定所述目标样本对应的邻域样本,并确定所述邻域样本对应的运行时长,若所述邻域样本对应的运行时长短于所述目标样本的运行时长,将所述邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及邻域样本对应的运行时长,直到满足预设迭代终止条件为止。
S108:按照目标样本所对应的分配方案,将深度学习模型的算子进行硬件资源的分配,以对所述深度学习模型进行部署。
服务器确定出搜索空间后,可以从搜索空间中选取出目标样本,并确定目标样本对应的运行时长,以及确定目标样本对应的邻域样本,并确定该邻域样本对应的运行时长,若该邻域样本对应的运行时长短于该目标样本的运行时长,将该邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及邻域样本对应的运行时长,直到满足预设迭代终止条件为止,按照目标样本所对应的分配方案,将深度学习模型的算子进行硬件资源的分配,以对深度学习模型进行部署。
也就是说,可以通过不断对搜索空间中的样本进行搜索的方式,找到尽可能运行时间最优的分配方案所对应的样本,上述过程是不断迭代地进行搜索,在最初确定出一个目标样本,并确定出目标样本对应的运行时长,即,确定出按照目标样本所对应的分配方案将各算子分配给硬件资源后运行深度学习模型的实际运行时长。
而后,可以确定出该目标样本的邻域样本,并确定出该邻域样本所对应的运行时间。对于一个样本来说,该样本所对应的邻域样本可以是在该样本对应的分配方案中随机选择一个算子并随机更换为其(该算子)分配的硬件资源,得到该样本所对应的邻域样本。
假设计算图中有5个算子,每个算子都被3种硬件资源支持,则搜索空间中一个可能的样本编码为(1, 1, 2, 3, 2):表示编号为1和2的算子分配给硬件1,编号为3和5的算子分配给硬件2,编号为4的算子分配给硬件3。邻域样本生成规则如下:随机选择一个算子并随机更换其分配的硬件。以上述样本为例,(1,1,2,1,2)和(1,2,2,3,2)都是它的邻域样本。
当然,也可以通过其他方式,确定出邻域样本,只要确定出的邻域样本与上一次迭代时的样本不同即可。需要说明的是,每次确定出一个样本对应的邻域样本,相当于生成一个新的邻域样本,若新生成的邻域样本已经在硬件上实测过运行时长,则可以重新生成邻域样本,直到生成未评估过的邻域样本。
确定出该邻域样本所对应的运行时间后,可以比较邻域样本与目标样本之间的运行时长,若邻域样本对应的运行时长短于目标样本的运行时长,则将邻域样本重新作为目标样本,并继续确定这个目标样本的邻域样本,以及确定对应的运行时长。
若邻域样本对应的运行时长不短于目标样本的运行时长,则可以继续确定原有的目标样本的其他邻域样本,以及其他邻域样本对应的运行时长,即,继续进行迭代,迭代到满足一定预设迭代终止条件后,停止迭代,最后一个迭代时的目标样本对应的运行时长为搜索出的最短运行时长,
即,每确定出一个样本所对应的运行时长,算是一次迭代,可以不断地进行邻域搜索,来不断确定出新的样本对应的运行时长,若存在新的样本所对应的运行时长短于之前测试过的所有样本最低的运行时长,则将这个样本替换为目标样本,这样一来,到最终,目标样本是搜索出的运行时长最优的样本。
上述预设迭代终止条件可以存在多种,例如,到达预设的迭代次数时,可以确定满足预设迭代终止条件,该预设的迭代次数可以是根据算子的数量进行预设的,例如,若算子的数量较少,则迭代次数可以较少,若算子的数量较多,则迭代次数可以较多。
再例如,若在至少N次的迭代中目标样本对应的运行时长趋于一致,则可以确定满足预设迭代终止条件,其中,N为正整数。这里提到的至少N次可以是指当迭代到最后,若是每一轮迭代中的目标样本对应的运行时长是差不多的,不会再减少,则相当于是一种收敛,此时可以停止迭代,将此时最后一轮迭代的目标样本作为最优的样本。
上述过程中,最初,从搜索空间中选取出目标样本可以存在多种,例如,可以从搜索空间中随机选取出初始样本,作为目标样本,再例如,可以从搜索空间中选取出基础优先样本,作为所述目标样本,该基础优先样本可以是一个依据人为经验选取出的较为合适的样本。
需要说明的是,确定样本的运行时长,需要按照样本所对应的分配方案在分配给各算子的实际硬件上进行实测来确定出运行时长。
具体的,服务器可以根据样本对应的分配方案,将分配给同一硬件并且在所述计算图中符合预设逻辑关系的至少两个相邻算子进行合并,得到各编译单元,未被合并到一个编译单元的算子作为单独的一个编译单元,每个编译单元中包含至少一个算子。
而后,针对每个编译单元,确定该编译单元对应的代码,并基于该编译单元对应的代码进行编译,得到该编译单元对应的可执行文件,并将各编译单元对应的可执行文件进行链接,得到链接后的可执行文件。以及,基于链接后的可执行文件,按照样本对应的分配方案,在分配的硬件资源上对深度学习模型进行执行,得到该样本对应的运行时间。
上述提到的在计算图中相邻的算子可以是指之间存在连接的算子,例如,在图3中,Conv2D_01、Add_02、ReLu_03这三个算子是相邻的,Conv2D_04和ReLu_05这两个算子是相邻的。
而符合预设逻辑关系可以是指在相邻的算子被分在同一个硬件中时,这些相邻的算子中除初始算子外其余算子的输入不包括分配给其他硬件的算子的输入,初始算子指的是这些相邻的算子中的按照计算图中的执行顺序排在首位的算子。
例如,对于图3计算图中的Conv2D_01、Add_02、ReLu_03这三个相邻算子,这三个相邻算子均被分配给了同一个硬件,并且三个相邻算子中的Add_02和ReLu_03(初始算子为Conv2D_01)没有从其他硬件的算子来的输入,因此,这三个相邻算子可以组成一个编译单元。
某些算子可以被合并成编译单元,某些算子不能被合并,则可以一个算子作为一个编译单元,而后,可以将各编译单元分别按照代码进行编译,并将各自的可执行文件链接,得到整体的可执行文件。
可以在部署有需要分配的各硬件资源的设备上,运行该可执行文件,即运行深度学习模型,按照该可执行文件进行运行,可将每个编译单元分配给对应的硬件资源进行执行,从而完成整体的深度学习模型的运行,以得到该样本所对应的运行时长。这里提到的设备可以是指上述服务器,也可以是指另外的电子设备。
需要说明的是,本说明书中的深度学习模型不限制其的应用场景,该深度学习模型可以是图像识别模型、信息推荐模型等。
需要说明的是,完成迭代后,最后一次迭代中的目标样本所对应的分配方案,可以作为部署该深度学习模型的分配方案。其中,上述硬件资源可以处于同一设备(需要部署该深度学习模型的设备)中,按照目标样本对应的分配方案,将深度学习模型部署在该设备上,可以使得该设备中的各硬件资源按照目标样本对应的分配方案执行深度学习模型中的算子,以使该设备运行深度学习模型。该设备可以是上述服务器,或者另外单独的设备(服务器用于确定分配方案)。
从上述内容中可以看出,本说明书提供的一种基于搜索的深度学习模型部署方法,可以通过算子匹配的硬件资源,构建出各种分配方案对应的样本所组成的搜索空间,并在搜索空间中进行搜索,不断地确定出邻域样本,从而不断地将运行时长较短的邻域样本替换为目标样本,通过不断的迭代,尽可能确定出最优的样本,并按照最优的样本,对深度学习模型的算子进行硬件资源的分配,从而将深度学习模型进行部署,因此,本方法可以提高深度学习模型的计算效率。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:一是本发明结合了深度学习编译器的算子生成功能和各硬件计算库(神经网络芯片)的性能优势;二是在多硬件部署的情况下,本发明引入搜索技术充分利用硬件各自的优势实现了更高的部署性能。
基于上述基于搜索的深度学习模型部署方法,本说明书还提供一种基于搜索的深度学习模型部署装置,如图4所示。
获取模块401,用于获取深度学习模型所对应的计算图;
算子确定模块402,用于确定所述计算图中包括的算子,并确定每个算子匹配的硬件资源;
构建模块403,用于根据各算子匹配的硬件资源,构建搜索空间,针对所述搜索空间中包括的每个样本,该样本用于表示一种将算子分配给各硬件资源的分配方案:
迭代模块404,用于从所述搜索空间中选取出目标样本,并确定所述目标样本对应的运行时长,确定所述目标样本对应的邻域样本,并确定所述邻域样本对应的运行时长,若所述邻域样本对应的运行时长短于所述目标样本的运行时长,将所述邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及邻域样本对应的运行时长,直到满足预设迭代终止条件为止;
部署模块405,用于按照目标样本所对应的分配方案,将深度学习模型的算子进行硬件资源的分配,以对所述深度学习模型进行部署。
可选地,所述算子确定模块402具体用于,针对每个算子,确定该算子是否被预设的硬件计算库支持;若是,根据与该算子相匹配的硬件计算库,确定该算子匹配的硬件资源,若否,确定将该算子分配给深度学习编译器进行编译,以及该算子相匹配的硬件资源为:所述深度学习编译器所对应的默认硬件资源。
可选地,所述获取模块401具体用于,通过深度学习编译器确定出的所述深度学习模型对应的高级IR,并将所述高级IR进行图优化,得到优化后的计算图;将所述优化后的计算图,作为获取到的所述深度学习模型所对应的计算图。
可选地,所述迭代模块404具体用于,从所述搜索空间中随机选取出初始样本,作为目标样本。
可选地,针对每个样本,该样本所对应的邻域样本为在该样本对应的分配方案中随机选择一个算子并随机更换为其分配的硬件资源,得到该样本所对应的邻域样本。
可选地,所述迭代模块404具体用于,根据样本对应的分配方案,将分配给同一硬件并且在所述计算图中符合预设逻辑关系的至少两个相邻的算子进行合并,得到各编译单元,每个编译单元中包含至少一个算子;针对每个编译单元,确定该编译单元对应的代码,并基于该编译单元对应的代码进行编译,得到该编译单元对应的可执行文件;将各编译单元对应的可执行文件进行链接,得到链接后的可执行文件;基于所述链接后的可执行文件,按照所述样本对应的分配方案,在分配的硬件资源上对所述深度学习模型进行执行,得到所述样本对应的运行时间。
可选地,所述预设迭代终止条件包括:到达预设的迭代次数。
可选地,所述迭代模块404具体用于,若在至少N次的迭代中目标样本对应的运行时长趋于一致,则确定满足所述预设迭代终止条件,其中,N为正整数。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述基于搜索的深度学习模型部署方法。
本说明书还提供了图5所示的电子设备的示意结构图。如图5所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述基于搜索的深度学习模型部署方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (15)
1.一种基于搜索的深度学习模型部署方法,其特征在于,包括:
获取深度学习模型所对应的计算图;
确定所述计算图中包括的算子,并确定每个算子匹配的硬件资源;
根据各算子匹配的硬件资源,构建搜索空间,针对所述搜索空间中包括的每个样本,该样本用于表示一种将算子分配给各硬件资源的分配方案:
从所述搜索空间中选取出目标样本,并确定所述目标样本对应的运行时长,以及确定所述目标样本对应的邻域样本,并确定所述邻域样本对应的运行时长,若所述邻域样本对应的运行时长短于所述目标样本的运行时长,将所述邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及邻域样本对应的运行时长,直到满足预设迭代终止条件为止;
按照目标样本所对应的分配方案,将深度学习模型的算子进行硬件资源的分配,以对所述深度学习模型进行部署。
2.如权利要求1所述的方法,其特征在于,确定每个算子匹配的硬件资源,具体包括:
针对每个算子,确定该算子是否被预设的硬件计算库支持;
若是,根据与该算子相匹配的硬件计算库,确定该算子匹配的硬件资源,若否,确定将该算子分配给深度学习编译器进行编译,以及该算子相匹配的硬件资源为:所述深度学习编译器所对应的默认硬件资源。
3.如权利要求1所述的方法,其特征在于,获取深度学习模型所对应的计算图,具体包括:
通过深度学习编译器确定出的所述深度学习模型对应的高级IR,并将所述高级IR进行图优化,得到优化后的计算图;
将所述优化后的计算图,作为获取到的所述深度学习模型所对应的计算图。
4.如权利要求1所述的方法,其特征在于,从所述搜索空间中选取出目标样本,具体包括:
从所述搜索空间中随机选取出初始样本,作为目标样本。
5.如权利要求1所述的方法,其特征在于,针对每个样本,该样本所对应的邻域样本为在该样本对应的分配方案中随机选择一个算子并随机更换为其分配的硬件资源,得到该样本所对应的邻域样本。
6.如权利要求1所述的方法,其特征在于,确定样本对应的运行时长,具体包括:
根据样本对应的分配方案,将分配给同一硬件并且在所述计算图中符合预设逻辑关系的至少两个相邻的算子进行合并,得到各编译单元,每个编译单元中包含至少一个算子;
针对每个编译单元,确定该编译单元对应的代码,并基于该编译单元对应的代码进行编译,得到该编译单元对应的可执行文件;
将各编译单元对应的可执行文件进行链接,得到链接后的可执行文件;
基于所述链接后的可执行文件,按照所述样本对应的分配方案,在分配的硬件资源上对所述深度学习模型进行执行,得到所述样本对应的运行时间。
7.如权利要求1所述的方法,其特征在于,所述预设迭代终止条件包括:到达预设的迭代次数。
8.如权利要求1所述的方法,其特征在于,满足预设迭代终止条件,具体包括:
若在至少N次的迭代中目标样本对应的运行时长趋于一致,则确定满足所述预设迭代终止条件,其中,N为正整数。
9.一种基于搜索的深度学习模型部署装置,其特征在于,包括:
获取模块,用于获取深度学习模型所对应的计算图;
算子确定模块,用于确定所述计算图中包括的算子,并确定每个算子匹配的硬件资源;
构建模块,用于根据各算子匹配的硬件资源,构建搜索空间,针对所述搜索空间中包括的每个样本,该样本用于表示一种将算子分配给各硬件资源的分配方案:
迭代模块,用于从所述搜索空间中选取出目标样本,并确定所述目标样本对应的运行时长,确定所述目标样本对应的邻域样本,并确定所述邻域样本对应的运行时长,若所述邻域样本对应的运行时长短于所述目标样本的运行时长,将所述邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及邻域样本对应的运行时长,直到满足预设迭代终止条件为止;
部署模块,用于按照目标样本所对应的分配方案,将深度学习模型的算子进行硬件资源的分配,以对所述深度学习模型进行部署。
10.如权利要求9所述的装置,其特征在于,所述算子确定模块具体用于,针对每个算子,确定该算子是否被预设的硬件计算库支持;若是,根据与该算子相匹配的硬件计算库,确定该算子匹配的硬件资源,若否,确定将该算子分配给深度学习编译器进行编译,以及该算子相匹配的硬件资源为:所述深度学习编译器所对应的默认硬件资源。
11.如权利要求9所述的装置,其特征在于,所述获取模块具体用于,通过深度学习编译器确定出的所述深度学习模型对应的高级IR,并将所述高级IR进行图优化,得到优化后的计算图;将所述优化后的计算图,作为获取到的所述深度学习模型所对应的计算图。
12.如权利要求9所述的装置,其特征在于,所述迭代模块具体用于,从所述搜索空间中随机选取出初始样本,作为目标样本。
13.如权利要求9所述的装置,其特征在于,针对每个样本,该样本所对应的邻域样本为在该样本对应的分配方案中随机选择一个算子并随机更换为其分配的硬件,得到该样本所对应的邻域样本。
14.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~8任一项所述的方法。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310557259.5A CN116306856B (zh) | 2023-05-17 | 2023-05-17 | 一种基于搜索的深度学习模型部署方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310557259.5A CN116306856B (zh) | 2023-05-17 | 2023-05-17 | 一种基于搜索的深度学习模型部署方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116306856A true CN116306856A (zh) | 2023-06-23 |
CN116306856B CN116306856B (zh) | 2023-09-05 |
Family
ID=86781877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310557259.5A Active CN116306856B (zh) | 2023-05-17 | 2023-05-17 | 一种基于搜索的深度学习模型部署方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116306856B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663618A (zh) * | 2023-07-28 | 2023-08-29 | 之江实验室 | 一种算子优化方法、装置、存储介质及电子设备 |
CN116860259A (zh) * | 2023-09-05 | 2023-10-10 | 之江实验室 | 一种模型训练和编译器自动调优的方法、装置及设备 |
CN117455015A (zh) * | 2023-12-20 | 2024-01-26 | 摩尔线程智能科技(成都)有限责任公司 | 一种模型优化的方法、装置、存储介质及电子设备 |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239315A (zh) * | 2017-04-11 | 2017-10-10 | 北京深鉴智能科技有限公司 | 面向神经网络异构计算平台的编程模型 |
CN110866610A (zh) * | 2019-11-20 | 2020-03-06 | 苏州浪潮智能科技有限公司 | 一种深度学习模型分布式运算的方法及装置 |
CN111752716A (zh) * | 2020-06-29 | 2020-10-09 | 北京小米松果电子有限公司 | 模型使用方法、数据处理方法及装置 |
CN111880807A (zh) * | 2020-07-31 | 2020-11-03 | Oppo广东移动通信有限公司 | 深度学习编译方法、装置、设备及存储介质 |
CN112711422A (zh) * | 2020-12-31 | 2021-04-27 | 北京清微智能科技有限公司 | 一种神经网络编译的优化方法及系统 |
CN113220457A (zh) * | 2021-05-24 | 2021-08-06 | 交叉信息核心技术研究院(西安)有限公司 | 模型部署方法、模型部署装置、终端设备及可读存储介质 |
CN113283613A (zh) * | 2021-07-23 | 2021-08-20 | 上海燧原科技有限公司 | 深度学习模型的生成方法、优化方法、装置、设备及介质 |
CN113485848A (zh) * | 2021-09-08 | 2021-10-08 | 深圳思谋信息科技有限公司 | 深度神经网络部署方法、装置、计算机设备和存储介质 |
CN113902112A (zh) * | 2021-12-10 | 2022-01-07 | 深圳鲲云信息科技有限公司 | 硬件计算模拟方法、系统及计算机可读存储介质 |
WO2022068623A1 (zh) * | 2020-09-30 | 2022-04-07 | 华为技术有限公司 | 一种模型训练方法及相关设备 |
WO2022101515A1 (en) * | 2020-11-16 | 2022-05-19 | UMNAI Limited | Method for an explainable autoencoder and an explainable generative adversarial network |
CN114936015A (zh) * | 2022-06-02 | 2022-08-23 | 南京大学 | 一种基于硬件计算图的深度学习编译器 |
US20220374713A1 (en) * | 2021-10-28 | 2022-11-24 | Beijing Baidu Netcom Science Technology Co., Ltd. | Method and apparatus for performing distributed training on deep learning model, device and storage medium |
CN115794400A (zh) * | 2022-11-30 | 2023-03-14 | 重庆长安汽车股份有限公司 | 深度学习模型的内存管理方法、装置、设备及存储介质 |
CN115829017A (zh) * | 2023-02-20 | 2023-03-21 | 之江实验室 | 一种基于芯粒的数据处理的方法、装置、介质及设备 |
CN116009889A (zh) * | 2023-02-17 | 2023-04-25 | 长城汽车股份有限公司 | 深度学习模型的部署方法、装置、电子设备及存储介质 |
CN116069340A (zh) * | 2022-09-14 | 2023-05-05 | 国科础石(重庆)软件有限公司 | 自动驾驶模型部署方法、装置、设备及存储介质 |
CN116126365A (zh) * | 2023-04-18 | 2023-05-16 | 之江实验室 | 一种模型部署的方法、系统、存储介质及电子设备 |
CN116126346A (zh) * | 2023-04-04 | 2023-05-16 | 上海燧原科技有限公司 | Ai模型的代码编译方法、装置、计算机设备及存储介质 |
-
2023
- 2023-05-17 CN CN202310557259.5A patent/CN116306856B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239315A (zh) * | 2017-04-11 | 2017-10-10 | 北京深鉴智能科技有限公司 | 面向神经网络异构计算平台的编程模型 |
CN110866610A (zh) * | 2019-11-20 | 2020-03-06 | 苏州浪潮智能科技有限公司 | 一种深度学习模型分布式运算的方法及装置 |
CN111752716A (zh) * | 2020-06-29 | 2020-10-09 | 北京小米松果电子有限公司 | 模型使用方法、数据处理方法及装置 |
CN111880807A (zh) * | 2020-07-31 | 2020-11-03 | Oppo广东移动通信有限公司 | 深度学习编译方法、装置、设备及存储介质 |
WO2022068623A1 (zh) * | 2020-09-30 | 2022-04-07 | 华为技术有限公司 | 一种模型训练方法及相关设备 |
WO2022101515A1 (en) * | 2020-11-16 | 2022-05-19 | UMNAI Limited | Method for an explainable autoencoder and an explainable generative adversarial network |
CN112711422A (zh) * | 2020-12-31 | 2021-04-27 | 北京清微智能科技有限公司 | 一种神经网络编译的优化方法及系统 |
CN113220457A (zh) * | 2021-05-24 | 2021-08-06 | 交叉信息核心技术研究院(西安)有限公司 | 模型部署方法、模型部署装置、终端设备及可读存储介质 |
CN113283613A (zh) * | 2021-07-23 | 2021-08-20 | 上海燧原科技有限公司 | 深度学习模型的生成方法、优化方法、装置、设备及介质 |
CN113485848A (zh) * | 2021-09-08 | 2021-10-08 | 深圳思谋信息科技有限公司 | 深度神经网络部署方法、装置、计算机设备和存储介质 |
US20220374713A1 (en) * | 2021-10-28 | 2022-11-24 | Beijing Baidu Netcom Science Technology Co., Ltd. | Method and apparatus for performing distributed training on deep learning model, device and storage medium |
CN113902112A (zh) * | 2021-12-10 | 2022-01-07 | 深圳鲲云信息科技有限公司 | 硬件计算模拟方法、系统及计算机可读存储介质 |
CN114936015A (zh) * | 2022-06-02 | 2022-08-23 | 南京大学 | 一种基于硬件计算图的深度学习编译器 |
CN116069340A (zh) * | 2022-09-14 | 2023-05-05 | 国科础石(重庆)软件有限公司 | 自动驾驶模型部署方法、装置、设备及存储介质 |
CN115794400A (zh) * | 2022-11-30 | 2023-03-14 | 重庆长安汽车股份有限公司 | 深度学习模型的内存管理方法、装置、设备及存储介质 |
CN116009889A (zh) * | 2023-02-17 | 2023-04-25 | 长城汽车股份有限公司 | 深度学习模型的部署方法、装置、电子设备及存储介质 |
CN115829017A (zh) * | 2023-02-20 | 2023-03-21 | 之江实验室 | 一种基于芯粒的数据处理的方法、装置、介质及设备 |
CN116126346A (zh) * | 2023-04-04 | 2023-05-16 | 上海燧原科技有限公司 | Ai模型的代码编译方法、装置、计算机设备及存储介质 |
CN116126365A (zh) * | 2023-04-18 | 2023-05-16 | 之江实验室 | 一种模型部署的方法、系统、存储介质及电子设备 |
Non-Patent Citations (3)
Title |
---|
YANG LI ET AL.: "Automating Cloud Deployment for Deep Learning Inference of Real-time Online Services", 《IEEE INFOCOM 2020 - IEEE CONFERENCE ON COMPUTER COMMUNICATIONS》, pages 1668 - 1677 * |
吴林阳等: "一种运算和数据协同优化的深度学习编译框架", 《高技术通讯》, vol. 30, no. 02, pages 120 - 125 * |
郭斌等: "深度学习模型终端环境自适应方法研究", 《中国科学:信息科学》, vol. 50, no. 11, pages 1629 - 1644 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663618A (zh) * | 2023-07-28 | 2023-08-29 | 之江实验室 | 一种算子优化方法、装置、存储介质及电子设备 |
CN116663618B (zh) * | 2023-07-28 | 2023-12-05 | 之江实验室 | 一种算子优化方法、装置、存储介质及电子设备 |
CN116860259A (zh) * | 2023-09-05 | 2023-10-10 | 之江实验室 | 一种模型训练和编译器自动调优的方法、装置及设备 |
CN116860259B (zh) * | 2023-09-05 | 2023-12-19 | 之江实验室 | 一种模型训练和编译器自动调优的方法、装置及设备 |
CN117455015A (zh) * | 2023-12-20 | 2024-01-26 | 摩尔线程智能科技(成都)有限责任公司 | 一种模型优化的方法、装置、存储介质及电子设备 |
CN117455015B (zh) * | 2023-12-20 | 2024-04-02 | 摩尔线程智能科技(成都)有限责任公司 | 一种模型优化的方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116306856B (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116306856B (zh) | 一种基于搜索的深度学习模型部署方法及装置 | |
CN116663618B (zh) | 一种算子优化方法、装置、存储介质及电子设备 | |
CN116167463B (zh) | 一种面向智能计算的分布式模型训练容器调度方法及装置 | |
CN115981870B (zh) | 一种数据处理的方法、装置、存储介质及电子设备 | |
CN116185532B (zh) | 一种任务执行系统、方法、存储介质及电子设备 | |
CN116225669B (zh) | 一种任务执行方法、装置、存储介质及电子设备 | |
CN116151363A (zh) | 分布式强化学习系统 | |
CN116860259B (zh) | 一种模型训练和编译器自动调优的方法、装置及设备 | |
CN116932175B (zh) | 一种基于序列生成的异构芯片任务调度方法以及装置 | |
CN116822657B (zh) | 一种模型训练加速的方法、装置、存储介质及电子设备 | |
CN116150563B (zh) | 一种业务执行方法、装置、存储介质及电子设备 | |
CN115543945B (zh) | 一种模型压缩的方法、装置、存储介质及电子设备 | |
CN116402113B (zh) | 一种任务执行的方法、装置、存储介质及电子设备 | |
CN116501927A (zh) | 一种图数据处理系统、方法、设备及存储介质 | |
CN116304212A (zh) | 一种数据处理系统、方法、设备及存储介质 | |
CN116384505A (zh) | 一种数据处理的方法、装置、存储介质及电子设备 | |
CN111880913A (zh) | 一种任务优化的方法及装置 | |
CN116107636B (zh) | 一种硬件加速方法、装置、存储介质及电子设备 | |
CN116089434B (zh) | 一种数据存储方法、装置、存储介质及电子设备 | |
CN116991388B (zh) | 一种深度学习编译器的图优化序列生成方法及装置 | |
CN117171401B (zh) | 基于分层预计算的图数据中最短路径的查询方法和装置 | |
CN116644090B (zh) | 一种数据查询方法、装置、设备及介质 | |
CN116167431B (zh) | 一种基于混合精度模型加速的业务处理方法及装置 | |
CN117522669B (zh) | 一种图形处理器内存优化方法、装置、介质及设备 | |
CN116302533A (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 |