CN111242282A - 基于端边云协同的深度学习模型训练加速方法 - Google Patents

基于端边云协同的深度学习模型训练加速方法 Download PDF

Info

Publication number
CN111242282A
CN111242282A CN202010021406.3A CN202010021406A CN111242282A CN 111242282 A CN111242282 A CN 111242282A CN 202010021406 A CN202010021406 A CN 202010021406A CN 111242282 A CN111242282 A CN 111242282A
Authority
CN
China
Prior art keywords
deep learning
learning model
time delay
training
node
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
Application number
CN202010021406.3A
Other languages
English (en)
Other versions
CN111242282B (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.)
National Sun Yat Sen University
Original Assignee
National Sun Yat Sen University
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 National Sun Yat Sen University filed Critical National Sun Yat Sen University
Priority to CN202010021406.3A priority Critical patent/CN111242282B/zh
Publication of CN111242282A publication Critical patent/CN111242282A/zh
Application granted granted Critical
Publication of CN111242282B publication Critical patent/CN111242282B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

本发明公开了一种基于端边云协同的深度学习模型训练加速方法,提出结合模型分割与训练数据切分的分布式训练深度模型的方法,通过对整个训练过程中的计算时延和数据传输时延进行理论建模得到总训练时延作为目标函数,通过求解最小化目标函数得到最优的模型分割的切割点和训练数据分配的策略,相较于传统的基于云数据中心的方法和基于边缘服务器部署的方法,本方法能有效的利用移动端设备、边缘服务器和云数据中心的计算资源来减少在利用移动端搜集的图像数据进行用于图像识别的深度学习模型训练场景下的训练所需时延。

Description

基于端边云协同的深度学习模型训练加速方法
技术领域
本发明涉及深度学习、边缘计算、云计算以及分布式计算技术领域,具体涉及一种基于端边云协同的深度学习模型训练加速方法。
背景技术
深度学习是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。至今深度学习模型在计算机视觉、语音识别、自然语言处理、音频识别等领域取得了广泛的应用。用于计算机视觉的深度学习模型由一系列内部连接的深度学习模型网络层组成,输入数据经由深度学习模型网络层处理后得到输出。深度学习模型的网络层数目通常高达几十层,参数量更是达到百万级,因此训练深度学习模型的是计算密集型任务。当前,利用智能手机、平板电脑、智能眼镜等移动端设备搜集的图像数据进行深度学习模型的训练来实现图像识别的方法有两种方法:一是将深度学习模型部署到云端数据中心,移动端设备将收集的图像数据发送至云端数据中心,云端完成深度学习模型训练实现图像识别的目的,然而,利用基于云数据中心的训练方式,大量的图像数据通过长广域网数据传输到远端云数据中心,在当前长广域网的带宽很低的情况下,数据传输的时延将会十分巨大,从而导致训练一个用于图像识别的深度学习模型耗时巨大;二是利用新兴的边缘计算范式,将用于图像识别的深度学习模型部署到边缘服务器,该方法能有效的减少图像数据从移动设备传输到边缘服务器的传输时延,但是由于边缘服务器自身有限的计算能力与存储能力对于训练高精度的用于图像识别的深度学习模型这样需要巨大的计算开销的任务,该方法不能提供一个良好的性能表现。
为解决上述深度学习模型训练方式带来的问题,在本发明技术方案的研究和提出过程中至少发现:一个更好的方式是将边缘计算范式与云计算结合起来,分别利用边缘计算的数据传输低时延和云计算强大的计算能力的优点,通过移动端设备和边缘服务器与云数据中心协同,实现加速利用移动端设备搜集的图像数据训练用于图像识别的深度学习模型的过程。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,解决利用在移动端设备搜集的图像数据进行用于图像识别的神经网络模型训练耗时大的问题,提供一种基于端边云协同的深度学习模型训练加速方法。
本发明的目的可以通过采取如下技术方案达到:
一种基于端边云协同的深度学习模型训练加速的方法,所诉加速方法包括下列步骤:
S1、离线测量,具体包括以下两个操作:
(1)测量所需训练的深度学习模型基于单个图像作为输入时深度学习模型各个网络层所输出的特征图像的数据量的大小;
(2)测量所需训练的深度学习模型各个网络层基于单个图像数据作为输入时,在参与任务计算的各计算节点所需的计算时延大小。
需要注意的是,对于给定的所需训练的用于图像识别的深度学习模型,和给定的端边云计算架构下参与计算的计算节点设备,以上两个测量操作只需要完成一次即可,因为各网络层输出的特征图像的数据量的大小仅取决于深度学习模型的结构,且各网络层计算时延的大小取决于设备性能和深度学习模型的计算复杂度。
S2、在线优化:
首先测量当前端边云各计算节点之间链路的网络带宽,再利用在离线测量步骤下得到的基于单个图像作为输入深度学习模型各个网络层所输出的特征图像的数据量的大小和基于单个图像作为输入深度学习模型各网络层在各计算节点进行计算所需的平均计算时延,及测量所得网络带宽作为输入,通过对深度学习模型基于一定数目的图像数据做单次迭代训练过程的总训练时延进行一个理论建模。然后将总训练时延作为目标函数,通过求解最小化目标函数得到最优的深度学习模型分割的切割点和各计算节点所需处理的用于训练的图像数据大小作为输出。
S3、协同训练。根据在线优化步骤所输出的最优的模型分割的切割点和用于训练的图像数据分配的策略,端边云各计算节点按照所得策略利用移动设备搜集的图像数据协同的训练一个用于图像识别的深度学习模型。
进一步地,所述的在线优化步骤S2中,将总训练时延作为目标函数进行最小化,得到最优的深度学习模型分割的切割点和各计算节点所需处理的用于训练的图像数据大小的过程如下:
S21、定义三种任务类型如下:
TASK O:基于bo个图像数据作为输入,执行原本的整个深度学习模型训练的计算任务;
TASK S:基于bs个图像数据作为输入,执行深度学习模型前ms层训练的计算任务;
TASK L:基于bl个图像数据作为输入,执行深度学习模型前ml层训练的计算任务。
其中bo,bs,bl均为整数代表了用于训练的图像数据分配的策略,ms,ml均为整数代表了深度学习模型分割的策略。再定义三个计算节点nodeo、nodes、nodel,假定三种计算任务TASK O、TASK S、TASK L分别分配给计算节点nodeo、nodes、nodel进行执行。
对于所定义的三个计算节点首先将其与实际参与计算的端计算节点、边缘计算节点、云计算节点进行一个映射,由于映射情况仅仅只有六种情况,所以可以对所有可能的映射情况进行一个遍历。
S22、对于可能的映射策略找出基于该映射策略下最优的模型分割的切割点和用于训练的图像数据分配的策略。其中,整个训练的总训练时延包括计算时延和数据传输时延,过程如下:。
S221、对计算时延的理论建模,使用Tj,i,b,forward和Tj,i,b,backward分别表示在计算节点j,j∈{o,s,l},o,s,l分别代表计算节点nodeo、nodes、nodel上基于b个图像数据作为输入执行第i层深度学习模型的前向传播和后向传播计算所需要的时延计算公式如下:
Figure BDA0002360883190000041
Figure BDA0002360883190000042
公式(1)中,
Figure BDA0002360883190000043
表示在计算节点j上基于单个图像作为输入执行第j层深度学习模型前向传播所需的平均计算时延;
公式(2)中,
Figure BDA0002360883190000044
表示在计算节点j上基于单个图像作为输入执行第j层深度学习模型反向传播所需的平均计算时延;
S222、求解深度学习模型更新模型参数过程中在各计算节点产生的计算时延,由于在各个计算节点上执行深度学习模型权重的更新,该计算量的大小与所输入的进行训练的图像数据量的大小无关,所以对于深度学习模型更新在各计算节点产生的计算时延可表示如下:
Figure BDA0002360883190000045
Figure BDA0002360883190000046
Figure BDA0002360883190000047
公式(3)中,To,update表示在计算节点nodeo更新其所包含的深度学习模型层的参数所需的计算时延,
Figure BDA0002360883190000048
表示在计算节点nodeo执行第i层深度学习模型参数更新所需的平均计算时延;
公式(4)中,Ts,update表示在计算节点nodes更新其所包含的深度学习模型层的参数所需的计算时延,
Figure BDA0002360883190000051
表示在计算节点nodes执行第i层深度学习模型参数更新所需的平均计算时延;
公式(5)中,Tl,update表示在计算节点nodel更新其所包含的深度学习模型层的参数所需的计算时延,
Figure BDA0002360883190000052
表示在计算节点nodel执行第i层深度学习模型参数更新所需的平均计算时延;
S223、求解数据传输时延Tcommunication,对于数据传输时延Tcommunication采用将所需传输数据的大小DataSize除以当前所测量所得的带宽大小Bandwidth,公式如下:
Figure BDA0002360883190000053
S23、将整个分布式的深度学习模型训练按照以下原则进行划分:
前ms层深度学习模型是在并行的三个计算节点上运行的,ms+1层至ml层是并行的在计算节点nodel和计算节点nodeo上运行的,而ml+1层至最后一层仅运行在计算节点nodeo上。
将总训练时延切分为三个阶段:
阶段一:训练前ms层深度学习模型所需的时延;
阶段二:训练ms+1层至ml层深度学习模型所需的时延;
阶段三:训练而ml+1层至最后一层深度学习模型所需的时延。
S231、对于阶段一,用
Figure BDA0002360883190000054
Figure BDA0002360883190000055
分别表示阶段一中所需的前向传播和后向传播所需的时延,公式计算如下:
Figure BDA0002360883190000056
Figure BDA0002360883190000061
公式(7)中,To,input、Ts,input、Tl,input分别代表计算节点nodeo、nodes、nodel接收训练所需图像数据的数据传输时延,Ts,output代表从nodes将前向传播的输出数据给nodeo的数据传输时延,
Figure BDA0002360883190000062
代表计算节点nodeo基于bo个图像数据作为输入执行第i层深度学习模型的前向传播所需要的时延,
Figure BDA0002360883190000063
代表计算节点nodes基于bs个图像数据作为输入执行第i层深度学习模型的前向传播所需要的时延,
Figure BDA0002360883190000064
代表计算节点nodel基于bl个图像数据作为输入执行第i层深度学习模型的前向传播所需要的时延;
公式(8)中,Ts,grad代表从nodeo将反向传播的梯度数据发送给nodes的数据传输时延,
Figure BDA0002360883190000065
代表计算节点nodeo基于bo个图像数据作为输入执行第i层深度学习模型的反向传播所需要的时延,
Figure BDA0002360883190000066
代表计算节点nodes基于bs个图像数据作为输入执行第i层深度学习模型的反向传播所需要的时延,
Figure BDA0002360883190000067
代表计算节点nodel基于bl个图像数据作为输入执行第i层深度学习模型的反向传播所需要的时延;
S232、对于阶段二,用
Figure BDA0002360883190000068
Figure BDA0002360883190000069
分别表示阶段二中所需的前向传播和后向传播所需的时延,公式计算如下:
Figure BDA00023608831900000610
Figure BDA00023608831900000611
公式(9)中,Tl,output代表计算节点nodel将前向传播的输出数据发送给计算节点nodeo的数据传输时延,
Figure BDA0002360883190000071
代表计算节点nodeo基于bo+bs个样本数据作为输入执行第i层深度学习模型的前向传播所需要的时延;
在公式(10)中,Tl,grad代表计算节点nodeo发送反向传播计算的梯度给计算节点nodel所带来的数据传输时延,
Figure BDA0002360883190000072
代表计算节点nodeo基于bo+bs个样本数据作为输入执行第i层深度学习模型的反向传播所需要的时延;
S233、对于阶段三,用
Figure BDA0002360883190000073
Figure BDA0002360883190000074
分别表示阶段三中所需的前向传播和后向传播所需的时延,公式计算如下:
Figure BDA0002360883190000075
Figure BDA0002360883190000076
公式(11)中,
Figure BDA0002360883190000077
代表计算节点nodeo基于bo+bs+bl个图像数据作为输入执行第i层深度学习模型的前向传播所需要的时延,N代表所训练模型总的层数个数;
公式(12)中,
Figure BDA0002360883190000078
代表计算节点nodeo基于bo+bs+bl个图像数据作为输入执行第i层深度学习模型的反向传播所需要的时延;
S24、当深度学习模型训练的反向传播计算完成,计算节点nodes和计算节点nodel将其计算的模型参数梯度发送给计算节点nodeo,然后计算节点nodeo对所得参数梯度进行一个汇总取平均得到处理后的参数梯度,最后再将汇总后的参数梯度分别发送给计算节点nodes和计算节点nodel。各计算节点基于汇总后的参数梯度进行模型参数的更新。
模型更新所需的时延,公式计算如下:
Tupdate=max{Ts,weightGrad,Tl,weightGrad}+max{To,update,Ts,update,Tl,update}
(13)
公式(13)中,Ts,weightGrad和Tl,weightGrad分别代表计算节点nodes和计算节点nodel与计算节点nodeo进行参数梯度数据交换所产生的数据时延。
S25、将用于图像识别的深度学习模型基于移动端搜集而来的图像数据进行一次迭代训练的总训练时延用Ttotal表示,公式计算如下:
Figure BDA0002360883190000081
将以上总训练时延作为目标函数进行最小化,还需要添加一些必要的约束条件。
S26、在大多数用于图像识别的深度学习模型训练中每次迭代所用到的图像数据的数目都是一个定值我们令该定值为B。所以需要添加以下限制条件:
bo+bs+bl=B
需要注意的是,变量ms和ml可以等于0,这代表计算节点nodes和nodel不参与训练任务的计算,在这种情况下需要保证分配给这两个计算节点图像数据大小为0,所以添加以下限制条件:
0≤bs≤msB,
0≤bl≤mlB
最后得到一个最小化优化的问题表示如下:
P1
Figure BDA0002360883190000082
s.t.bo+bs+bl=B
0≤bs≤msB
0≤bl≤mlB
对于以上最小化优化问题,将变量ms和ml的值确定后,原问题则变成了一个整数线性规划问题,可以用一般的优化求解器(如CPLEX,GUROBI等)很容易的求解该整数线性规划问题,所以对变量ms和ml的可能值进行一个遍历,再求解相应最优的bo,bs,bl的解得到一个待选策略集合,最后比较待选策略集合内的策略选出最优的策略。
本发明相对于现有技术具有如下的优点及效果:
本发明提出基于端边云计算架构下对用于图像识别的深度学习模型的训练过程进行加速的方法,解决利用在移动端设备搜集的图像数据进行神经网络模型的训练耗时大的问题。具体实现是利用一种结合模型分割与训练数据切分的分布式训练深度模型的方法,通过对整个训练过程中的计算时延和数据传输时延进行理论建模得到总训练时延作为目标函数,通过求解最小化目标函数得到最优的模型分割的切割点和训练数据分配的策略,按照所得部署策略端边云协同的进行深度学习模型的训练,相较于传统的基于云数据中心的方法和基于边缘服务器部署的方法,本方法能有效的降低利用在移动端设备搜集的图像数据进行神经网络模型的训练所需的时延。
附图说明
图1是本发明实施例中端边云协同的深度学习模型训练示例图;
图2是本发明实施例中基于端边云协同的深度学习模型训练加速方法的步骤图;
图3是本发明实施例中基于端边云协同的深度学习模型训练加速框架示例图;
图4是本发明实施例中不同带宽下的时延结果图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例公开一种基于端边云的深度学习模型训练加速方法,该方法是利用结合模型分割与训练数据切分的分布式训练深度模型的方法,通过对整个训练过程中的计算时延和数据传输时延进行理论建模得到总训练时延作为目标函数,通过求解最小化目标函数得到最优的模型分割的切割点和训练数据分配的策略,实现加速深度学习模型训练。下面介绍结合模型分割与训练数据切分的分布式训练深度模型的方法,最后展示实际运行中该深度学习模型训练加速方法的执行步骤。
(1)模型分割
对于当前常见的深度学习模型,例如卷积神经网络,是由多层神经网络层相互叠加而成的,包括卷积层、池化层、全连接层等。由于资源受限的设备,直接进行一个神经网络模型训练是非常困难的,但因为不同的神经网络层的计算资源需求以及输出数据量的大小都具有显著的差异性,根据设备的计算能力和其网络带宽情况对整个深度学习模型进行切分,使得该设备只需进行从第一层开始的一定数量的连续网络层的计算。需要注意的是,需要保证有一个计算节点进行整个模型的计算,如图1所示,云服务器上进行整个模型的计算,而端设备和边缘服务器只进行切割后的模型的计算。该方式可以有效的尽可能的让部分深度学习模型层并行的运行在各个计算节点上,而又基于个计算节点的计算能力进行了模型的切割,选择最佳的深度学习模型分割点,最大的发挥出端边云协同计算的优势。
(2)数据分配
除了对深度学习模型进行切分,在输入的图像数据的维度再进行分配,提供一个更细粒度的计算任务分配的方式,可以更好的适应在端边云环境下计算节点计算能力差异巨大的情况。具体做法为每次训练迭代时,对输入各计算节点的进行训练的图像数据数目进行一个分配,保证每次训练参与训练的样本数据数目总和为一个定值。
本实施例公开的基于端边云协同的深度学习模型训练加速的方法执行流程如图2所示。
首先对于需要训练的用于图像识别的深度学习模型,测量该模型基于一个图像数据作为输入时各网络层输出的特征图像的数据量大小。再分别测量对于参与计算的计算节点基于一个图像数据执行该深度学习模型训练时,深度学习模型各层所需的平均计算时延的大小。利用所测量的数据,对训练过程中产生的计算时延和数据传输时延进行一个理论的建模得到一个总训练时延函数表达。将总训练时延作为目标函数,将模型切割点作为变量用ms,ml进行表示,将图像数据分配策略中各个计算节点所需处理的图像数据数目作为变量用bo,bs,bl进行表示。
因为对于图像数据分配时需要保证各计算节点处理的图像数据数目bo,bs,bl的总和为一个定值B,所以添加约束条件bo+bs+bl=B。并且当模型切割点ms或ml为0时,表示该计算节点不执行深度学习模型训练的计算,显然此时应保证分配给该节点计算的图像数据也为0,所以需添加约束条件为0≤bs≤msB,0≤bl≤mlB。由此得到一个最小化的优化问题,求解该优化问题得到最优的模型切割点和图像数据分配策略。
综合运用模型切割和数据分配两种维度的计算任务分配优化手段,本实施例中研究的问题是:用图像识别的深度学习模型训练的图像数据搜集于端设备(比如手机,平板电脑,摄像头等),如何有效利用该图像数据进行深度学习模型的训练。针对上述问题,本实施例提出一种基于端边云计算架构下各计算节点协同的进行深度学习模型训练的加速方法。如图3所示,该加速方法优化逻辑分为三个步骤:离线测量、在线优化以及协同训练。
上述基于端边云协同的深度学习模型训练框架思路为:在离线测量步骤,测量深度学习模型各层输出的特征图像数据量大小和各计算节点执行深度学习模型各层所需的计算时延大小;在在线优化步骤,通过求解构建的最小化优化问题得到最优的模型切割点和数据分配策略;在协同训练步骤,端边云各计算节点协同按照上步骤所得执行方案进行深度学习模型的训练。
具体来说,包括以下步骤:
S1、离线测量。具体包括以下两个操作:
(1)对于给定的所需训练的用于图像识别的深度学习模型,将其基于一个图像数据作为输入进行计算,在计算过程中测量模型各网络层输出的特征图像的数据量的大小;
(2)在端边云计算架构下,让参与计算的计算节点分别对所需训练的深度学习模型基于一个图像数据作为输入进行计算,测量出各网络层所需的计算时延大小,为了减少误差,该过程进行十次测量再取平均值。
S2、在线优化。在这个步骤,主要工作是将上步骤所测量的值代入所构建的最小化优化问题,求解该优化问题上,采用的方法是先确定表示模型分割策略的变量ms、ml,对这两个变量进行一个遍历。由于原优化问题在变量ms、ml确定的情况下转化为基于变量bo、bs、bl的整数线性规划问题,对此利用一些优化求解器进行求解,本实施例采用的求解器为CPLEX。求解该优化问题即可得到最优的模型切割点和数据分配策略。
S3、协同训练。根据在线优化步骤所输出的最优的模型分割的切割点和用于训练的图像数据分配的策略,端边云各计算节点按照所得策略利用移动设备搜集的图像数据协同的训练一个用于图像识别的深度学习模型
综上所述,针对端边云各计算节点所拥有的计算能力巨大的差异性,提出一个结合模型分割与训练数据切分的分布式训练深度模型的方法,利用该分布式训练方法将深度学习模型训练任务部署到端边缘计算架构下,需要确定模型切割点和用于训练的图像数据该如何分配,对此通过对整个训练过程中的计算时延和数据传输时延进行理论建模得到总训练时延作为目标函数,通过求解最小化目标函数得到最优的模型分割的切割点和用于训练的图像数据分配的策略,有效的利用移动端设备、边缘服务器和云数据中心的计算资源实现利用移动设备搜集的图像数据训练一个用于图像识别的深度学习模型训练过程的加速。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (3)

1.一种基于端边云协同的深度学习模型训练加速方法,其特征在于,所述的深度学习模型训练加速方法包括:
S1、离线测量步骤,测量所需训练的深度学习模型基于单个图像数据作为输入时各个网络层所输出的特征图像的数据量的大小;测量所需训练的用于图像识别的深度学习模型各个网络层基于单个图像数据作为输入时,在参与任务计算的各计算节点上执行计算所需的平均计算时延大小;
S2、在线优化步骤,首先测量当前端边云各计算节点之间的网络带宽,再利用在离线测量步骤下得到的基于单个训练样本作为输入深度学习模型各个网络层所输出的数据量的大小和各网络层在各计算节点进行计算所需的平均计算时延、及测量所得网络带宽作为输入,通过对单次迭代训练过程的总训练时延进行理论建模,然后将总训练时延作为目标函数,加入约束条件构建一个最小化优化问题,通过求解优化问题得到最优的分割深度学习模型的切割点和参与任务计算的各计算节点进行深度学习模型训练时所需处理的图像数据的大小作为输出;
S3、协同训练步骤,根据在线优化步骤输出的最优的模型分割的切割点和训练数据分配的策略,端边云各计算节点按照所得的策略,各计算节点基于一定数目的图像数据对深度学习模型进行协同训练。
2.根据权利要求1所述的基于端边云协同的深度学习模型训练加速方法,其特征在于,所述的在线优化步骤中,通过对单次迭代训练过程的总训练时延进行一个理论建模,然后将总训练时延作为目标函数,加入必要的约束条件构建一个最小化优化问题,得到最优的模型分割的切割点和用于训练的图像数据分配的策略的过程包括:
S21、定义三种任务类型如下:
TASK O:基于bo个图像数据作为输入,执行原本的整个深度学习模型训练的计算任务;
TASK S:基于bs个图像数据作为输入,执行深度学习模型前ms层训练的计算任务;
TASK L:基于bl个图像数据作为输入,执行深度学习模型前ml层训练的计算任务。
其中bo,bs,bl均为整数,分别代表用于训练的图像数据分配的策略,ms,ml均为整数,分别代表模型分割的策略;
再定义三个计算节点nodeo、nodes、nodel,假定三种计算任务TASK O、TASK S、TASK L分别分配给计算节点nodeo、nodes、nodel进行执行;
将定义的三个计算节点与实际参与计算的端计算节点、边缘计算节点、云计算节点根据一一对应原则建立映射关系;
S22、对于可能的映射策略找出基于该映射策略下最优的模型分割的切割点和用于训练的图像数据分配的策略,其中,整个训练的总训练时延包括计算时延和数据传输时延,过程如下:
S221、对计算时延进行理论建模,使用Tj,i,b,forward和Tj,i,b,backward分别表示在计算节点j,j∈{o,s,l},o,s,l分别代表计算节点nodeo、nodes、nodel上基于b个图像数据作为输入执行第i层深度学习模型的前向传播时延和后向传播时延,计算公式如下:
Figure FDA0002360883180000021
Figure FDA0002360883180000022
公式(1)中,
Figure FDA0002360883180000023
表示在计算节点j上基于单个图像作为输入执行第j层深度学习模型前向传播所需的平均计算时延;
公式(2)中,
Figure FDA0002360883180000024
表示在计算节点j上基于单个图像作为输入执行第j层深度学习模型反向传播所需的平均计算时延;
S222、求解深度学习模型更新过程中在各计算节点产生的计算时延,计算公式如下:
Figure FDA0002360883180000031
Figure FDA0002360883180000032
Figure FDA0002360883180000033
公式(3)中,To,update表示在计算节点nodeo更新其所包含的深度学习模型层的参数所需的计算时延,
Figure FDA0002360883180000034
表示在计算节点nodeo执行第i层深度学习模型参数更新所需的平均计算时延;
公式(4)中,Ts,update表示在计算节点nodes更新其所包含的深度学习模型层的参数所需的计算时延,
Figure FDA0002360883180000035
表示在计算节点nodes执行第i层深度学习模型参数更新所需的平均计算时延;
公式(5)中,Tl,update表示在计算节点nodel更新其所包含的深度学习模型层的参数所需的计算时延,
Figure FDA0002360883180000036
表示在计算节点nodel执行第i层深度学习模型参数更新所需的平均计算时延;
S223、求解数据传输时延Tcommunication,计算公式如下:
Figure FDA0002360883180000037
公式(6)中,DataSize表示所需传输数据的大小,Bandwidth表示当前测量所得的带宽大小;
S23、将整个分布式的深度学习模型训练按照以下原则进行划分:前ms层深度学习模型在并行的三个计算节点上运行,ms+1层至ml层在并行的计算节点nodel和计算节点nodeo上运行,ml+1层至最后一层仅运行在计算节点nodeo上,然后将总训练时延切分为三个阶段:
阶段一:训练前ms层深度学习模型所需的时延;
阶段二:训练ms+1层至ml层深度学习模型所需的时延;
阶段三:训练而ml+1层至最后一层深度学习模型所需的时延。
S231、对于阶段一,用
Figure FDA0002360883180000041
Figure FDA0002360883180000042
分别表示阶段一中所需的前向传播和后向传播所需的时延,计算公式如下:
Figure FDA0002360883180000043
Figure FDA0002360883180000044
公式(7)中,To,input、Ts,input、Tl,input分别代表计算节点nodeo、nodes、nodel接收训练所需图像数据的数据传输时延,Ts,output代表从计算节点nodes将前向传播的输出数据给计算节点nodeo的数据传输时延,
Figure FDA0002360883180000045
代表计算节点nodeo基于bo个图像数据作为输入执行第i层深度学习模型的前向传播所需要的时延,
Figure FDA0002360883180000046
代表计算节点nodes基于bs个图像数据作为输入执行第i层深度学习模型的前向传播所需要的时延,
Figure FDA0002360883180000047
代表计算节点nodel基于bl个图像数据作为输入执行第i层深度学习模型的前向传播所需要的时延;
公式(8)中,Ts,grad代表从计算节点nodeo将反向传播的梯度数据发送给计算节点nodes的数据传输时延,
Figure FDA0002360883180000048
代表计算节点nodeo基于bo个图像数据作为输入执行第i层深度学习模型的反向传播所需要的时延,
Figure FDA0002360883180000049
代表计算节点nodes基于bs个图像数据作为输入执行第i层深度学习模型的反向传播所需要的时延,
Figure FDA00023608831800000410
代表计算节点nodel基于bl个图像数据作为输入执行第i层深度学习模型的反向传播所需要的时延;
S232、对于阶段二,用
Figure FDA00023608831800000411
Figure FDA00023608831800000412
分别表示阶段二中所需的前向传播和后向传播所需的时延,计算公式如下:
Figure FDA0002360883180000051
Figure FDA0002360883180000052
公式(9)中,Tl,output代表计算节点nodel将前向传播的输出数据发送给计算节点nodeo的数据传输时延,
Figure FDA0002360883180000053
代表计算节点nodeo基于bo+bs个图像数据作为输入执行第i层深度学习模型的前向传播所需要的时延;
公式(10)中,Tl,grad代表计算节点nodeo发送反向传播计算的梯度给计算节点nodel产生的数据传输时延,
Figure FDA0002360883180000054
代表计算节点nodeo基于bo+bs个图像数据作为输入执行第i层深度学习模型的反向传播所需要的时延;
S233、对于阶段三,用
Figure FDA0002360883180000055
Figure FDA0002360883180000056
分别表示阶段三中所需的前向传播和后向传播所需的时延,计算公式如下:
Figure FDA0002360883180000057
Figure FDA0002360883180000058
公式(11)中,
Figure FDA0002360883180000059
代表计算节点nodeo基于bo+bs+bl个图像数据作为输入执行第i层深度学习模型的前向传播所需要的时延,N代表所训练模型的总层数;
公式(12)中,
Figure FDA00023608831800000510
代表计算节点nodeo基于bo+bs+bl个图像数据作为输入执行第i层深度学习模型的反向传播所需要的时延;
S24、当深度学习模型训练的反向传播计算完成,计算节点nodes和计算节点nodel将其计算的模型参数梯度发送给计算节点nodeo,然后计算节点nodeo对所得参数梯度进行一个汇总取平均得到处理后的参数梯度,最后再将汇总后的参数梯度分别发送给计算节点nodes和计算节点nodel,各计算节点基于所得汇总后的参数梯度更新模型的参数,求解模型更新所需的时延,公式计算如下:
Tupdate=max{Ts,weightGrad,Tl,weightGrad}+max{To,update,Ts,update,Tl,update} (13)
公式(13)中,Ts,weightGrad和Tl,weightGrad分别代表计算节点nodes和计算节点nodel与计算节点nodeo进行参数梯度数据交换所产生的数据时延;
S25、将深度学习模型训练的总训练时延用Ttotal表示,计算公式如下:
Figure FDA0002360883180000061
S26、根据深度学习模型训练中每次迭代所用到的图像数据的数目为定值B,添加以下限制条件:
bo+bs+bl=B
根据变量ms和ml可能取值等于0,此时代表计算节点nodes和计算节点nodel不参与训练任务的计算,分配给计算节点nodes和计算节点nodel的样本数据为0,添加以下限制条件:
0≤bs≤msB,
0≤bl≤mlB
根据限制条件,将总训练时延作为目标函数进行最小化,将得到的一个最小化优化的问题表示如下:
Figure FDA0002360883180000062
s.t. bo+bs+bl=B
0≤bs≤msB
0≤bl≤mlB
对于以上最小化优化问题,将变量ms和ml的值确定后,最小化优化问题则变成一个整数线性规划问题,采用优化求解器对该整数线性规划问题进行求解,通过对变量ms和ml的可能取值进行遍历,再求解出相应最优的bo、bs、bl的解得到一个待选策略集合,最后比较待选策略集合内的策略选出最优的策略。
3.根据权利要求1所述的基于端边云协同的深度学习模型训练加速方法,其特征在于,对所述的整数线性规划问题进行求解的优化求解器为CPLEX或GUROBI。
CN202010021406.3A 2020-01-09 2020-01-09 基于端边云协同的深度学习模型训练加速方法 Active CN111242282B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010021406.3A CN111242282B (zh) 2020-01-09 2020-01-09 基于端边云协同的深度学习模型训练加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010021406.3A CN111242282B (zh) 2020-01-09 2020-01-09 基于端边云协同的深度学习模型训练加速方法

Publications (2)

Publication Number Publication Date
CN111242282A true CN111242282A (zh) 2020-06-05
CN111242282B CN111242282B (zh) 2023-03-28

Family

ID=70880396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010021406.3A Active CN111242282B (zh) 2020-01-09 2020-01-09 基于端边云协同的深度学习模型训练加速方法

Country Status (1)

Country Link
CN (1) CN111242282B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112085195A (zh) * 2020-09-04 2020-12-15 西北工业大学 一种基于x-admm的深度学习模型环境自适应方法
CN112085758A (zh) * 2020-09-04 2020-12-15 西北工业大学 一种边端融合的终端情境自适应模型分割方法
CN112287609A (zh) * 2020-12-28 2021-01-29 之江实验室 一种面向机器人任务划分的端、边、云协同计算装置
CN112297014A (zh) * 2020-12-31 2021-02-02 之江实验室 一种面向机器人的云边端架构下的深度学习模型分割方法
CN112348172A (zh) * 2020-11-13 2021-02-09 之江实验室 一种基于端边云架构的深度神经网络协同推理方法
CN112906745A (zh) * 2021-01-21 2021-06-04 天津大学 基于边缘协同的诚信智能网络训练方法
CN113067873A (zh) * 2021-03-19 2021-07-02 北京邮电大学 基于深度强化学习的边云协同优化方法
CN113095506A (zh) * 2021-03-25 2021-07-09 北京大学 基于端、边及云协同的机器学习方法、系统及介质
CN113157413A (zh) * 2021-04-16 2021-07-23 上海交通大学 基于服务质量需求的深度学习任务资源优化配置方法及系统
CN113315669A (zh) * 2021-07-28 2021-08-27 江苏电力信息技术有限公司 基于云边协同的吞吐量优化的机器学习推断任务部署方法
CN114118437A (zh) * 2021-09-30 2022-03-01 电子科技大学 一种面向微云中分布式机器学习的模型更新同步方法
CN114169427A (zh) * 2021-12-06 2022-03-11 北京百度网讯科技有限公司 基于端到端自适应的分布式训练方法、装置、设备
WO2022100165A1 (zh) * 2020-11-13 2022-05-19 华为技术有限公司 神经网络模型的训练方法、图像处理方法及装置
WO2022183496A1 (zh) * 2021-03-05 2022-09-09 华为技术有限公司 模型训练的方法和装置
CN115034390A (zh) * 2022-08-11 2022-09-09 南京邮电大学 一种基于云边端协同的深度学习模型推理加速方法
CN115858131A (zh) * 2023-02-22 2023-03-28 山东海量信息技术研究院 一种任务执行方法、系统、设备及可读存储介质
CN116166444A (zh) * 2023-04-26 2023-05-26 南京邮电大学 一种面向深度学习分层模型的协同推理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134636A (zh) * 2018-02-09 2019-08-16 中兴通讯股份有限公司 模型训练方法、服务器和计算机可读存储介质
CN110309914A (zh) * 2019-07-03 2019-10-08 中山大学 基于边缘服务器与移动端设备协同的深度学习模型推理加速方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134636A (zh) * 2018-02-09 2019-08-16 中兴通讯股份有限公司 模型训练方法、服务器和计算机可读存储介质
CN110309914A (zh) * 2019-07-03 2019-10-08 中山大学 基于边缘服务器与移动端设备协同的深度学习模型推理加速方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KIN CHEONG SOU ET AL.: "Power Network Measurement Placement Using Graph Optimization", 《2018 IEEE REGION 10 HUMANITARIAN TECHNOLOGY CONFERENCE (R10-HTC)》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112085758A (zh) * 2020-09-04 2020-12-15 西北工业大学 一种边端融合的终端情境自适应模型分割方法
CN112085195A (zh) * 2020-09-04 2020-12-15 西北工业大学 一种基于x-admm的深度学习模型环境自适应方法
CN112348172A (zh) * 2020-11-13 2021-02-09 之江实验室 一种基于端边云架构的深度神经网络协同推理方法
WO2022100165A1 (zh) * 2020-11-13 2022-05-19 华为技术有限公司 神经网络模型的训练方法、图像处理方法及装置
CN112348172B (zh) * 2020-11-13 2022-05-06 之江实验室 一种基于端边云架构的深度神经网络协同推理方法
CN112287609A (zh) * 2020-12-28 2021-01-29 之江实验室 一种面向机器人任务划分的端、边、云协同计算装置
CN112287609B (zh) * 2020-12-28 2021-03-30 之江实验室 一种面向机器人任务划分的端、边、云协同计算装置
CN112297014A (zh) * 2020-12-31 2021-02-02 之江实验室 一种面向机器人的云边端架构下的深度学习模型分割方法
CN112297014B (zh) * 2020-12-31 2021-04-27 之江实验室 一种面向机器人的云边端架构下的深度学习模型分割方法
CN112906745B (zh) * 2021-01-21 2022-03-29 天津大学 基于边缘协同的诚信智能网络训练方法
CN112906745A (zh) * 2021-01-21 2021-06-04 天津大学 基于边缘协同的诚信智能网络训练方法
WO2022183496A1 (zh) * 2021-03-05 2022-09-09 华为技术有限公司 模型训练的方法和装置
CN113067873B (zh) * 2021-03-19 2022-08-30 北京邮电大学 基于深度强化学习的边云协同优化方法
CN113067873A (zh) * 2021-03-19 2021-07-02 北京邮电大学 基于深度强化学习的边云协同优化方法
CN113095506A (zh) * 2021-03-25 2021-07-09 北京大学 基于端、边及云协同的机器学习方法、系统及介质
CN113157413B (zh) * 2021-04-16 2022-04-26 上海交通大学 基于服务质量需求的深度学习任务资源优化配置方法及系统
CN113157413A (zh) * 2021-04-16 2021-07-23 上海交通大学 基于服务质量需求的深度学习任务资源优化配置方法及系统
CN113315669A (zh) * 2021-07-28 2021-08-27 江苏电力信息技术有限公司 基于云边协同的吞吐量优化的机器学习推断任务部署方法
CN114118437A (zh) * 2021-09-30 2022-03-01 电子科技大学 一种面向微云中分布式机器学习的模型更新同步方法
CN114169427A (zh) * 2021-12-06 2022-03-11 北京百度网讯科技有限公司 基于端到端自适应的分布式训练方法、装置、设备
CN115034390A (zh) * 2022-08-11 2022-09-09 南京邮电大学 一种基于云边端协同的深度学习模型推理加速方法
WO2024032121A1 (zh) * 2022-08-11 2024-02-15 南京邮电大学 一种基于云边端协同的深度学习模型推理加速方法
CN115858131A (zh) * 2023-02-22 2023-03-28 山东海量信息技术研究院 一种任务执行方法、系统、设备及可读存储介质
CN116166444A (zh) * 2023-04-26 2023-05-26 南京邮电大学 一种面向深度学习分层模型的协同推理方法

Also Published As

Publication number Publication date
CN111242282B (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
CN111242282B (zh) 基于端边云协同的深度学习模型训练加速方法
CN113191484B (zh) 基于深度强化学习的联邦学习客户端智能选取方法及系统
CN110533183B (zh) 流水线分布式深度学习中异构网络感知的任务放置方法
CN111030861B (zh) 一种边缘计算分布式模型训练方法、终端和网络侧设备
WO2023124296A1 (zh) 基于知识蒸馏的联合学习训练方法、装置、设备及介质
CN106127302A (zh) 处理数据的电路、图像处理系统、处理数据的方法和装置
EP4350572A1 (en) Method, apparatus and system for generating neural network model, devices, medium and program product
CN112052958A (zh) 模型训练的方法、装置、设备及计算机可读存储介质
CN114912705A (zh) 一种联邦学习中异质模型融合的优化方法
CN111243045A (zh) 一种基于高斯混合模型先验变分自编码器的图像生成方法
CN111695696A (zh) 一种基于联邦学习的模型训练的方法及装置
Rkhami et al. On the use of graph neural networks for virtual network embedding
CN111832637B (zh) 基于交替方向乘子法admm的分布式深度学习分类方法
CN113821332B (zh) 自动机器学习系统效能调优方法、装置、设备及介质
CN113283186A (zh) 一种用于cfd的通用网格自适应方法
CN115587633A (zh) 一种基于参数分层的个性化联邦学习方法
CN113642700A (zh) 基于联邦学习和边缘计算的跨平台多模态舆情分析方法
CN116701001B (zh) 目标任务分配方法、装置、电子设备及存储介质
CN112836822A (zh) 基于宽度学习的联邦学习策略优化方法和装置
CN117061365A (zh) 一种节点选择方法、装置、设备及可读存储介质
CN116644804A (zh) 分布式训练系统、神经网络模型训练方法、设备和介质
CN115879543A (zh) 一种模型训练方法、装置、设备、介质及系统
CN113743012B (zh) 一种多用户场景下的云-边缘协同模式任务卸载优化方法
CN115865607A (zh) 一种分布式训练的计算节点管理方法及相关装置
CN114298319A (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