CN116339942A - 一种基于强化学习的分布式训练任务的自适应调度方法 - Google Patents

一种基于强化学习的分布式训练任务的自适应调度方法 Download PDF

Info

Publication number
CN116339942A
CN116339942A CN202310207640.9A CN202310207640A CN116339942A CN 116339942 A CN116339942 A CN 116339942A CN 202310207640 A CN202310207640 A CN 202310207640A CN 116339942 A CN116339942 A CN 116339942A
Authority
CN
China
Prior art keywords
layer
network
training
output
stage
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
Application number
CN202310207640.9A
Other languages
English (en)
Inventor
殷昱煜
黄训庆
黄彬彬
李尤慧子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi 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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202310207640.9A priority Critical patent/CN116339942A/zh
Publication of CN116339942A publication Critical patent/CN116339942A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于强化学习的分布式训练任务的自适应调度方法,包括如下步骤:S1、特征抽取;S2、模型分割;S3、设备部署;4.获取奖励函数;5.策略梯度更新;6.输出调度结果。该方法能够通过不断学习来得到一个最佳的模型划分和调度策略,从而加快在异构边缘设备上深度学习模型的流水线并行分布式训练。提出分组网络和部署网络的双神经网络结构,充分考虑到计算能力和通信延迟时间的差异,对深度学习模型进行模型分割和设备放置,得到调度方案,根据调度结果做流水线并行训练。将批量样本训练完成时间作为策略梯度的奖励函数,以此来更新双神经网络的参数。通过强化学习不断的探索与利用,最终能够得到最佳的调度方案来加速分布式训练。

Description

一种基于强化学习的分布式训练任务的自适应调度方法
技术领域
本发明涉及分布式训练领域,尤其涉及在异构边缘环境下的一种基于强化学习的分布式训练任务的自适应调度方法。
背景技术
近些年来,深度学习在图像识别、机器翻译、智能对话和游戏代理等应用领域取得了瞩目的进步,给人们带来了更加智能和便利的生活体验。这些运行在边缘端的应用在服务人们的同时也不断产生着庞大的数据。以往,人们会将这些数据传输回云服务器再做处理,但是这也就引发了一些问题,比如数据的隐私问题、响应的延迟问题等等。为了解决上诉问题,人们提出直接在边缘环境来训练、处理这些数据。但是边缘设备的计算能力、通信能力都有限,单个设备是无法承担训练任务的,因此多个设备合作训练的分布式训练方式成为了主流的解决方案。
分布式训练主要分为三种,数据并行、模型并行和流水线并行。数据并行以划分数据集的方式让同一时间内有多个不同的数据块在不同的设备上训练,提高了训练速度。模型并行以划分模型的方式,虽然在同一时间内只能一个设备训练一个数据集,但是多个设备间分摊了内存消耗,减小了单个设备的内存负担。流水线并行可以说是上面二者的结合与改进,它首先要做模型分割,即把连续的层组合成一个个阶段,阶段内是串行的,阶段间是并行的,将这些阶段分配到不同的设备上,然后通过流水线的方式,不断输入划分后的微小数据集给阶段,实现同一时间内有多个设备和多个微小数据集在训练,即加速了训练也减少了单个设备的负担。
但流水线并行训练也有它的缺点,它需要良好规划的模型分割和设备放置。而这点在异构的边缘设备环境下更应该被重视。若得不到合理的调度,流水线并行训练很可能会被慢的阶段或者差的边缘设备所拖累,导致整体训练速度大幅下降甚至慢过普通的训练方式。另外除了考虑异构设备不同的计算能力外,还得考虑通信延迟时间,这让模型分割和设备放置的调度问题变得复杂起来,是个NP难问题。
发明内容
本发明的目的是提供一种异构边缘环境下基于强化学习的分布式训练任务的自适应调度方法,加快异构边缘设备环境下深度学习的流水线并行分布式训练的训练速度。
本发明提供了一种基于强化学习的分布式训练任务的自适应调度方法,
针对模型分割和设备部署各做了一个神经网络,分别是由全连接层组成的分组网络和由长短期神经网络LSTM组成的部署网络,两个网络分工合作。这两个网络输出得到流水线并行的调度结果,按结果训练一个批次的数据,可以得到一个批次的流水线训练时间和每个阶段的训练时间,把它们按一定的比例进行汇聚作为奖励函数,利用强化学习中的策略梯度方法反馈回分组网络和部署网络做出的每个动作,能够有针对性地训练这两个神经网络。经过一定轮数探索和利用后,双网络做出的分组和部署方案能够充分衡量模型各阶段的计算负载、设备不同的计算能力和通信延迟时间,从而大大地加快异构边缘设备的流水线并行分布式训练速度。
具体采用的技术方案如下:
S1.特征抽取:对要进行分布式训练的深度学习模型M(有K层)进行高维特征的获取和编码操作。本发明是获取层操作类型Ok、输入数据量
Figure BDA0004111444460000031
计算量/>
Figure BDA0004111444460000032
和输出数据量
Figure BDA0004111444460000033
作为第k层lk的高维特征Fl,k。层的操作类型一般有卷积、池化等。第k层输入数据量是第k-1(1≤k≤K)层输入给第k层的中间传播值的数据量,输出数据量是第k层输出给第k+1层的中间传播值的数据量。计算量是该层的乘积累加运算的运算量。把操作类型、输入数据量、计算量和输出数据量这四种类型按一定规则转换成二进制,分别占12位、8位、12位、8位二进制,所以,第k层得到这样总共40位二进制作为这一层的特征编码Fl,k。深度学习模型M总共得到大小为(K,40)二维矩阵的特征编码Fl
S2.模型分割:模型分割是指将模型中若干相连的层(如第k层至第k+p层,p≥0,k+p≤K)组合到一起作为一个阶段si,将一个模型分成由若干个阶段集S(∑isi=S)组成。本发明设计一个由全连接层组成的分组网络来做模型分割任务,其中输入层有40个神经元,输出层有2个神经元。分组网络的输入是特征抽取中获得的每层的特征编码Fl,k,输出的是这层是否要与下一相连层进行组合的概率。分组网络的作用是考虑模型各层的操作类型、计算复杂度、数据量的大小等,来判断对模型如何进行分组,另外我们还考虑了对特定的层做数据并行的情况。
依次将第1层至第K层的特征编码Fl,k输入进分组网络,得到每层与下一相连层进行组合的概率。若此概率大于阈值α,则将层lk与层lk+1合到一个阶段里,我们用xk=0来标记这一层;若此概率小于阈值α,则层lk不与层lk+1进行组合,而是把前面标记都是0的层加上本层作为一个阶段s,本层lk作为一个阶段的最后一层,我们用xk=1来做标记。因此一个K层的模型M可以得到长度为K的模型分割向量XM={x1,...,xk,...,x|K|}。设目前分组得到了a(0<a)个阶段,为了进一步加快训练速度同时提高资源利用率,我们对每个层附加若干个数据并行的副本si'={si0,si1,...,sii'},其中si0表示si阶段本身,而sii'表示阶段si第i'个副本。副本的总数取决于设备的数量,假若我们有设备集D,D里有d个设备。因为每个阶段需要单独放置到一个设备上,因此还剩余(d-a)个设备可用,接下来就将这些剩余的设备用来给计算负担大的若干阶段附加数据并行的副本。
通过分组网络,可以得到模型分割结果S和附加了数据并行副本的结果S'。
S3.设备部署:模型分割得到的阶段副本s'需要一一放置到不同的边缘设备上做分布式流水线并行训练。本发明设计一个由长短期神经网络LSTM组成的部署网络来处理设备部署任务,得到阶段副本和设备的放置关系,用来η={η(sii')∈D|s∈S,sii'∈s)}表示,其中η(sii')表示的是副本sii'放置的设备。部署网络的输入是si'的特征编码Fs,i,输出是设备编号dj,表示将阶段sii'放置到设备dj上做训练。部署网络会充分考虑阶段的计算负载和通信延迟来调度阶段副本和异构设备,来加快分布式训练。
由分组网络分到一个阶段si的p个层(k,k+p)∈si,将第k层至第k+p层的40位二进制的特征编码逐位进行与运算,将层的信息进行组合,得到阶段si的特征编码Fs,i,也是40位二进制。副本sii'的特征编码等同于阶段si的特征编码。部署网络依次输入每个阶段副本sii'高维特征Fs,i,输出一个设备的编号dj,表示这个sii'将被调度到设备dj上。已经输出过的设备编号将不会再输出,从而确保阶段副本和设备的一一对应关系。
通过部署网络,可以得到阶段和设备的一一对应关系η。
S4.获取奖励函数:设置合适的奖励函数,使用强化学习的探索与利用来更新上述的分组网络和部署网络。根据部署网络的输出结果做流水线并行训练,训练一个批次的微小数据集后,根据公式1可以得到每个阶段在相应的设备上的训练一个微小数据集的时间
Figure BDA0004111444460000051
根据公式3得到微小数据集做完整流水线训练的时间te
Figure BDA0004111444460000052
Figure BDA0004111444460000053
Figure BDA0004111444460000054
Figure BDA0004111444460000055
Figure BDA0004111444460000056
Figure BDA0004111444460000057
其中,
Figure BDA0004111444460000058
表示前向传播时阶段si和阶段si+1的通信时间,/>
Figure BDA0004111444460000059
表示后向传播时阶段si+1和阶段si的通信时间,/>
Figure BDA00041114444600000510
表示设备di和设备dj间的通信带宽,τ表示微小数据集的数目。将奖励函数设置成是/>
Figure BDA00041114444600000511
其中RC是固定值。取/>
Figure BDA00041114444600000512
是有助于准确奖励好的动作,取te是有助于避免过早陷入局部最优,让结果更稳定,/>
Figure BDA00041114444600000513
和te二者同时取负数来奖励训练时间更短的调度结果。
奖励函数由各阶段的训练微小数据集的时间和微小数据集做完整流水线训练的时间组成,再加上固定的奖励值,让调度结果更稳定、更优异。
S5.策略梯度更新:基于强化学习中的策略梯度来更新分组网络和部署网络。在本发明中,环境信息就是层的高维特征或者阶段的高维特征,分组网络的动作空间是用于确定分组概率输出,部署网络的动作空间是设备的编号。我们假设分组网络和部署网络的参数分别是θs和θa。根据奖励函数R,利用公式7和8对分组网络和部署网络的参数进行更新:
Figure BDA0004111444460000061
Figure BDA0004111444460000062
Figure BDA0004111444460000063
Figure BDA0004111444460000064
其中,
Figure BDA0004111444460000065
表示分组网络参数为/>
Figure BDA0004111444460000069
时做出分组结果S的概率,/>
Figure BDA0004111444460000066
表示部署网络参数为/>
Figure BDA0004111444460000067
副本结果为S'时做出调度结果η的概率,乘以相应的奖励值R,取和式得到全部的轨迹,求微分,得到的/>
Figure BDA0004111444460000068
分别乘以学习率ξ1、ξ2来更新分组网络参数θs和部署网络参数θa
接下来要处理无效动作的情况。因为策略梯度方法是按照概率做动作的,所以刚开始训练的分组网络所做出的分组结果S,其阶段数目可能多过设备数量,即a>d,这是流水线并行分布式训练所不能允许的。当分组网络的输出导致阶段数目多过设备数量时,即做出无效动作时,我们使用无效动作惩罚,给予分组网络很大的负奖励,让其学会减少分组的阶段数目。对于部署网络而言,重复的输出也是无效动作,因为这样会导致阶段与设备的多对一关系。对此,我们使用无效动作遮掩来直接改变做动作的概率,对于部署网络已经做过的动作,将其概率降到很低,从而不再输出。
使用强化学习中的策略梯度来更新分组网络和部署网络,通过不断的探索和利用,来得到越来越好的调度结果,分组网络和部署网络训练完毕后就能得到最终的调度结果。使用策略梯度可以精准反馈这两个网络做出的动作的好坏情况,让训练过程更迅速。
将全连接层组成的分组网络和LSTM组成的部署网络作为策略梯度的策略,分组网络生成的模型分割情况和部署网络生成的设备放置情况可以充分考虑异构边缘设备环境下设备不同的计算能力和通信延迟,规划出优秀的调度结果,从而加快流水线并行的分布式训练。
S6.输出调度结果:强化学习需要不断的迭代,不断的探索与利用。在本发明中,策略梯度要多次训练更新分组网络和部署网络。若这两个网络已经收敛,则可以得到最终的调度方案,只输出概率最大的动作,分组网络输出学习到的最好的模型分割结果,部署网络输出学习到的最好的设备放置关系,即得到本发明的自适应调度机制的调度结果。
本发明的有益效果:通过使用本发明所提出的调度方法,可以在异构边缘设备环境下得到良好规划的流水线并行模型分割情况和设备部署结果,从而加快深度学习分布式训练。
通过不断学习来得到一个最佳的模型划分和调度策略,从而加快在异构边缘设备上深度学习模型的流水线并行分布式训练。提出分组网络和部署网络的双神经网络结构,充分考虑到计算能力和通信延迟时间的差异,对深度学习模型进行模型分割和设备放置,得到调度方案,根据调度结果做流水线并行训练。将批量样本训练完成时间作为策略梯度的奖励函数,以此来更新双神经网络的参数。通过强化学习不断的探索与利用,最终能够得到最佳的调度方案来加速分布式训练。
附图说明
图1为本发明提出的基于强化学习的分布式训练任务的自适应调度方法的总体流程图。
图2是本发明提出的分组网络做模型分割和附加数据并行的示例图。
图3是本发明提出的阶段训练时间和微小数据集整体流水线训练时间示例图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明进行进一步详细说明。
本发明提出的一种基于强化学习的分布式训练任务的自适应调度方法,如图1所示,包括以下步骤:
S1.特征抽取:对要进行分布式训练的深度学习模型M(有K层)进行高维特征的获取和编码操作。本发明是获取层操作类型Ok、输入数据量
Figure BDA0004111444460000081
计算量/>
Figure BDA0004111444460000082
和输出数据量
Figure BDA0004111444460000083
作为第k层lk的高维特征Fl,k。层的操作类型一般有卷积、池化等。第k层输入数据量是第k-1(1≤k≤K)层输入给第k层的中间传播值的数据量,输出数据量是第k层输出给第k+1层的中间传播值的数据量。计算量是该层的乘积累加运算的运算量。把操作类型、输入数据量、计算量和输出数据量这四种类型按如下表1、表2、表3的规则转换成二进制,不同类型的模型会有不同的规则。操作类型、输入数据量、计算量、输出数据量分别占12位、8位、12位、8位二进制。因此第k层得到这样总共40位二进制作为这一层的特征编码Fl,k。深度学习模型M总共得到大小为(K,40)二维矩阵的特征编码Fl,之后作为分组网络的输入。
表1
层操作类型 12位二进制
丢弃 0000 0000 0000
打平 1100 0000 0000
Relu函数 0011 0000 0000
未知、全连接 0000 1100 0000
池化 0000 0011 0000
归一化 0000 0000 1100
卷积 0000 0000 0011
表2
数据量/MB 8位二进制
小于0.1 0000 0000
0.1--0.5 0000 0001
0.5--1 0000 0011
1--3 0000 0111
3--6 0000 1111
6--10 0001 1111
10--14 0011 1111
大于14 0111 1111
表3
Figure BDA0004111444460000091
Figure BDA0004111444460000101
S2.模型分割:模型分割是指将模型中若干相连的层(如第k层至第k+p层,p≥0,k+p≤K)组合到一起作为一个阶段si,将一个模型分成由若干个阶段集S(∑isi=S)组成。本发明设计一个由全连接层组成的分组网络来做模型分割任务,其中输入层有40个神经元,输出层有2个神经元。分组网络的输入是特征抽取中获得的每层的特征编码Fl,k,输出的是这层是否要与下一相连层进行组合的概率。分组网络的作用是考虑模型各层的操作类型、计算复杂度、数据量的大小等,来判断对模型如何进行分组,另外我们还考虑了对特定的层做数据并行的情况。
依次将第1层至第K层的特征编码Fl,k输入进分组网络,得到每层与下一相连层进行组合的概率。若此概率大于阈值α,则将层lk与层lk+1合到一个阶段里,我们用x=0来标记这一层;若此概率小于阈值α,则层lk不与层lk+1进行组合,而是把前面标记都是0的层加上本层作为一个阶段s,本层l作为一个阶段的最后一层,我们用x=1来做标记。因此一个K层的模型M可以得到长度为K的模型分割向量XM={x1,...,xk,...,x|K|}。设目前分组得到了a(0<a)个阶段,为了进一步加快训练速度同时提高资源利用率,我们对每个层附加若干个数据并行的副本si'={si0,si1,...,sii'},其中si0表示si阶段本身,而sii'表示阶段si第i'个副本。副本的总数取决于设备的数量,假若我们有设备集D,D里有d个设备。因为每个阶段需要单独放置到一个设备上,因此还剩余(d-a)个设备可用,接下来就将这些剩余的设备用来给计算负担大的若干阶段附加数据并行的副本。如图2,假设一个模型有10层,分组网络的输出结果是{0,0,1,0,1,1,0,0,0,1},则表示前3层作为第一个阶段,第4、5层作为第二个阶段,第6层自己作为第三个阶段,剩下4层作为第四个阶段。接下来附加数据并行。假若有6个可用的异构边缘设备,可目前分组网络共分出了4个阶段,每个阶段应该放到一个设备上做训练,也就是说还有2个可用的设备,那么就会给最为耗时的阶段附加2个数据并行的副本。其他阶段都只有自己的副本。分组网络会在不断迭代中学会权衡流水线阶段数量和数据并行副本数量,从而找到最快、最合适的分组情况。
S3.设备部署:模型分割得到的阶段副本si'需要一一放置到不同的边缘设备上做分布式流水线并行训练。本发明设计一个由长短期神经网络LSTM组成的部署网络来处理设备部署任务,得到阶段副本和设备的放置关系,用来η={η(sii')∈D|si∈S,sii'∈si)}表示,其中η(sii')表示的是副本sii'放置的设备。部署网络的输入是si'的特征编码Fs,i,输出是设备编号dj,表示将阶段sii'放置到设备dj上做训练。部署网络会充分考虑阶段的计算负载和通信延迟来调度阶段副本和异构设备,来加快分布式训练。
部署网络由LSTM组成,即longshort-term memory,是循环神经网络的一种形式,其核心概念在于细胞状态以及“门”结构。细胞状态相当于信息传输的路径,让信息能在序列连中传递下去。可以将其看作网络的“记忆”。“门”结构在训练过程中会去学习该保存或遗忘哪些信息。部署网络使用LSTM,是为了使其能够学会流水线训练的时序信息,从而做出更合适的调度方案。
由分组网络分到一个阶段si的p个层(k,k+p)∈si,将第k层至第k+p层的40位二进制的特征编码逐位进行与运算,将层的信息进行组合,得到阶段si的特征编码Fs,i,也是40位二进制。副本sii'的特征编码等同于阶段si的特征编码。部署网络依次输入每个阶段副本sii'高维特征Fs,i,输出一个设备的编号dj,表示这个sii'将被调度到设备dj上。已经输出过的设备编号将不会再输出,从而确保阶段副本和设备的一一对应关系。通过不断的迭代,部署网络能够逐渐从输入的40位高维特征中学会判断高维特征与计算负载、通信量的联系,能够从中学会判断阶段的计算复杂程度,学会判断设备的能力区别,学会阶段副本和设备配对关系对总体的训练时间影响。从而部署网络会得出最佳的副本和设备的一一对应关系。
S4.获取奖励函数:设置合适的奖励函数,使用强化学习的探索与利用来更新上述的分组网络和部署网络。根据部署网络的输出结果做流水线并行训练,训练一个批次的微小数据集后,根据公式1可以得到每个阶段在相应的设备上的训练一个微小数据集的时间
Figure BDA0004111444460000121
根据公式3得到微小数据集做完整流水线训练的时间te
得到了阶段si的奖励函数,并将属于si的p个层(k,k+p)∈si的奖励函数与阶段si奖励函数进行等同。在图2的模型中,第一层、第二层和第三层的奖励函数等于阶段一的奖励函数。
S5.策略梯度更新:基于强化学习中的策略梯度来更新分组网络和部署网络。在本发明中,环境信息就是层的高维特征或者阶段的高维特征,分组网络的动作空间是用于确定分组的概率输出,部署网络的动作空间是设备的编号。我们假设分组网络和部署网络的参数分别是θs和θa。根据奖励函数R,利用公式7和8对分组网络和部署网络的参数进行更新。
因为策略梯度方法是按照概率做动作的,所以刚开始训练的分组网络,它做出的分组结果大概率会导致分组的阶段数目多过设备数量,即a>d,这是流水线并行分布式训练所不能允许的。在强化学习中,这种导致错误结果的动作称为无效动作。应对无效动作,主要有两种解决方法:无效动作遮掩和无效动作惩罚。无效动作遮掩,是指将无效动作的概率降至很低,低到可以忽略不计,即屏蔽了这种动作的输出。无效动作惩罚,是指当做出无效动作时,就会给予很大的负奖励,通过不断的学习,策略会为了最大化奖励而不再输出任何的无效动作。在本实施例中,当分组网络输出分组结果导致阶段数目多过设备数量时,即做出无效动作时,使用无效动作惩罚,给予很大的负奖励,让其学会减少阶段数目。部署网络已经输出的动作就不能再输出,以此确保每个设备只分配了一个阶段,可以理解为重复的输出是无效动作。对于部署网络,我们使用无效动作遮掩来直接改变做动作的概率,对于已经做过的动作,将其概率降到很低,从而不再输出。
S6.输出调度结果:强化学习需要不断的迭代,不断的探索与利用。在本发明中,策略梯度要多次训练更新分组网络和部署网络。若这两个网络已经收敛,则可以得到最终的调度方案,只输出概率最大的动作,分组网络输出学习到的最好的模型分割结果,部署网络输出学习到的最好的设备放置关系,即得到本发明的自适应调度机制的调度结果。

Claims (9)

1.一种基于强化学习的分布式训练任务的自适应调度方法,其特征在于,包括如下步骤:
S1、特征抽取
对要进行分布式训练的深度学习模型M进行高维特征的获取和编码操作,所述深度学习模型M的维度有K层;
S2、模型分割
通过分组网络将深度学习模型M中若干相连的层(如第k层至第k+p层,p≥0,k+p≤K)组合到一起作为一个阶段si,将一个深度学习模型M分成由若干个阶段集S(∑isi=S)组成,得到模型分割结果S和附加了数据并行副本的结果S';
S3、设备部署
通过部署网络将模型分割得到的阶段副本si`与边缘设备一一进行匹配,得到阶段和设备的一一对应关系η,根据阶段和设备的一一对应关系做分布式流水线并行训练;
S4、获取奖励函数
设置奖励函数,根据分布式流水线并行训练的结果得到奖励值;
S5、策略梯度更新
基于强化学习中的策略梯度来更新分组网络和部署网络,直至分组网络和部署网络收敛;
S6、输出调度结果
由训练完成后的分组网络和部署网络组成的调度网络,作为最终的调度方案,只输出概率最大的动作,分组网络输出学习到的最好的模型分割结果,部署网络输出学习到的最好的设备放置关系,即得到自适应调度机制的调度结果。
2.根据权利要求1所述的一种基于强化学习的分布式训练任务的自适应调度方法,其特征在于,所述步骤S1中特征抽取的具体方法为:
获取层操作类型Ok、输入数据量
Figure FDA0004111444450000021
计算量/>
Figure FDA0004111444450000022
和输出数据量/>
Figure FDA0004111444450000023
作为第k层lk的高维特征Fl,k;第k层输入数据量是第k-1(1≤k≤K)层输入给第k层的中间传播值的数据量,输出数据量是第k层输出给第k+1层的中间传播值的数据量;计算量是该层的乘积累加运算的运算量;把操作类型、输入数据量、计算量和输出数据量这四种类型按一定规则转换成二进制,分别占12位、8位、12位、8位二进制,第k层得到这样总共40位二进制作为这一层的特征编码Fl,k;深度学习模型M总共得到大小为(K,40)二维矩阵的特征编码Fl
3.根据权利要求2所述的一种基于强化学习的分布式训练任务的自适应调度方法,其特征在于,所述步骤S2中分组网络由全连接层组成,其输入层有40个神经元,输出层有2个神经元,所述分组网络的输入是特征抽取中获得的每层的特征编码Fl,k,输出的是这层是否要与下一相连层进行组合的概率。
4.根据权利要求3所述的一种基于强化学习的分布式训练任务的自适应调度方法,其特征在于,所述分组网络进行模型分割的方法为:
依次将第1层至第K层的特征编码Fl,k输入进分组网络,得到每层与下一相连层进行组合的概率;
若此概率大于阈值α,则将层lk与层lk+1合到一个阶段里,用xk=0来标记这一层;若此概率小于阈值α,则层lk不与层lk+1进行组合,而是把前面标记都是0的层加上本层作为一个阶段s,本层lk作为一个阶段的最后一层,用xk=1来做标记;因此一个K层的模型M可以得到长度为K的模型分割向量XM={x1,...,xk,...,x|K|};
设目前分组得到了a(0<a)个阶段,对每个层附加若干个数据并行的副本si'={si0,si1,...,sii'},其中si0表示si阶段本身,而sii'表示阶段si第i'个副本,得到模型分割结果S和附加了数据并行副本的结果S'。
5.根据权利要求4所述的一种基于强化学习的分布式训练任务的自适应调度方法,其特征在于,所述副本的总数取决于设备的数量,假若有设备集D,D里有d个设备,每个阶段需要单独放置到一个设备上,因此还剩余(d-a)个设备可用,将剩余的设备用来给计算负担大的若干阶段附加数据并行的副本。
6.根据权利要求5所述的一种基于强化学习的分布式训练任务的自适应调度方法,其特征在于,所述步骤S3中,由长短期神经网络LSTM组成的部署网络来处理设备部署任务,得到阶段副本和设备的放置关系,用来η={η(sii')∈D|si∈S,sii'∈si)}表示,其中η(sii')表示的是副本sii'放置的设备;
部署网络的输入是si'的特征编码FS,i,输出是设备编号dj,表示将阶段sii'放置到设备dj上做训练;
由分组网络分到一个阶段si的p个层(k,k+p)∈si,将第k层至第k+p层的40位二进制的特征编码逐位进行与运算,将层的信息进行组合,得到阶段si的特征编码Fs,i,也是40位二进制;副本sii'的特征编码等同于阶段si的特征编码;部署网络依次输入每个阶段副本sii'高维特征Fs,i,输出一个设备的编号dj,表示这个sii'将被调度到设备dj上;已经输出过的设备编号将不会再输出,从而得到阶段和设备的一一对应关系η。
7.根据权利要求6所述的一种基于强化学习的分布式训练任务的自适应调度方法,其特征在于,所述步骤S3中,分布式流水线并行训练的方法如下:
根据部署网络的输出结果做流水线并行训练,训练一个批次的微小数据集后,根据公式1得到每个阶段在相应的设备上的训练一个微小数据集的时间
Figure FDA0004111444450000031
根据公式3得到微小数据集做完整流水线训练的时间te
Figure FDA0004111444450000032
Figure FDA0004111444450000033
Figure FDA0004111444450000041
Figure FDA0004111444450000042
Figure FDA0004111444450000043
Figure FDA0004111444450000044
其中,
Figure FDA0004111444450000045
表示前向传播时阶段si和阶段si+1的通信时间,/>
Figure FDA0004111444450000046
表示后向传播时阶段si+1和阶段si的通信时间,/>
Figure FDA0004111444450000047
表示设备di和设备dj间的通信带宽,τ表示微小数据集的数目。
8.根据权利要求7所述的一种基于强化学习的分布式训练任务的自适应调度方法,其特征在于,所述奖励函数设置为
Figure FDA0004111444450000048
其中RC是固定值,取/>
Figure FDA0004111444450000049
是有助于准确奖励好的动作,取te是有助于避免过早陷入局部最优,/>
Figure FDA00041114444500000410
和te二者同时取负数来奖励训练时间更短的调度结果。
9.根据权利要求8所述的一种基于强化学习的分布式训练任务的自适应调度方法,其特征在于,所述步骤S5的具体方法如下:
假设分组网络和部署网络的参数分别是θs和θa,根据奖励函数R,利用公式7和8对分组网络和调度网络的参数进行更新:
Figure FDA00041114444500000411
Figure FDA00041114444500000412
Figure FDA00041114444500000413
Figure FDA00041114444500000414
其中,
Figure FDA00041114444500000415
表示分组网络参数为/>
Figure FDA00041114444500000416
时做出分组结果S的概率,/>
Figure FDA00041114444500000417
表示调度网络参数为/>
Figure FDA00041114444500000418
副本结果为S'时做出调度结果η的概率,乘以相应的奖励值R,取和式得到全部的轨迹,求微分,得到的/>
Figure FDA0004111444450000051
分别乘以学习率ξ1、ξ2来更新分组网络参数θs和调度网络参数θa
当分组网络的输出导致阶段数目多过设备数量时,即做出无效动作时,使用无效动作惩罚,给予分组网络很大的负奖励,让其学会减少分组的阶段数目;
对于部署网络而言,重复的输出也是无效动作,因为这样会导致阶段与设备的多对一关系,对此,使用无效动作遮掩来直接改变做动作的概率,对于部署网络已经做过的动作,将其概率降到很低,从而不再输出。
CN202310207640.9A 2023-03-07 2023-03-07 一种基于强化学习的分布式训练任务的自适应调度方法 Pending CN116339942A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310207640.9A CN116339942A (zh) 2023-03-07 2023-03-07 一种基于强化学习的分布式训练任务的自适应调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310207640.9A CN116339942A (zh) 2023-03-07 2023-03-07 一种基于强化学习的分布式训练任务的自适应调度方法

Publications (1)

Publication Number Publication Date
CN116339942A true CN116339942A (zh) 2023-06-27

Family

ID=86892221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310207640.9A Pending CN116339942A (zh) 2023-03-07 2023-03-07 一种基于强化学习的分布式训练任务的自适应调度方法

Country Status (1)

Country Link
CN (1) CN116339942A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991483A (zh) * 2023-09-25 2023-11-03 粤港澳大湾区数字经济研究院(福田) 一种针对语言模型计算的流水线并行方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991483A (zh) * 2023-09-25 2023-11-03 粤港澳大湾区数字经济研究院(福田) 一种针对语言模型计算的流水线并行方法及装置
CN116991483B (zh) * 2023-09-25 2024-04-05 粤港澳大湾区数字经济研究院(福田) 一种针对语言模型计算的流水线并行方法及装置

Similar Documents

Publication Publication Date Title
CN110555523B (zh) 一种基于脉冲神经网络的短程跟踪方法及系统
CN108448610B (zh) 一种基于深度学习的短期风功率预测方法
CN108122032B (zh) 一种神经网络模型训练方法、装置、芯片和系统
CN107609641A (zh) 稀疏神经网络架构及其实现方法
CN109753751A (zh) 一种基于机器学习的mec随机任务迁移方法
US20200167659A1 (en) Device and method for training neural network
CN109508784B (zh) 一种神经网络激活函数的设计方法
CN113570039B (zh) 一种基于强化学习的优化共识的区块链系统
Wang et al. Repetitive reprediction deep decipher for semi-supervised learning
CN116339942A (zh) 一种基于强化学习的分布式训练任务的自适应调度方法
CN112906828A (zh) 一种基于时域编码和脉冲神经网络的图像分类方法
CN106951959A (zh) 基于学习自动机的深度神经网络优化方法
EP3502978A1 (en) Meta-learning system
CN113537365B (zh) 一种基于信息熵动态赋权的多任务学习自适应平衡方法
CN111582396A (zh) 一种基于改进卷积神经网络的故障诊断方法
CN114912357A (zh) 基于用户模型学习的多任务强化学习用户运营方法及系统
CN114970351A (zh) 基于注意力机制和深度强化学习的电网潮流调整方法
CN114792378A (zh) 一种量子图像识别方法及装置
CN114897155A (zh) 一种用于卫星的集成模型无数据压缩方法
CN109670582B (zh) 一种全定点化神经网络的设计方法
CN112000793B (zh) 一种面向人机交互的对话目标规划方法
CN116818325A (zh) 一种滚动轴承故障诊断方法及系统
CN115204249A (zh) 一种基于竞争机制的群体智能元学习方法
CN116151581A (zh) 一种柔性车间调度方法、系统及电子设备
CN115810129A (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