CN113485848A - 深度神经网络部署方法、装置、计算机设备和存储介质 - Google Patents
深度神经网络部署方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113485848A CN113485848A CN202111046663.3A CN202111046663A CN113485848A CN 113485848 A CN113485848 A CN 113485848A CN 202111046663 A CN202111046663 A CN 202111046663A CN 113485848 A CN113485848 A CN 113485848A
- Authority
- CN
- China
- Prior art keywords
- deployment
- configuration scheme
- neural network
- gaussian process
- process 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
- 238000000034 method Methods 0.000 title claims abstract description 135
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 83
- 230000008569 process Effects 0.000 claims abstract description 90
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 46
- 238000005457 optimization Methods 0.000 claims abstract description 16
- 238000005070 sampling Methods 0.000 claims abstract description 6
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 6
- 238000002922 simulated annealing Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical group OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本申请涉及一种深度神经网络部署方法、装置、计算机设备和存储介质。本申请能够节约深度神经网络部署配置方案的搜索时间,提高搜索效率。该方法包括:获取目标神经网络;针对各个算子,随机采样得到多组部署配置方案,作为第一配置方案集合;将第一配置方案集合中的各组部署配置方案输入预先构建的深度高斯过程模型中进行预测,得到第一部署性能集合;从第一部署性能集合中选取满足第一预设条件的性能数据,得到第二部署性能集合,并得到第二配置方案集合;将第二配置方案集合作为调整集,基于调整集针对预先构建的深度高斯过程模型进行调整,得到调整后的深度高斯过程模型;通过寻优算法从第一配置方案集合中搜索得到最优部署配置方案。
Description
技术领域
本申请涉及高性能计算技术领域,特别是涉及一种深度神经网络部署方法、装置、计算机设备和存储介质。
背景技术
随着人工智能技术的发展,深度神经网络在最近十年内获得了飞速发展,由于深度神经网络往往具有上千万甚至数以亿计的网络参数,导致深度神经网络在硬件上的高性能计算仍然面临着巨大的挑战。
为了解决这一技术困难,目前出现了多种针对不同硬件、算法、应用场景的编译器和相关组件,这类技术的目标在于,在尽可能短的时间内,找到最优的深度神经网络硬件部署策略。
然而,现有技术依然难以满足实际应用中的性能要求,例如目前普遍采用的高性能计算平台中存在着众多的计算单元,我们需要将深度神经网络算法的各个模块映射到硬件计算单元上,这将带来庞大的搜索空间,通常包含超过千万量级的可行解,测试每个可行解的时间一般需要数秒,这使得我们在有限的时间内无法测试过多的可行解,进而也导致无法在数量众多的可行解中找到最优可行解。可见,现有技术存在耗费时间长、精度低、搜索效率低的缺点。
发明内容
基于此,有必要针对上述技术问题,提供一种深度神经网络部署方法、装置、计算机设备和存储介质。
一种深度神经网络部署方法,所述方法包括:
获取目标神经网络;所述目标神经网络中包含多个算子;
针对各个所述算子,随机采样得到与所述算子对应的多组部署配置方案,作为第一配置方案集合;
将所述第一配置方案集合中的各组部署配置方案输入与算子类型对应的预先构建的深度高斯过程模型中进行预测,得到第一部署性能集合;所述第一部署性能集合中的各组部署性能与所述第一配置方案集合中的各组部署配置方案一一对应;
从所述第一部署性能集合中选取满足第一预设条件的性能数据,得到第二部署性能集合,并得到与所述第二部署性能集合对应的第二配置方案集合;
将所述第二配置方案集合作为调整集,基于所述调整集针对所述预先构建的深度高斯过程模型中的模型参数进行调整,得到调整后的深度高斯过程模型;
通过寻优算法从所述第一配置方案集合中搜索得到最优部署配置方案;所述最优部署配置方案为使得所述调整后的深度高斯过程模型输出的部署性能满足第二预设条件的部署配置方案。
在其中一个实施例中,所述获取目标神经网络之前,所述方法包括:
获取历史部署数据;所述历史部署数据中包含多种算子类型对应的历史部署配置方案集合和与所述历史部署配置方案集合一一对应的历史部署性能;
利用所述历史部署数据对相应的深度高斯过程模型进行训练,得到与所述算子类型对应的预先构建的深度高斯过程模型;其中,所述相应的深度高斯过程模型是指与所述算子类型对应的深度高斯过程模型。
在其中一个实施例中,所述获取目标神经网络之后,所述方法包括:
通过预设扫描算法扫描所述目标神经网络,得到包含所述多个算子的计算图;所述计算图用于输出所述算子类型。
在其中一个实施例中,所述将所述第二部署性能集合与所述第二配置方案集合作为调整集,基于所述调整集针对所述预先构建的深度高斯过程模型中的模型参数进行调整,得到调整后的深度高斯过程模型,包括:
将所述第二配置方案集合作为调整集,获取所述调整集在目标计算平台上运行得到的实际部署性能集合;
利用最大后验估计算法,基于所述调整集以及所述实际部署性能集合针对所述预先构建的深度高斯过程模型中的模型参数进行调整,得到所述调整后的深度高斯过程模型。
在其中一个实施例中,所述方法还包括:
根据卷积类型、卷积核尺寸、填充值、卷积步长对所述目标神经网络进行分类得到多种算子类型。
在其中一个实施例中,所述寻优算法包括模拟退火算法。
在其中一个实施例中,所述通过寻优算法从所述第一配置方案集合中搜索得到最优部署配置方案,包括:
当早停步达到预设步数时停止搜索,得到所述最优部署配置方案;
或者,
当搜索方案达到预设方案数目时停止搜索,得到所述最优部署配置方案。
一种深度神经网络部署装置,所述装置包括:
目标神经网络获取模块,用于获取目标神经网络;所述目标神经网络中包含多个算子;
第一配置方案集合获取模块,用于针对各个所述算子,随机采样得到与所述算子对应的多组部署配置方案,作为第一配置方案集合;
第一部署性能集合预测模块,用于将所述第一配置方案集合中的各组部署配置方案输入与算子类型对应的预先构建的深度高斯过程模型中进行预测,得到第一部署性能集合;所述第一部署性能集合中的各组部署性能与所述第一配置方案集合中的各组部署配置方案一一对应;
第二配置方案集合获取模块,用于从所述第一部署性能集合中选取满足第一预设条件的性能数据,得到第二部署性能集合,并得到与所述第二部署性能集合对应的第二配置方案集合;
模型调整模块,用于将所述第二配置方案集合作为调整集,基于所述调整集针对所述预先构建的深度高斯过程模型中的模型参数进行调整,得到调整后的深度高斯过程模型;
最优部署配置方案搜索模块,用于通过寻优算法从所述第一配置方案集合中搜索得到最优部署配置方案;所述最优部署配置方案为使得所述调整后的深度高斯过程模型输出的部署性能满足第二预设条件的部署配置方案。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述的深度神经网络部署方法实施例中的各步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的深度神经网络部署方法实施例中的各步骤。
上述深度神经网络部署方法、装置、计算机设备和存储介质,包括:获取目标神经网络;目标神经网络中包含多个算子;针对各个算子,随机采样得到与算子对应的多组部署配置方案,作为第一配置方案集合;将第一配置方案集合中的各组部署配置方案输入与算子类型对应的预先构建的深度高斯过程模型中进行预测,得到第一部署性能集合;第一部署性能集合中的各组部署性能与第一配置方案集合中的各组部署配置方案一一对应;从第一部署性能集合中选取满足第一预设条件的性能数据,得到第二部署性能集合,并得到与第二部署性能集合对应的第二配置方案集合;将第二配置方案集合作为调整集,基于调整集针对预先构建的深度高斯过程模型中的模型参数进行调整,得到调整后的深度高斯过程模型;通过寻优算法从第一配置方案集合中搜索得到最优部署配置方案;最优部署配置方案为使得调整后的深度高斯过程模型输出的部署性能满足第二预设条件的部署配置方案。该方法能够通过深度高斯过程模型,利用历史经验数据,同时兼顾当前任务(即目标神经网络)以及当前任务运行的计算平台的资源,搜索得到最优部署配置方案,无需与真实硬件进行交互,省去了繁琐缓慢的深度学习算法编译、加载和执行过程,节约了搜索时间,提高了搜索效率。
附图说明
图1为一个实施例中深度神经网络部署方法的流程示意图;
图2为一个实施例中深度神经网络部署方法的算法架构图;
图3为一个实施例中深度神经网络部署装置的结构框图;
图4为一个实施例中计算机设备的内部结构图;
图5为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的深度神经网络部署方法,可以应用于高性能计算平台。其中,高性能计算平台可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图1所示,提供了一种深度神经网络部署方法,包括以下步骤:
步骤S101,获取目标神经网络;该目标神经网络中包含多个算子;
其中,目标神经网络是指需要部署在高性能计算平台上进行运行计算的目标神经网络,高性能计算平台是指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计算资源操作)的计算系统和环境,例如GPU(graphicsprocessing unit,图形处理器)、Nvidia GTX 1080 Ti计算架构等,Nvidia GTX 1080 Ti中包含128个SM(streaming multiprocessor,计算单元)、3584个CUDA core以及容量为11264MB的GDDR5X,可实现并行计算,提高算力,提高计算精度,并且节约时间。目标神经网络可以是执行各种任务的神经网络,例如执行计算机视觉处理、语音识别等任务的神经网络,神经网络的网络结构本文不作限制,例如可以是DNN(Deep Neural Networks,深度神经网络),一般来说,深度神经网络是具有很多隐藏层的神经网络,这些隐藏层也可以称为算子,算子有很多类型,例如可以是直接卷积、深度分离卷积、全连接等。
具体地,上述步骤是指将目标神经网络输入到高性能计算平台上。
步骤S102,针对各个算子,随机采样得到与算子对应的多组部署配置方案,作为第一配置方案集合;
其中,部署配置方案是指一组资源分配方案,一般来说,高性能计算平台的软件组织结构包括多个线程网格(Grid),每个线程网格中包含多个线程块(Block),每个线程块包含多个线程,对于工程师来说,需要将任务划分为互不相干的粗粒度子问题(最好是易并行计算),再将每个子问题划分为能够使用线程处理的问题。因此,在高性能计算平台上部署算法时,有诸多参数需要配置。以在GPU上部署直接卷积为例,需要确定20个参数,这些参数对应着block数、线程数、虚拟线程数、线程内循环数、最大自动循环展开、显式展开等,这些参数组合在一起称为一组部署配置方案,一组“部署配置方案”确定了所有这些参数的候选值。
具体地,根据算子的类型,从预存的历史经验数据中随机采样得到与该算子对应的多组部署配置方案,例如40000组部署配置方案,作为第一配置方案集合。
步骤S103,将第一配置方案集合中的各组部署配置方案输入与算子类型对应的预先构建的深度高斯过程模型中进行预测,得到第一部署性能集合;所述第一部署性能集合中的各组部署性能与上述第一配置方案集合中的各组部署配置方案一一对应。
其中,深度高斯过程模型(Deep Gaussian Process,DGP)是指堆叠两层高斯过程模型,从而形成的深度模型。高斯过程模型是一种基于迁移学习的算法,可以理解为将历史数据视为源数据,将新任务数据视为目标数据,通过设计目标函数,建立源数据与目标数据的联系,利用目标数据校准基于源数据学习到的模型。在申请中,要根据不同的算子类型构建不同的深度高斯过程模型,例如直接卷积、深度分离卷积、全连接分别对应着不同的深度高斯过程模型。
具体地,将上述第一配置方案集合中的各组部署配置方案输入到预先构建深度高斯过程模型,预测得到相应的部署性能,例如可以是每秒浮点运算次数,所有方案对应的部署性能构成第一部署性能集合。
步骤S104,从上述第一部署性能集合中选取满足第一预设条件的性能数据,得到第二部署性能集合,并得到与该第二部署性能集合对应的第二配置方案集合。
具体地,第一预设条件可以是部署性能排序后的前200个数据。对上述第一部署性能集合中的部署性能进行排序,得到性能最优的前200个数据,并得到与这些数据对应的前200个配置方案,作为第二配置方案集合。
步骤S105,将上述第二配置方案集合作为调整集,基于该调整集针对上述预先构建的深度高斯过程模型中的模型参数进行调整,得到调整后的深度高斯过程模型。
具体地,将上述200个配置方案部署到真实的高性能计算平台(例如GPU)上得到实际的部署性能(每秒浮点运算次数),将这200个配置方案以及相应的实际部署性能作为调整集,利用调整集对上述预先构建的深度高斯过程模型进行调整,得到调整后的深度高斯过程模型。
步骤S106,通过寻优算法从上述第一配置方案集合中搜索得到最优部署配置方案;上述最优部署配置方案为使得所述调整后的深度高斯过程模型输出的部署性能满足第二预设条件的部署配置方案。
具体地,可采用模拟退火算法作为搜索算法,在搜索过程中,调整后的深度高斯过程模型将替代真实的部署硬件,可直接根据部署配置,预测部署性能,并从大量部署配置方案中快速搜索得到部署性能最优的部署配置方案,作为最优部署配置方案。
上述实施例,获取目标神经网络;目标神经网络中包含多个算子;针对各个算子,随机采样得到与算子对应的多组部署配置方案,作为第一配置方案集合;将第一配置方案集合中的各组部署配置方案输入与算子类型对应的预先构建的深度高斯过程模型中进行预测,得到第一部署性能集合;第一部署性能集合中的各组部署性能与第一配置方案集合中的各组部署配置方案一一对应;从第一部署性能集合中选取满足第一预设条件的性能数据,得到第二部署性能集合,并得到与第二部署性能集合对应的第二配置方案集合;将第二配置方案集合作为调整集,基于调整集针对预先构建的深度高斯过程模型中的模型参数进行调整,得到调整后的深度高斯过程模型;通过寻优算法从第一配置方案集合中搜索得到最优部署配置方案;最优部署配置方案为使得调整后的深度高斯过程模型输出的部署性能满足第二预设条件的部署配置方案。该方法能够通过深度高斯过程模型,利用历史经验数据,同时兼顾当前任务(即目标神经网络)以及当前任务运行的计算平台的资源,搜索得到最优部署配置方案,无需与真实硬件进行交互,省去了繁琐缓慢的深度学习算法编译、加载和执行过程,节约了搜索时间,提高了搜索效率。
在一实施例中,如图2所示,图2展示了深度神经网络部署方法的算法架构图。上述步骤S201之后,还包括:获取历史部署数据;历史部署数据中包含多种算子类型对应的历史部署配置方案集合和与历史部署配置方案集合一一对应的历史部署性能;利用历史部署数据对相应的深度高斯过程模型进行训练,得到与算子类型对应的预先构建的深度高斯过程模型;其中,相应的深度高斯过程模型是指与算子类型对应的深度高斯过程模型。
具体地,在获取目标神经网络之前,还需要对深度高斯过程模型进行训练。从历史部署数据库中获取历史部署数据,历史部署数据中包含部署配置方案即相应的部署性能(每秒浮点运算次数)。根据深度神经网络中的算子类型,可将历史数据记性分组,每组中包含该类型的算子对应的所有历史数据。对于每种算子,利用历史部署数据对深度高斯过程模型进行训练,得到预先构建的深度高斯过程模型。
上述实施例,通过历史部署数据对深度高斯过程模型进行训练,得到训练好的深度高斯过程模型,为后续预测各个部署方案的性能提供数据铺垫。
在一实施例中,上述步骤S101之后,还包括:通过预设扫描算法扫描目标神经网络,得到包含多个算子的计算图;所述计算图用于输出算子类型。
具体地,可在服务器上部署预设扫描算法,该扫描算法可对输入的目标神经网络进行扫描识别,通过识别深度神经网络中各层的特征得到该目标神经网络对应的计算图,计算图由多个算子构成,从计算图上可得到构成该网络的不同算子类型。
上述实施例,通过预设扫描算法识别目标神经网络的算子类型,有利于为其分配对应的深度高斯过程模型。
在一实施例中,上述步骤S105,包括:将第二配置方案集合作为调整集,获取调整集在当前计算平台上运行得到的实际部署性能集合;利用最大后验估计算法,基于调整集以及实际部署性能集合针对预先构建的深度高斯过程模型中的模型参数进行调整,得到调整后的深度高斯过程模型。
其中,最大后验估计算法(Maximum a posteriori estimation, 简称MAP)是一种参数估计算法,是根据经验数据获得对难以观察的量的点估计。
具体地,将第二配置方案集合部署到目标计算平台上,例如,将上述200个配置方案部署到GPU上得到实际部署性能集合,利用最大后验估计算法,基于上述调整集以及相应的实际部署性能集合,重新对上述预先构建的深度高斯过程模型中的模型参数进行调整,得到调整后的深度高斯过程模型。
上述实施例,结合实际的目标计算平台的资源,调整深度高斯过程模型,使得模型能够适应不同的计算平台,有利于后续得到适应于该平台的更可靠的运算结果。进一步地,所采用的深度高斯过程模型很好地保存了历史信息,包括深度学习算法信息和硬件信息。同时本申请采用的迁移学习算法兼顾了新任务的特性,能够实现良好的扩展性和通用性。
在一实施例中,上述方法还包括:根据卷积类型、卷积核尺寸、填充值、卷积步长对所述目标神经网络进行分类得到多种算子类型。
其中,填充值是指卷积运算前的一个操作过程,即padding值。
具体地,可根据如下标准对算子进行分组:卷积类型(直接卷积、深度分离卷积、全连接等)、卷积核尺寸(1*1、3*3等)、padding值、卷积步长。例如,可以根据上述标准将MobileNet-V1中的算子分成4组:第一组(直接卷积,卷积核1*1,padding=0,卷积步长=1)、第二组(深度分离卷积,卷积核3*3,padding=1,卷积步长=2)、第三组(深度分离卷积,卷积核3*3,padding=1,卷积步长=1)、第四组(直接卷积,卷积核3*3,padding=1,卷积步长=2)。
上述实施例,通过对算子进行分类,有利于得到与不同算子类型对应的不同的深度高斯过程模型。
在一实施例中,上述寻优算法包括模拟退化算法。搜索算法的终止条件是:早停步达到预设步数,例如早停步=600,或者,搜索方案达到预设方案数目,例如最多搜索40000个配置。模拟退火算法是一种随机算法,并不一定能找到全局的最优解,可以比较快的找到问题的近似最优解,使用模拟退火算法作为寻优算法,有利于快速找到最优部署配置方案,加快搜索速度。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种深度神经网络部署装置300,包括:标神经网络获取模块301、第一配置方案集合获取模块302、第一部署性能集合预测模块303、第二配置方案集合获取模块304、模型调整模块305和最优部署配置方案搜索模块306,其中:
目标神经网络获取模块301,用于获取目标神经网络;所述目标神经网络中包含多个算子;
第一配置方案集合获取模块302,用于针对各个所述算子,随机采样得到与所述算子对应的多组部署配置方案,作为第一配置方案集合;
第一部署性能集合预测模块303,用于将所述第一配置方案集合中的各组部署配置方案输入与算子类型对应的预先构建的深度高斯过程模型中进行预测,得到第一部署性能集合;所述第一部署性能集合中的各组部署性能与所述第一配置方案集合中的各组部署配置方案一一对应;
第二配置方案集合获取模块304,用于从所述第一部署性能集合中选取满足第一预设条件的性能数据,得到第二部署性能集合,并得到与所述第二部署性能集合对应的第二配置方案集合;
模型调整模块305,用于将所述第二配置方案集合作为调整集,基于所述调整集针对所述预先构建的深度高斯过程模型中的模型参数进行调整,得到调整后的深度高斯过程模型;
最优部署配置方案搜索模块306,用于通过寻优算法从所述第一配置方案集合中搜索得到最优部署配置方案;所述最优部署配置方案为使得所述调整后的深度高斯过程模型输出的部署性能满足第二预设条件的部署配置方案。
在一实施例中,还包括训练单元,用于获取历史部署数据;所述历史部署数据中包含多种算子类型对应的历史部署配置方案集合和与所述历史部署配置方案集合一一对应的历史部署性能;利用所述历史部署数据对相应的深度高斯过程模型进行训练,得到与所述算子类型对应的预先构建的深度高斯过程模型;其中,所述相应的深度高斯过程模型是指与所述算子类型对应的深度高斯过程模型。
在一实施例中,还包括扫描单元,用于通过预设扫描算法扫描所述目标神经网络,得到包含所述多个算子的计算图。
在一实施例中,上述模型调整模块305,进一步用于,将所述第二配置方案集合作为调整集,获取所述调整集在目标计算平台上运行得到的实际部署性能集合;利用最大后验估计算法,基于所述调整集以及所述实际部署性能集合针对所述预先构建的深度高斯过程模型中的模型参数进行调整,得到所述调整后的深度高斯过程模型。
在一实施例中,还包括算子分类单元,用于根据卷积类型、卷积核尺寸、填充值、卷积步长对所述目标神经网络进行分类得到多种算子类型。
在一实施例中,上述寻优算法包括模拟退火算法。
在一实施例中,上述最优部署配置方案搜索模块306进一步用于,当早停步达到预设步数时停止搜索,得到所述最优部署配置方案;或者,当搜索方案达到预设方案数目时停止搜索,得到所述最优部署配置方案。
关于深度神经网络部署装置的具体限定可以参见上文中对于深度神经网络部署方法的限定,在此不再赘述。上述深度神经网络部署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储历史部署方案以及预测性能数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种深度神经网络部署方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种深度神经网络部署方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4-5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如上述的深度神经网络部署方法实施例中的各步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述的深度神经网络部署方法实施例中的各步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种深度神经网络部署方法,其特征在于,所述方法包括:
获取目标神经网络;所述目标神经网络中包含多个算子;
针对各个所述算子,随机采样得到与所述算子对应的多组部署配置方案,作为第一配置方案集合;
将所述第一配置方案集合中的各组部署配置方案输入与算子类型对应的预先构建的深度高斯过程模型中进行预测,得到第一部署性能集合;所述第一部署性能集合中的各组部署性能与所述第一配置方案集合中的各组部署配置方案一一对应;
从所述第一部署性能集合中选取满足第一预设条件的性能数据,得到第二部署性能集合,并得到与所述第二部署性能集合对应的第二配置方案集合;
将所述第二配置方案集合作为调整集,基于所述调整集针对所述预先构建的深度高斯过程模型中的模型参数进行调整,得到调整后的深度高斯过程模型;
通过寻优算法从所述第一配置方案集合中搜索得到最优部署配置方案;所述最优部署配置方案为使得所述调整后的深度高斯过程模型输出的部署性能满足第二预设条件的部署配置方案。
2.根据权利要求1所述的方法,其特征在于,所述获取目标神经网络之前,所述方法包括:
获取历史部署数据;所述历史部署数据中包含多种算子类型对应的历史部署配置方案集合和与所述历史部署配置方案集合一一对应的历史部署性能;
利用所述历史部署数据对相应的深度高斯过程模型进行训练,得到与所述算子类型对应的预先构建的深度高斯过程模型;其中,所述相应的深度高斯过程模型是指与所述算子类型对应的深度高斯过程模型。
3.根据权利要求1所述的方法,其特征在于,所述获取目标神经网络之后,所述方法包括:
通过预设扫描算法扫描所述目标神经网络,得到包含所述多个算子的计算图;所述计算图用于输出所述算子类型。
4.根据权利要求1所述的方法,其特征在于,所述将所述第二部署性能集合与所述第二配置方案集合作为调整集,基于所述调整集针对所述预先构建的深度高斯过程模型中的模型参数进行调整,得到调整后的深度高斯过程模型,包括:
将所述第二配置方案集合作为调整集,获取所述调整集在目标计算平台上运行得到的实际部署性能集合;
利用最大后验估计算法,基于所述调整集以及所述实际部署性能集合针对所述预先构建的深度高斯过程模型中的模型参数进行调整,得到所述调整后的深度高斯过程模型。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据卷积类型、卷积核尺寸、填充值、卷积步长对所述目标神经网络进行分类得到多种算子类型。
6.根据权利要求1所述的方法,其特征在于,所述寻优算法包括模拟退火算法。
7.根据权利要求1所述的方法,其特征在于,所述通过寻优算法从所述第一配置方案集合中搜索得到最优部署配置方案,包括:
当早停步达到预设步数时停止搜索,得到所述最优部署配置方案;
或者,
当搜索方案达到预设方案数目时停止搜索,得到所述最优部署配置方案。
8.一种深度神经网络部署装置,其特征在于,所述装置包括:
目标神经网络获取模块,用于获取目标神经网络;所述目标神经网络中包含多个算子;
第一配置方案集合获取模块,用于针对各个所述算子,随机采样得到与所述算子对应的多组部署配置方案,作为第一配置方案集合;
第一部署性能集合预测模块,用于将所述第一配置方案集合中的各组部署配置方案输入与算子类型对应的预先构建的深度高斯过程模型中进行预测,得到第一部署性能集合;所述第一部署性能集合中的各组部署性能与所述第一配置方案集合中的各组部署配置方案一一对应;
第二配置方案集合获取模块,用于从所述第一部署性能集合中选取满足第一预设条件的性能数据,得到第二部署性能集合,并得到与所述第二部署性能集合对应的第二配置方案集合;
模型调整模块,用于将所述第二配置方案集合作为调整集,基于所述调整集针对所述预先构建的深度高斯过程模型中的模型参数进行调整,得到调整后的深度高斯过程模型;
最优部署配置方案搜索模块,用于通过寻优算法从所述第一配置方案集合中搜索得到最优部署配置方案;所述最优部署配置方案为使得所述调整后的深度高斯过程模型输出的部署性能满足第二预设条件的部署配置方案。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111046663.3A CN113485848B (zh) | 2021-09-08 | 2021-09-08 | 深度神经网络部署方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111046663.3A CN113485848B (zh) | 2021-09-08 | 2021-09-08 | 深度神经网络部署方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113485848A true CN113485848A (zh) | 2021-10-08 |
CN113485848B CN113485848B (zh) | 2021-12-17 |
Family
ID=77947353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111046663.3A Active CN113485848B (zh) | 2021-09-08 | 2021-09-08 | 深度神经网络部署方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113485848B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116306856A (zh) * | 2023-05-17 | 2023-06-23 | 之江实验室 | 一种基于搜索的深度学习模型部署方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150242180A1 (en) * | 2014-02-21 | 2015-08-27 | Adobe Systems Incorporated | Non-negative Matrix Factorization Regularized by Recurrent Neural Networks for Audio Processing |
CN109902722A (zh) * | 2019-01-28 | 2019-06-18 | 北京奇艺世纪科技有限公司 | 分类器、神经网络模型训练方法、数据处理设备及介质 |
KR20200103193A (ko) * | 2019-02-15 | 2020-09-02 | 성균관대학교산학협력단 | 심층 구조를 이용한 전력 수요 예측 방법 및 장치 |
CN112418392A (zh) * | 2020-10-21 | 2021-02-26 | 华为技术有限公司 | 一种神经网络构建方法以及装置 |
CN112597356A (zh) * | 2020-12-02 | 2021-04-02 | 京东数字科技控股股份有限公司 | 模型训练方法、个性化数据推荐方法、装置及电子设备 |
US20210209507A1 (en) * | 2020-01-07 | 2021-07-08 | Robert Bosch Gmbh | Processing a model trained based on a loss function |
-
2021
- 2021-09-08 CN CN202111046663.3A patent/CN113485848B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150242180A1 (en) * | 2014-02-21 | 2015-08-27 | Adobe Systems Incorporated | Non-negative Matrix Factorization Regularized by Recurrent Neural Networks for Audio Processing |
CN109902722A (zh) * | 2019-01-28 | 2019-06-18 | 北京奇艺世纪科技有限公司 | 分类器、神经网络模型训练方法、数据处理设备及介质 |
KR20200103193A (ko) * | 2019-02-15 | 2020-09-02 | 성균관대학교산학협력단 | 심층 구조를 이용한 전력 수요 예측 방법 및 장치 |
US20210209507A1 (en) * | 2020-01-07 | 2021-07-08 | Robert Bosch Gmbh | Processing a model trained based on a loss function |
CN112418392A (zh) * | 2020-10-21 | 2021-02-26 | 华为技术有限公司 | 一种神经网络构建方法以及装置 |
CN112597356A (zh) * | 2020-12-02 | 2021-04-02 | 京东数字科技控股股份有限公司 | 模型训练方法、个性化数据推荐方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
朱涵,: "多视图深度高斯过程回归模型及其快速训练方法", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑(月刊)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116306856A (zh) * | 2023-05-17 | 2023-06-23 | 之江实验室 | 一种基于搜索的深度学习模型部署方法及装置 |
CN116306856B (zh) * | 2023-05-17 | 2023-09-05 | 之江实验室 | 一种基于搜索的深度学习模型部署方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113485848B (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102611938B1 (ko) | 신경망을 사용한 통합 회로 플로어 플랜 생성 | |
US11651259B2 (en) | Neural architecture search for convolutional neural networks | |
Chitty-Venkata et al. | Neural architecture search survey: A hardware perspective | |
Bateni et al. | Predjoule: A timing-predictable energy optimization framework for deep neural networks | |
Gutiérrez et al. | GPU-SME-kNN: Scalable and memory efficient kNN and lazy learning using GPUs | |
CN111126668A (zh) | 基于图卷积网络的Spark作业时间预测方法和装置 | |
CN112101525A (zh) | 一种通过nas设计神经网络的方法、装置和系统 | |
CN113723589A (zh) | 混合精度神经网络 | |
CN111837141A (zh) | 信息处理装置、信息处理方法以及存储介质 | |
CN113485848B (zh) | 深度神经网络部署方法、装置、计算机设备和存储介质 | |
KR101886317B1 (ko) | 가상 머신 배치 선택 장치 및 방법 | |
CN113158435B (zh) | 基于集成学习的复杂系统仿真运行时间预测方法与设备 | |
CN112990461B (zh) | 构建神经网络模型的方法、装置、计算机设备和存储介质 | |
CN114626552A (zh) | 机器学习模型的切分方法和装置 | |
CN111832693A (zh) | 神经网络层运算、模型训练方法、装置及设备 | |
CN113283575A (zh) | 用于重构人工神经网络的处理器及其操作方法、电气设备 | |
CN104156268B (zh) | 一种GPU上MapReduce的负载分配和线程结构优化方法 | |
CN115237097A (zh) | 自动驾驶仿真测试方法、装置、计算机设备和存储介质 | |
CN103678545A (zh) | 进行网络资源聚类的方法及装置 | |
US20220068126A1 (en) | Distributed processing support apparatus, distributed processing support method, and program | |
Sankaran et al. | Performance comparison for scientific computations on the edge via relative performance | |
CN115146596B (zh) | 召回文本的生成方法、装置、电子设备及存储介质 | |
CN114826951B (zh) | 服务自动降级方法、装置、计算机设备和存储介质 | |
CN113743448B (zh) | 模型训练数据获取方法、模型训练方法和装置 | |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Sun Qi Inventor after: Shen Xiaoyong Inventor after: Lv Jiangbo Inventor before: Sun Qi Inventor before: Yu Bei Inventor before: Shen Xiaoyong Inventor before: Lv Jiangbo Inventor before: Jia Jiaya |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |