CN110309914A - 基于边缘服务器与移动端设备协同的深度学习模型推理加速方法 - Google Patents
基于边缘服务器与移动端设备协同的深度学习模型推理加速方法 Download PDFInfo
- Publication number
- CN110309914A CN110309914A CN201910592713.4A CN201910592713A CN110309914A CN 110309914 A CN110309914 A CN 110309914A CN 201910592713 A CN201910592713 A CN 201910592713A CN 110309914 A CN110309914 A CN 110309914A
- Authority
- CN
- China
- Prior art keywords
- deep learning
- layer
- learning model
- time delay
- point
- 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.)
- Pending
Links
- 238000013136 deep learning model Methods 0.000 title claims abstract description 102
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012549 training Methods 0.000 claims abstract description 34
- 230000011218 segmentation Effects 0.000 claims abstract description 9
- 238000013135 deep learning Methods 0.000 claims description 25
- 238000005457 optimization Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 238000001228 spectrum Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 4
- 238000012886 linear function Methods 0.000 claims description 4
- 238000005259 measurement Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000001133 acceleration Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000000571 coke Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
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)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种基于边缘服务器与移动端设备协同的深度学习模型推理加速方法,提出结合模型分割与模型精简,通过训练与使用回归模型准确地估算深度学习模型的网络层在边缘服务器以及在移动端设备的运行时延,以此搜索出符合时延需求的退出点以及分割点,相较于传统的基于云数据中心的方法和直接在设备部署的方法,本方法不仅能实现在移动端设备上的深度学习模型高效与低时延推理,同时能够针对时延与准确率之间的权衡给出一个满足时延需求的深度学习模型推理方案。
Description
技术领域
本发明涉及深度学习、边缘计算以及分布式计算技术领域,具体涉及一种基于边缘服务器与移动端设备协同的深度学习模型推理加速方法。
背景技术
作为机器学习中的核心技术,深度学习模型已迅速成为学术界与工业界关注的焦点。深度学习模型在计算机视觉、自然语言处理和语音识别等领域取得了广泛的应用。用于计算机视觉的深度学习模型由一系列内部连接的深度学习模型网络层组成,输入数据经由深度学习模型网络层处理后得到输出的过程为深度学习模型推理。深度学习模型的网络层数目通常高达几十层,参数量更是达到百万级,因此深度学习模型是计算密集型的。当前,在移动端设备实现深度学习模型推理的方法有两种方法:一是将深度学习模型部署到云端数据中心,移动端设备将输入数据发送至云端数据中心,云端推理完成后将结果发回移动设备,然而,利用基于云数据中心的推理方式,大量的数据(如,图像和视频数据)通过长广域网数据传输到远端云数据中心,这造成了移动设备上大的端到端时延与能量消耗,并且由于长广域网带来的延迟,基于云端数据中心的深度学习模型推理方式其性能受带宽波动影响非常大,不能提供一个稳定的性能表现;二是将深度学习模型直接部署到移动端设备,但由于深度学习模型通常需要巨大的计算与存储开销,移动端设备不能提供一个良好的性能表现。
为解决上述深度学习模型推理方式带来的问题,一个更好的方式是结合新兴的边缘计算范式,通过将云数据中心的计算能力下沉至邻近设备的网络边缘(如,基站,Wi-Fi接入点等),通过边缘服务器与移动端设备协作,实现低时延与高效能耗的深度学习模型推理。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于边缘服务器与移动端设备协同的深度学习模型推理加速方法,该方法通过边缘服务器与移动端设备协同的方式,结合模型分割与模型精简的方法,加速深度学习模型推理,实现在移动端设备上的深度学习模型高效与低时延推理。
本发明的目的可以通过采取如下技术方案达到:
一种基于边缘服务器与移动端设备协同的深度学习模型推理加速方法,所述加速方法包括下列步骤:
S1、离线训练。具体包括以下两个操作:
(1)分析边缘服务器与移动端设备性能,针对不同类型的深度学习模型网络层,训练生成用以估算不同深度学习模型网络层执行时延的回归模型。在估算网络层的运行时延时,对每层网络层进行建模而不是对整个深度学习模型进行建模,不同网络层的时延是由各自的自变量决定,基于每层的自变量,可以建立回归模型估算每层网络层的时延,具体在本发明中,回归模型为一元一次方程和二元一次方程;
(2)构建具有多个退出点的深度学习模型,BranchyNet是一个可以帮助对已训练好的深度学习模型进行修改的框架,基于BranchyNet框架,使用卷积层、全连接层、Relu层、池化层、LRN层和Dropout层为已存在的深度学习模型增加新的分支,构建具有多个退出点的深度学习模型。需要注意的是,性能分析取决于设备,而深度学习模型是取决于应用的,因此在给定设备的情况下即限定边缘服务器与终端设备,以上两个初始化操作在离线训练步骤只需要完成一次。
S2、在线优化。在这个步骤,主要工作是利用离线训练步骤下得到的用以估算深度学习模型网络层执行时延的回归模型,在离线训练步骤得到具有多个退出点的深度学习模型中找出符合时延需求的退出点以及深度学习模型分割点,因需要最大化深度学习模型推理的准确率,因此在在线优化的步骤中是通过循环的方式,从最高准确率的退出点开始,循环寻找出符合需求的退出点和分割点。由于模型分割不影响模型推理精度,可以使用回归模型依次估算不同退出点下(即,准确率不同)符合时延需求的模型分割点,找到准确率最大且满足时延要求的模型精简退出点以及在该退出点下的模型分割点。在这个过程中,实时测量当前移动终端与边缘服务器之间链路的网络带宽,以便于估算移动终端与边缘服务器间的数据传输时延。在遍历完所有的退出点与分割点后,输出满足时延需求的所有深度学习模型退出点与分割点组合中具有最大准确率的一个组合。
S3、协同推理。根据在线优化步骤所输出的最优深度学习模型退出点i与分割点p,边缘服务器与移动终端对深度学习模型进行协同推理。
进一步地,对于深度学习网络层中的卷积层,用以估算卷积层执行时延的回归模型为二元一次函数,其自变量为输入的特征谱数量以及卷积核计算量,公式如下:
fconv=k1*c+k2*v+b1 (1)
在公式(1)中,fconv为卷积层的估算时延,c为卷积层输入的特征谱数量,v为卷积核计算量,具体通过输入卷积核大小f、卷积核步长s和卷积核数量num到公式(2)计算得到,k1、k2和b1是通过训练得到的系数;
对于深度学习网络层中的全连接层,用以估算全连接层执行时延的回归模型为二元一次函数,公式如下:
ffc=k3*in+k4*ot+b2 (3)
在公式(3)中,ffc为全连接层的估算时延,其自变量为输入数据大小in以及输出数据大小ot,k3、k4和b2是通过训练得到的系数;
对于深度学习网络层中的Relu层,用以估算Relu层执行时延的回归模型为一元一次函数,公式如下:
frelu=k5*in+b3 (4)
在公式(4)中,frelu为Relu层的估算时延,其自变量为输入数据大小in,k5和b3是通过训练得到的系数;
对于深度学习网络层中的池化层,用以估算池化层执行时延的回归模型为二元一次函数,公式如下:
fpool=k6*in+k7*ot+b4 (5)
在公式(5)中,fpool为池化层的估算时延,其自变量为输入数据大小in以及输出数据大小ot,k6、k7和b4是通过训练得到的系数;
对于深度学习网络层中的LRN层,用以估算LRN层执行时延的回归模型为一元一次函数,公式如下:
flrn=k8*in+b5 (6)
在公式(6)中,flrn为LRN层的估算时延,其自变量为输入数据大小in,k8和b5是通过训练得到的系数;
对于深度学习网络层中的Dropout层,用以估算Dropout层执行时延的回归模型为一元一次函数,公式如下:
fdrop=k9*in+b6 (7)
在公式(7)中,fdrop为Dropout层的估算时延,其自变量为输入数据大小in,k9和b9是通过训练得到的系数。
对于具有多退出点的深度学习模型,基于BranchyNet结构,可以使用卷积层、全连接层、Relu层、池化层、LRN层和Dropout层为已存在的深度学习模型增加新的分支,构建出具有多个退出点的深度学习模型,具体来说,对于一个具有M层深度学习网络层的模型,除了深度学习模型网络层中的最后一层外,可以选择其中M-1个网络层作为新的退出点,并通过在这M-1个退出点分别添加多个网络层从而对这M-1个网络层的结果进行处理和输出,最终使得原深度学习模型具有M个退出点。在第i,i=1,2,…,M个退出点中具有Ni个深度学习网络层。
进一步地,所述的在线优化步骤中,搜索满足时延需求的退出点和分割点的过程如下:
S21、对步骤S1得到的具有M个退出点的深度学习模型,第i,i=1,2,…,M个退出点共拥有Ni个网络层。对于退出点,i的值越大,表示其对应的退出点越长,体积越大并且推理准确率越高。使用回归模型来估算第j,j=1,2,…,Ni层网络层在移动设备上的执行时延EDj和在边缘服务器上执行的时延ESj。Dp表示第p层的输出大小,继而根据当前可用带宽B与时延需求T,通过累加的方式计算在当前退出点中的最小估算时延Ai,p。首先选择第i个退出点,然后,根据公式(8),通过步骤S1得到的回归模型估算出第i个退出点中第p层作为分割点时的运行时延Ai,p,其中Ai,p表示第i个退出点中估算出来的最小时延,其分割点为第p层。Input为输入数据大小。
S22、判断Ai,p是否满足时延需求T,若满足则将退出点i以及分割点p最为结果返回,若不满足则重复步骤S21,到退出点i+1继续估算直到所有的退出点都被检索过。
本发明相对于现有技术具有如下的优点及效果:
本发明提出通过结合模型分割与模型精简两种方法对深度学习模型推理进行加速,解决如何在移动设备端部署深度学习模型的问题。具体实现是结合模型分割与模型精简方法,通过训练与使用回归模型准确地估算深度学习模型的网络层在边缘服务器以及在移动端设备的运行时延,以此搜索出符合时延需求的退出点以及分割点,相较于传统的基于云数据中心的方法和直接在设备部署的方法,本方法不仅能有效缩短深度学习模型推理时延,同时能够针对时延与准确率之间的权衡给出一个满足时延需求的模型。
附图说明
图1是本发明实施例中边缘服务器与终端设备协同推理示例图;
图2是本发明实施例中具有5个退出点的深度学习模型示例图;
图3是本发明实施例中基于边缘服务器与移动端设备协同的深度学习模型推理加速方法的流程步骤图;
图4是本发明实施例中基于边缘与终端协同的深度学习模型推理加速框架Edgent示例图;
图5是本发明实施例中不同带宽下的退出点与分割点的结果图;
图6是本发明实施例中不同带宽下的时延结果图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例公开了一种基于边缘服务器与移动设备协同的深度学习模型推理加速方法,该方法是通过模型分割与模型精简结合的方式实现加速深度学习模型推理。下面将介绍模型分割与模型精简,最后展示实际运行中该深度学习模型推理加速方法的执行步骤。
(1)模型分割
对于当前常见的深度学习模型,例如卷积神经网络,是由多层神经网络层相互叠加而成的,包括卷积层,池化层,全连接层等。由于需要消耗大量的计算资源,直接将一个神经网络模型运行在资源受限的终端设备是非常困难的,但因为不同的神经网络层的计算资源需求以及输出数据量的大小都具有显著的差异性,那么一个直观的想法是将整个深度学习模型即神经网络切分成两个部分,其中计算量大的一部分卸载到边缘端服务器进行计算,而计算量小的一部分则保留在移动端设备本地计算,如图1所示。显然,这种移动端设备与边缘服务器协同推断的方式能够有效降低深度学习模型的推断时延,选择不同的深度学习模型分割点将导致不同的深度学习模型推理时延,那么需要选择最佳的深度学习模型分割点,从而最大化发挥出终端设备与边缘服务器协同的优势。
(2)模型精简
除了对深度学习模型进行切分,加速深度学习模型推断的另一手段为模型精简,即选择计算资源需求不高而完成时间更快的“小模型”,而非选择资源开销更大的“大模型”,如图2所示。对于任意深度学习任务,可以离线训练具有多个退出点的深度学习模型,在具有多个退出点的深度学习模型中,退出点越靠后,模型越“大”,准确率更高但相应地其推断时延也更长。因此,当深度学习模型推理的完成时间非常紧迫时,可以选择适当牺牲模型的准确率来换取更优的性能表现(即时延)。显然,深度学习模型精简会带来时延与准确率之间的权衡问题,虽然通过提前退出模型方法实现了模型精简、缩短了计算时间,但由于计算量的减少它也会降低深度学习模型推断的准确率。考虑到某些应用程序,如VR/AR游戏,在容忍一定的准确率损失下具有严格的时延需求。因此,需要谨慎权衡性能与精度之间的折衷关系。特别是,考虑到预先设定的严格的时延目标,要在不违背时延需求的前提下最大化分割方案的准确率。
本实施例公开的基于边缘服务器与移动端设备协同的深度学习模型推理加速方法执行流程如图3所示。
框架的输入为深度学习模型的模型信息(如模型的退出点个数,网络层数,各个网络层信息等)、边缘服务器与移动端设备间的带宽B以及时延需求T。对于一个带有多退出点的深度学习模型,通过遍历的方式查找符合时延需求的退出点及其分割点。首先选择第i个退出点,然后通过训练和使用相应的回归模型估算出第i个退出点中第p层作为分割点时的运行时延Ai,p,其中Ai,p表示第i个退出点中估算出来的最小时延其模型切分点为第p层,判断Ai,p是否满足时延需求T,若满足则将退出点i以及分割点p最为结果返回,若不满足则到i+1层继续估算直到所有的退出点都被检索过。
综合运用上述模型分割和模型精简等两种调节深度学习模型推断时间的优化手段,并权衡由此引发的性能与精度之间的折衷关系,本实施例研究的问题是:对于给定时延需求的深度学习任务,如何联合优化模型分割和模型精简这两个决策,从而使得在不违反时延需求的同时最大化深度学习模型的精确度。针对上述问题,本实施例提出一种基于边缘服务器与移动端设备协同的深度学习模型推理加速方法。如图4所示,该加速方法优化逻辑分为三个步骤:离线训练,在线优化以及协同推理。
上述基于边缘服务器与移动端设备协同的深度学习模型推断框架思路为:在离线训练步骤,训练具有多个退出点的深度学习模型,同时针对该深度学习模型中的不同网络层训练回归模型,用以估算网络层在边缘服务器与在移动端设备上的运行时延;在在线优化步骤,回归模型将被用于寻找出符合任务时延需求的退出点以及模型切分点;在协同推理阶段,边缘服务器和终端设备将按照得出的执行方案运行深度学习模型。
具体来说,包括以下步骤:
S1、离线训练。具体包括以下两个操作:
(1)分析边缘服务器与移动端设备性能,针对不同类型的深度学习模型网络层,即卷积层、全连接层、池化层、Relu层、LRN层和Dropout层,训练生成用以估算不同深度学习模型网络层执行时延的回归模型。在估算网络层的运行时延时,对每层网络层进行建模而不是对整个深度学习模型进行建模,不同网络层的时延是由各自的自变量(如输入数据的大小,输出数据的大小)决定,基于每层的自变量,可以建立回归模型估算每层网络层的时延,具体在本实施例中,回归模型为一元一次方程和二元一次方程,在本实施例中,
对于卷积层:
在边缘服务端的回归模型为fconv=6.03*10-4*c+1.24*10-4*v+1.89*10-1
在移动设备的回归模型为fconv=6.13*10-3*c+2.67*10-2*v-9.909;
其中,c为卷积层输入的特征谱数量,v为卷积核计算量,输入数据大小in为自变量;
对于全连接层:
在边缘服务端的回归模型为ffc=1.07*10-4*in-1.83*10-4*ot+0.164
在移动设备的回归模型为ffc=9.18*10-4*in+3.99*10-3*ot+1.169;
对于池化层:
在边缘服务端的回归模型为fpool=1.63*10-5*in+4.07*10-6*ot+2.11*10-1
在移动设备的回归模型为fpool=1.33*10-4*in+3.31*10-5*ot+1.657;
对于Relu层:
在边缘服务端的回归模型为frelu=5.6*10-6*in+5.69*10-2
在移动设备的回归模型为frelu=1.5*10-5*in+4.88*10-1;
对于LRN层:
在边缘服务端的回归模型为flrn=6.59*10-5*in+7.80*10-2
在移动设备的回归模型为flrn=5.19*10-4*in+5.89*10-1;
对于Dropout层:
在边缘服务端的回归模型为fdrop=5.23*10-6*in+4.64*10-3
在移动设备的回归模型为fdrop=2.34*10-6*in+0.0525;
(2)使用卷积层、全连接层、池化层、Relu层、LRN层和Dropout层训练具有多个退出点的深度学习模型,基于BranchyNet框架,构建出具有多个退出点的深度学习模型。
具体在本实施例中,原深度学习模型为典型的AlexNet深度学习模型,该模型主要由5层卷积层和3层全连接层组成,共22层网络层。在本实施例中,选择第一个卷积层、第二个卷积层、第三个卷积层和第四个卷积层作为新的退出点,经过增加4个新的退出点的修改后,新的深度学习模型具有5个退出点,如图2所示,具体修改结构如下:
第一个退出点,新增网络层为:Relu层b1_relu1,池化层b1_pool1,LRN层b1_lrn1,卷积层b1_conv1,Relu层b1_relu2,池化层b1_pool2,LRN层b1_lrn2,卷积层b1_conv2,Relu层b1_relu3,池化层b1_pool3,全连接层b1_fc1。
第二个退出点,新增网络层为:Relu层b2_relu1,池化层b2_pool1,LRN层b2_lrn1,卷积层b2_conv1,Relu层b2_relu2,池化层b2_pool2,LRN层b2_lrn2,卷积层b2_conv2,Relu层b2_relu3,池化层b2_pool3,全连接层b2_fc1。
第三个退出点,新增网络层为:Relu层b3_relu1,池化层b3_pool1,LRN层b3_lrn1,卷积层b3_conv1,Relu层b3_relu2,池化层b3_pool2,LRN层b3_lrn2,卷积层b3_conv2,Relu层b3_relu3,全连接层b3_fc1。
第四个退出点,新增网络层为:Relu层b4_relu1,池化层b4_pool1,LRN层b4_lrn1,卷积层b4_conv1,Relu层b4_relu2,池化层b4_pool2,LRN层b4_lrn2,全连接层b4_fc1,全连接层b4_fc2。
S2、在线优化。在这个步骤,主要工作是利用离线训练步骤下得到的用以估算深度学习模型网络层执行时延的回归模型,在离线训练步骤得到具有多个退出点的深度学习模型中找出符合时延需求的退出点以及深度学习模型分割点,因需要最大化深度学习模型推理的准确率,因此在在线优化的步骤中是通过迭代的方式,从最高准确率的退出点即第五个退出点开始,迭代寻找出符合需求的退出点和分割点。在这个过程中,实时测量当前移动终端与边缘服务器之间链路的网络带宽,以便于估算移动终端与边缘服务器间的数据传输时延。紧接着,沿着尺寸从大到小的网络分支即从高准确率退出点到低准确率退出点(如图2中从右至左的5个退出点),依次遍历每个退出点上不同的分割点,并基于当前网络带宽和不同网络层计算所选深度学习模型退出点与分割点对应的端到端时延。在遍历完所有的退出点与分割点后,输出满足时延需求的所有深度学习模型退出点与分割点组合中具有最大准确率的一个组合。具体来说,搜索满足时延需求的退出点和分割点的过程如下:
S21、对步骤S1得到的具有5个退出点的深度学习模型,设第i个退出点共拥有Ni层网络层。我们使用步骤S1得到的回归模型来估算第j层网络层在移动设备上的执行时延EDj和在边缘服务器上执行的时延ESj。Dp表示第p层的输出大小,继而根据当前可用带宽B与时延需求T,我们通过累加的方式计算在当前退出点中的最小估算时延Ai,p。首先选择第i个退出点,然后,根据公式(1),通过步骤S1得到的回归模型估算出第i个退出点中第p层作为分割点时的运行时延Ai,p,其中Ai,p表示第i个退出点中估算出来的最小时延,其分割点为第p层。Input为输入数据大小。
S22、判断Ai,p是否满足时延需求T,若满足则将退出点i以及分割点p最为结果返回,若不满足则重复步骤S21,到i+1退出点继续估算直到所有的退出点都被检索过。
S3、协同推理。根据在线优化步骤所输出的最优深度学习模型退出点与分割点组合,边缘服务器与移动终端对深度学习模型进行协同推理。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.一种基于边缘服务器与移动端设备协同的深度学习模型推理加速方法,其特征在于,所述的深度学习模型推理加速方法包括:
S1、离线训练步骤,训练具有多个退出点的深度学习模型,同时针对该深度学习模型中的不同网络层训练回归模型,用以估算网络层在边缘服务器与在移动端设备上的运行时延;
S2、在线优化步骤,利用回归模型寻找出符合任务时延需求的退出点以及模型切分点;
S3、协同推理步骤,边缘服务器和终端设备将按照得出的执行方案运行深度学习模型。
2.根据权利要求1所述的基于边缘服务器与移动端设备协同的深度学习模型推理加速方法,其特征在于,所述的离线训练步骤包括:
分析边缘服务器与移动端设备性能,针对不同类型的深度学习模型网络层,所述的网络层包括卷积层、全连接层、池化层、Relu层、LRN层和Dropout层,训练生成用以估算不同深度学习模型网络层执行时延的回归模型;然后,基于每层网络层的自变量对每层网络层进行建模,建立回归模型对每层网络层的运行时延进行估算,不同网络层的时延是由各自的自变量决定,所述的自变量包括输入数据的大小和输出数据的大小;
使用卷积层、全连接层、池化层、Relu层、LRN层和Dropout层训练具有多个退出点的深度学习模型,基于BranchyNet框架,构建出具有多个退出点的深度学习模型。
3.根据权利要求1所述的基于边缘服务器与移动端设备协同的深度学习模型推理加速方法,其特征在于,所述的在线优化步骤包括:
通过迭代的方式,从最高准确率的退出点开始,迭代寻找出符合需求的退出点和分割点,在迭代寻找过程中,实时测量当前移动终端与边缘服务器之间链路的网络带宽,以便于估算移动终端与边缘服务器间的数据传输时延;紧接着,沿着尺寸从大到小的网络分支即从高准确率退出点到低准确率退出点,依次遍历每个退出点上不同的分割点,并基于当前网络带宽和不同网络层使用回归模型计算所选深度学习模型退出点与分割点对应的端到端时延;在遍历完所有的退出点与分割点后,输出满足时延需求的所有深度学习模型退出点与分割点组合中具有最大准确率的一个组合。
4.根据权利要求1所述的基于边缘服务器与移动端设备协同的深度学习模型推理加速方法,其特征在于,
对于深度学习网络层中的卷积层,用以估算卷积层执行时延的回归模型为二元一次函数,其自变量为输入的特征谱数量以及卷积核计算量,公式如下:
fconv=k1*c+k2*v+b1 (1)
在公式(1)中,fconv为卷积层的估算时延,c为卷积层输入的特征谱数量,v为卷积核计算量,具体通过输入卷积核大小f、卷积核步长s和卷积核数量num到公式(2)计算得到,k1、k2和b1是通过训练得到的系数;
对于深度学习网络层中的全连接层,用以估算全连接层执行时延的回归模型为二元一次函数,公式如下:
ffc=k3*in+k4*ot+b2 (3)
在公式(3)中,ffc为全连接层的估算时延,其自变量为输入数据大小in以及输出数据大小ot,k3、k4和b2是通过训练得到的系数;
对于深度学习网络层中的Relu层,用以估算Relu层执行时延的回归模型为一元一次函数,公式如下:
frelu=k5*in+b3 (4)
在公式(4)中,frelu为Relu层的估算时延,其自变量为输入数据大小in,k5和b3是通过训练得到的系数;
对于深度学习网络层中的池化层,用以估算池化层执行时延的回归模型为二元一次函数,公式如下:
fpool=k6*in+k7*ot+b4 (5)
在公式(5)中,fpool为池化层的估算时延,其自变量为输入数据大小in以及输出数据大小ot,k6、k7和b4是通过训练得到的系数;
对于深度学习网络层中的LRN层,用以估算LRN层执行时延的回归模型为一元一次函数,公式如下:
flrn=k8*in+b5 (6)
在公式(6)中,flrn为LRN层的估算时延,其自变量为输入数据大小in,k8和b5是通过训练得到的系数;
对于深度学习网络层中的Dropout层,用以估算Dropout层执行时延的回归模型为一元一次函数,公式如下:
fdrop=k9*in+b6 (7)
在公式(7)中,fdrop为Dropout层的估算时延,其自变量为输入数据大小in,k9和b9是通过训练得到的系数。
5.根据权利要求2所述的基于边缘服务器与移动端设备协同的深度学习模型推理加速方法,其特征在于,所述的基于BranchyNet框架,构建出具有多个退出点的深度学习模型具体如下:
对于一个具有M层深度学习网络层的模型,除了深度学习模型网络层中的最后一层外,选择其中M-1个网络层作为新的退出点,并通过在这M-1个退出点分别添加多个网络层从而对这M-1个网络层的结果进行处理和输出,最终使得原深度学习模型具有M个退出点,并且在第i,i=1,2,...,M个退出点中具有Ni个深度学习网络层。
6.根据权利要求3所述的基于边缘服务器与移动端设备协同的深度学习模型推理加速方法,其特征在于,所述的在线优化步骤中,搜索满足时延需求的退出点和分割点的过程如下:
S21、对具有M个退出点的深度学习模型,第i,i=1,2,...,M个退出点共拥有Ni个网络层,使用回归模型来估算第j,j=1,2,...,Ni层网络层在移动设备上的执行时延EDj和在边缘服务器上执行的时延ESj,Dp表示第p层的输出大小,继而根据当前可用带宽B与时延需求T,通过累加的方式计算在当前退出点中的最小估算时延Ai,p,首先选择第i个退出点,然后,根据公式(8),如下:
通过步骤S1得到的回归模型估算出第i个退出点中第p层作为分割点时的运行时延Ai,p,其中Ai,p表示第i个退出点中估算出来的最小时延,其分割点为第p层,Input为输入数据大小;
S22、判断Ai,p是否满足时延需求T,若满足则将退出点i以及分割点p最为结果返回,若不满足则重复步骤S21,到退出点i+1继续估算直到所有的退出点都被检索过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910592713.4A CN110309914A (zh) | 2019-07-03 | 2019-07-03 | 基于边缘服务器与移动端设备协同的深度学习模型推理加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910592713.4A CN110309914A (zh) | 2019-07-03 | 2019-07-03 | 基于边缘服务器与移动端设备协同的深度学习模型推理加速方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110309914A true CN110309914A (zh) | 2019-10-08 |
Family
ID=68078328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910592713.4A Pending CN110309914A (zh) | 2019-07-03 | 2019-07-03 | 基于边缘服务器与移动端设备协同的深度学习模型推理加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309914A (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111091182A (zh) * | 2019-12-16 | 2020-05-01 | 北京澎思科技有限公司 | 数据处理方法、电子设备及存储介质 |
CN111242282A (zh) * | 2020-01-09 | 2020-06-05 | 中山大学 | 基于端边云协同的深度学习模型训练加速方法 |
CN111312368A (zh) * | 2020-01-20 | 2020-06-19 | 广西师范大学 | 一种基于边缘计算的加速医学图像处理速度的方法 |
CN111459670A (zh) * | 2020-03-30 | 2020-07-28 | 中科边缘智慧信息科技(苏州)有限公司 | 一种在边缘计算不同层次进行协同处理的方法 |
CN111522657A (zh) * | 2020-04-14 | 2020-08-11 | 北京航空航天大学 | 一种分散设备协同深度学习推理方法 |
CN111625361A (zh) * | 2020-05-26 | 2020-09-04 | 华东师范大学 | 一种基于云端服务器和IoT设备协同的联合学习框架 |
CN111953751A (zh) * | 2020-07-30 | 2020-11-17 | 国网河南省电力公司信息通信公司 | 一种物联网场景下的dnn划分方法及装置 |
CN112085195A (zh) * | 2020-09-04 | 2020-12-15 | 西北工业大学 | 一种基于x-admm的深度学习模型环境自适应方法 |
CN112085758A (zh) * | 2020-09-04 | 2020-12-15 | 西北工业大学 | 一种边端融合的终端情境自适应模型分割方法 |
CN113067873A (zh) * | 2021-03-19 | 2021-07-02 | 北京邮电大学 | 基于深度强化学习的边云协同优化方法 |
CN113438707A (zh) * | 2020-03-23 | 2021-09-24 | 诺基亚通信公司 | 用于在双连接或多连接配置中路由数据的装置、方法和计算机程序 |
CN114254751A (zh) * | 2020-09-21 | 2022-03-29 | 华为技术有限公司 | 协同推理方法及通信装置 |
CN114401063A (zh) * | 2022-01-10 | 2022-04-26 | 中国人民解放军国防科技大学 | 基于轻量化模型的边缘设备协同频谱智能监测方法和系统 |
CN115906941A (zh) * | 2022-11-16 | 2023-04-04 | 中国烟草总公司湖南省公司 | 神经网络自适应退出方法、装置、设备及可读存储介质 |
WO2023197687A1 (zh) * | 2022-04-13 | 2023-10-19 | 西安广和通无线通信有限公司 | 数据协作处理方法、系统、装置、设备及存储介质 |
CN117032832A (zh) * | 2023-08-25 | 2023-11-10 | 重庆邮电大学 | 一种基于移动边缘计算的最小化任务调用成本卸载方法 |
WO2023216862A1 (zh) * | 2022-05-10 | 2023-11-16 | 中国移动通信有限公司研究院 | 一种模型训练或推理方法、装置及通信设备 |
CN117114113A (zh) * | 2023-10-24 | 2023-11-24 | 南京邮电大学 | 一种基于排队论的协同推理加速方法 |
WO2024032121A1 (zh) * | 2022-08-11 | 2024-02-15 | 南京邮电大学 | 一种基于云边端协同的深度学习模型推理加速方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156715A (zh) * | 2014-09-01 | 2014-11-19 | 杭州朗和科技有限公司 | 一种终端设备、信息采集方法及装置 |
CN107766889A (zh) * | 2017-10-26 | 2018-03-06 | 济南浪潮高新科技投资发展有限公司 | 一种云端边缘计算融合的深度学习计算系统和方法 |
CN107784324A (zh) * | 2017-10-17 | 2018-03-09 | 杭州电子科技大学 | 基于深度残差网络的白血细胞多分类识别方法 |
US20180089834A1 (en) * | 2016-09-29 | 2018-03-29 | Magic Leap, Inc. | Neural network for eye image segmentation and image quality estimation |
CN107995628A (zh) * | 2017-12-18 | 2018-05-04 | 北京工业大学 | 一种深度学习的认知无线网络多用户协作频谱感知方法 |
CN108629408A (zh) * | 2018-04-28 | 2018-10-09 | 济南浪潮高新科技投资发展有限公司 | 一种基于fpga的深度学习动态模型剪裁推理系统及方法 |
CN108898078A (zh) * | 2018-06-15 | 2018-11-27 | 上海理工大学 | 一种多尺度反卷积神经网络的交通标志实时检测识别方法 |
CN109559298A (zh) * | 2018-11-14 | 2019-04-02 | 电子科技大学中山学院 | 一种基于深度学习的乳液泵缺陷检测的方法 |
CN109961097A (zh) * | 2019-03-20 | 2019-07-02 | 西北大学 | 一种嵌入式场景下基于边缘计算的图像分类调度方法 |
-
2019
- 2019-07-03 CN CN201910592713.4A patent/CN110309914A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156715A (zh) * | 2014-09-01 | 2014-11-19 | 杭州朗和科技有限公司 | 一种终端设备、信息采集方法及装置 |
US20180089834A1 (en) * | 2016-09-29 | 2018-03-29 | Magic Leap, Inc. | Neural network for eye image segmentation and image quality estimation |
CN107784324A (zh) * | 2017-10-17 | 2018-03-09 | 杭州电子科技大学 | 基于深度残差网络的白血细胞多分类识别方法 |
CN107766889A (zh) * | 2017-10-26 | 2018-03-06 | 济南浪潮高新科技投资发展有限公司 | 一种云端边缘计算融合的深度学习计算系统和方法 |
CN107995628A (zh) * | 2017-12-18 | 2018-05-04 | 北京工业大学 | 一种深度学习的认知无线网络多用户协作频谱感知方法 |
CN108629408A (zh) * | 2018-04-28 | 2018-10-09 | 济南浪潮高新科技投资发展有限公司 | 一种基于fpga的深度学习动态模型剪裁推理系统及方法 |
CN108898078A (zh) * | 2018-06-15 | 2018-11-27 | 上海理工大学 | 一种多尺度反卷积神经网络的交通标志实时检测识别方法 |
CN109559298A (zh) * | 2018-11-14 | 2019-04-02 | 电子科技大学中山学院 | 一种基于深度学习的乳液泵缺陷检测的方法 |
CN109961097A (zh) * | 2019-03-20 | 2019-07-02 | 西北大学 | 一种嵌入式场景下基于边缘计算的图像分类调度方法 |
Non-Patent Citations (4)
Title |
---|
EN LI ET AL.: "Edge Intelligence:On-Demand Deep Learning Model Co-Inference with Device-Edge Synergy", 《MECOMM’18:PROCEEDINGS OF THE 2018 WORKSHOP ON MOBILE EDGE COMMUNICATION》 * |
周知等: "边缘智能:边缘计算与人工智能融合的新范式", 《大数据》 * |
文元美等: "基于边缘检测的卷积核数量确定方法", 《计算机应用研究》 * |
李恩等: "边缘智能:边缘计算驱动的深度学习加速技术", 《自动化博览》 * |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111091182A (zh) * | 2019-12-16 | 2020-05-01 | 北京澎思科技有限公司 | 数据处理方法、电子设备及存储介质 |
CN111242282A (zh) * | 2020-01-09 | 2020-06-05 | 中山大学 | 基于端边云协同的深度学习模型训练加速方法 |
CN111242282B (zh) * | 2020-01-09 | 2023-03-28 | 中山大学 | 基于端边云协同的深度学习模型训练加速方法 |
CN111312368A (zh) * | 2020-01-20 | 2020-06-19 | 广西师范大学 | 一种基于边缘计算的加速医学图像处理速度的方法 |
CN113438707B (zh) * | 2020-03-23 | 2024-07-02 | 诺基亚通信公司 | 用于在双连接或多连接配置中路由数据的装置、方法和计算机程序 |
CN113438707A (zh) * | 2020-03-23 | 2021-09-24 | 诺基亚通信公司 | 用于在双连接或多连接配置中路由数据的装置、方法和计算机程序 |
CN111459670A (zh) * | 2020-03-30 | 2020-07-28 | 中科边缘智慧信息科技(苏州)有限公司 | 一种在边缘计算不同层次进行协同处理的方法 |
CN111522657B (zh) * | 2020-04-14 | 2022-07-22 | 北京航空航天大学 | 一种分散设备协同深度学习推理方法 |
CN111522657A (zh) * | 2020-04-14 | 2020-08-11 | 北京航空航天大学 | 一种分散设备协同深度学习推理方法 |
CN111625361A (zh) * | 2020-05-26 | 2020-09-04 | 华东师范大学 | 一种基于云端服务器和IoT设备协同的联合学习框架 |
CN111625361B (zh) * | 2020-05-26 | 2022-11-01 | 华东师范大学 | 一种基于云端服务器和IoT设备协同的联合学习框架 |
CN111953751A (zh) * | 2020-07-30 | 2020-11-17 | 国网河南省电力公司信息通信公司 | 一种物联网场景下的dnn划分方法及装置 |
CN112085758A (zh) * | 2020-09-04 | 2020-12-15 | 西北工业大学 | 一种边端融合的终端情境自适应模型分割方法 |
CN112085195A (zh) * | 2020-09-04 | 2020-12-15 | 西北工业大学 | 一种基于x-admm的深度学习模型环境自适应方法 |
EP4202791A4 (en) * | 2020-09-21 | 2024-02-21 | Huawei Technologies Co., Ltd. | COOPERATIVE REASONING METHOD AND COMMUNICATION APPARATUS |
CN114254751A (zh) * | 2020-09-21 | 2022-03-29 | 华为技术有限公司 | 协同推理方法及通信装置 |
CN113067873B (zh) * | 2021-03-19 | 2022-08-30 | 北京邮电大学 | 基于深度强化学习的边云协同优化方法 |
CN113067873A (zh) * | 2021-03-19 | 2021-07-02 | 北京邮电大学 | 基于深度强化学习的边云协同优化方法 |
CN114401063B (zh) * | 2022-01-10 | 2023-10-31 | 中国人民解放军国防科技大学 | 基于轻量化模型的边缘设备协同频谱智能监测方法和系统 |
CN114401063A (zh) * | 2022-01-10 | 2022-04-26 | 中国人民解放军国防科技大学 | 基于轻量化模型的边缘设备协同频谱智能监测方法和系统 |
WO2023197687A1 (zh) * | 2022-04-13 | 2023-10-19 | 西安广和通无线通信有限公司 | 数据协作处理方法、系统、装置、设备及存储介质 |
WO2023216862A1 (zh) * | 2022-05-10 | 2023-11-16 | 中国移动通信有限公司研究院 | 一种模型训练或推理方法、装置及通信设备 |
WO2024032121A1 (zh) * | 2022-08-11 | 2024-02-15 | 南京邮电大学 | 一种基于云边端协同的深度学习模型推理加速方法 |
CN115906941A (zh) * | 2022-11-16 | 2023-04-04 | 中国烟草总公司湖南省公司 | 神经网络自适应退出方法、装置、设备及可读存储介质 |
CN115906941B (zh) * | 2022-11-16 | 2023-10-03 | 中国烟草总公司湖南省公司 | 神经网络自适应退出方法、装置、设备及可读存储介质 |
CN117032832A (zh) * | 2023-08-25 | 2023-11-10 | 重庆邮电大学 | 一种基于移动边缘计算的最小化任务调用成本卸载方法 |
CN117032832B (zh) * | 2023-08-25 | 2024-03-08 | 重庆邮电大学 | 一种基于移动边缘计算的最小化任务调用成本卸载方法 |
CN117114113A (zh) * | 2023-10-24 | 2023-11-24 | 南京邮电大学 | 一种基于排队论的协同推理加速方法 |
CN117114113B (zh) * | 2023-10-24 | 2023-12-29 | 南京邮电大学 | 一种基于排队论的协同推理加速方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309914A (zh) | 基于边缘服务器与移动端设备协同的深度学习模型推理加速方法 | |
JP7234370B2 (ja) | ニューラルネットワークを使用した集積回路フロアプランの生成 | |
CN106776963A (zh) | 轻量化的bim大数据在线可视化方法和系统 | |
CN105224959A (zh) | 排序模型的训练方法和装置 | |
CN111158237B (zh) | 基于神经网络的工业炉炉温多步预测控制方法 | |
JP2021501417A (ja) | ニューラルアーキテクチャ検索 | |
CN111160515B (zh) | 运行时间预测方法、模型搜索方法及系统 | |
CN111445008A (zh) | 一种基于知识蒸馏的神经网络搜索方法及系统 | |
CN105808590A (zh) | 搜索引擎实现方法、搜索方法以及装置 | |
CN108363478B (zh) | 针对可穿戴设备深度学习应用模型分载系统及方法 | |
CN110851566A (zh) | 一种改进的可微分网络结构搜索的方法 | |
CN116166405B (zh) | 异构场景下的神经网络任务调度策略确定方法及装置 | |
CN109460613A (zh) | 模型裁剪方法及装置 | |
CN112187554A (zh) | 一种基于蒙特卡洛树搜索的运维系统故障定位方法和系统 | |
CN109472030A (zh) | 一种系统回复质量的评价方法及装置 | |
CN113780542B (zh) | 一种面向fpga的多目标网络结构的构建方法 | |
CN109615115B (zh) | 一种面向任务可靠性的集成生产任务调度方法 | |
CN116713999B (zh) | 一种多机械臂多目标寻找的训练方法及训练装置 | |
CN116416468B (zh) | 一种基于神经架构搜索的sar目标检测方法 | |
CN117075634A (zh) | 基于改进蚁群算法的配电网多无人机调度巡检方法及装置 | |
KR102425013B1 (ko) | 검색량 분석과 다중회귀 분석을 이용한 탄소 배출권 가격 예측 시스템 및 그것에 의해 수행되는 탄소 배출권 가격 예측 방법 | |
CN115859768B (zh) | 一种动态装配作业车间工件完工时间预测方法及装置 | |
CN109308262A (zh) | 一种软件缺陷定位方法以及装置 | |
CN116760888B (zh) | 一种多无人机间数据智能组织与推送方法 | |
CN108334559A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191008 |