CN113312178A - 一种基于深度强化学习的流水线并行训练任务分配方法 - Google Patents

一种基于深度强化学习的流水线并行训练任务分配方法 Download PDF

Info

Publication number
CN113312178A
CN113312178A CN202110563603.2A CN202110563603A CN113312178A CN 113312178 A CN113312178 A CN 113312178A CN 202110563603 A CN202110563603 A CN 202110563603A CN 113312178 A CN113312178 A CN 113312178A
Authority
CN
China
Prior art keywords
model
layer
task
training
task allocation
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
CN202110563603.2A
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.)
Hohai University HHU
Original Assignee
Hohai University HHU
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 Hohai University HHU filed Critical Hohai University HHU
Priority to CN202110563603.2A priority Critical patent/CN113312178A/zh
Publication of CN113312178A publication Critical patent/CN113312178A/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种基于深度强化学习的流水线并行训练任务分配方法,步骤为:初始化深度学习模型,并把该模型载入;建立对目标深度学习模型运行时分析方案,构建模型参数文本库;根据获取的模型参数文本信息,构建任务分配预测网络;使用策略梯度训练预测网络,直至生成最优流水线并行任务分配方案;按照生成的最优任务分配方案,在异构计算节点中部署模型,完成训练任务。本发明有效避免节点计算能力和网络带宽差差异带来的负载不均衡问题,提高模型训练速度,并且模型参数越大,提升效果越明显。

Description

一种基于深度强化学习的流水线并行训练任务分配方法
技术领域
本发明涉及一种基于深度强化学习的流水线并行训练任务分配方法,属于计算机流水线 技术领域。
背景技术
深度神经网络广泛应用于各种领域,取得了超越人类的预测效果。随着模型的精度等要 求越来越高,模型参数规模和计算需求越来越大,训练模型成为一个计算十分密集和耗时的 任务。研究人员经常使用分布式计算机集群加速模型训练过程。流水线并行训练是一种新的 训练方法。该方法将待训练模型的层划分为若干分组,每个分组对应不同流水线阶段。流水 线***同时处理多个批次训练数据,使得流水线***满负荷运行在稳定状态。在稳定状态下, 所有阶段都在执行不同批次训练样本的前向与后向传递任务,具有较高的***利用率。大部 分情况下,流水线并行训练中通信数据量远小于数据并行训练,因为其仅需在阶段边界之间 传递激活值与梯度。由于模型并不总是在可用训练节点中均等分割,可在某些流水线阶段使 用数据并行保证流水线负载均衡。流水线并行训练可以有效解决数据并行的通信瓶颈和传统 模型并行的硬件效率问题。然而,实际使用的***具有强异构性,每个计算节点具有不同的 计算能力与网络传输能力。机房内计算节点之间网络传输能力强,机房之间计算节点通过骨 干网络连接,网络传输能力较差。针对这些无法独立完成训练任务的老旧集群,研究如何聚 合异构计算节点完成模型训练任务,具有重要意义。
发明内容
发明目的:为了克服现有方法中的问题,针对节点计算能力和网络带宽差差异带来的负 载不均衡问题,本发明提供一种基于深度强化学习的流水线并行训练任务分配方法,提高模 型训练速度,实现良好的负载均衡,保证流水线的工作效率。
技术方案:一种基于深度强化学习的流水线并行训练任务分配方法,包括如下步骤:
(1)初始化深度学习模型,并把该模型载入;
(2)建立待训练模型短暂运行的分析方案:记录模型详细信息,包括模型总层数、每一 层的名称、计算时间、计算量、参数量、激活值大小等,利用记录的模型信息构建待训练模 型参数文本库;
(3)根据获取的模型参数文本信息,构建任务分配预测网络;
(4)使用任务分配预测网络为待训练模型生成流水线并行训练方案;
(5)按照该流水线并行训练方案执行训练,采样求平均得到单个批次平均训练时间;
(6)计算任务分配方案的奖励函数,反向更新任务分配预测网络中的参数;
(7)判断是否生成训练时间最小的任务分配方案,是则输出该方案,否则返回步骤(4) 继续迭代;
(8)按照输出方案将模型部署到异构计算节点中,得到针对拟训练目标网络的流水线并 行训练分配方案。
进一步的,所述步骤(3)中任务分配预测网络结构如下:
(3.1)任务划分网络,负责将模型中所有层划分为若干分组;
(3.2)任务分配网络,负责将每个分组任务分配到对应的计算节点中。
进一步的,所述步骤(4)中流水线并行训练方案的具体步骤如下:
(4.1)基于前馈神经网络的任务划分;
(4.2)基于注意力机制的任务分配。
进一步的,所述步骤(4.1)中基于前馈神经网络的任务划分的具体步骤如下:
(4.1.1)在模型中,每一层都对应着不同的操作,将操作名称转换为词向量;
(4.1.2)模型每一层的参数指标包括参数量、计算量与生成激活值大小。根据模型结构 定义计算每一层需要的参数量,单位用MB表示;根据每一层参数量与对应计算操作估算其 需要的计算量,单位用GFLOPS表示;根据每一层参数量与对应计算操作,估算出其每一层 的生成的激活值大小,单位用MB表示;
(4.1.3)对模型逐层编号,编号从1开始,使用编号表示当前层关联的下一层,由于模 型中每一层相关联的下一层数量不同,每个编号分配2位编码宽度,如无下一层信息,则使 用-0.1填充;
(4.1.4)遍历模型中的每一层,经过上述4.1.1-4.1.3的处理步骤后,每一层得到对词向 量进行编号后的向量信息,将这些向量信息输入到任务划分网络,任务划分网络预测出DNN 模型每一层的划分结果——模型分组结果。
进一步的,所述步骤(4.2)中基于注意力机制的任务分配的具体步骤如下:
(4.2.1)将任务划分网络预测得到的模型分组结果,通过编码器处理生成语义向量,顺 序传入解码器;
(4.2.2)解码器按照分组顺序分配计算节点;
(4.2.3)在解码器进行预测的每个步骤中利用注意力机制,将上一步骤所分配的计算节 点编号传入解码器,生成当前步骤计算节点分配结果;
(4.2.4)将模型划分结果与任务分配结果(4.2.3中的计算节点分配结果)部署在实际计 算节点中,得到整体的任务分配方案。
进一步的,所述步骤(6)中奖励函数和更新参数的具体步骤如下:
模型在任务分配方案ρ的条件下训练一个批次的总时间定义为t(ρ),包括一次前向计算、 一次后向传播和一次参数更新,以秒为时间单位,故定义对于给定任务分配方案ρ的奖励函 数为:
Figure BDA0003080016990000031
预测网络应最小化Rρ的期望值以达到较好的训练效果。故定义损失函数J(θgd)为:
Figure BDA0003080016990000032
其中θg和θd分别表示任务划分网络和任务分配网络的参数,p(g;θg)表示任务划分网络 生成分组结果g的概率,p(d|g;θd)表示任务分配网络根据分组结果g生成任务分配结果d 的概率。
分组结果的变化使预测得到的任务分配方案对应的运行时间相差很大,引入指数移动平 均线以更好地反映预测分配方案的实际执行时间,预测网络的参数θg和θd梯度为:
Figure BDA0003080016990000033
Figure BDA0003080016990000034
其中Base为奖励Rρ的指数移动平均值。
进一步的,所述步骤(7)中判断是否生成训练时间最小的任务分配方案的具体步骤如下:
流水线***总训练时间包括各阶段内的计算时间与阶段间的数据通信时间两部分。流水 线并行任务分配的目标是最小化单个批次训练完成总时间,也就是最小化流水线***单个训 练批次所有阶段的计算时间和通信时间。对于给定的模型G,定义Tl为每一层的总计算时间, 包括前向和后向传递计算。al为每一层的输出激活值大小(也是后向传递的输入梯度的大小)。 wl为每一层的参数量。若在每个阶段中使用m个计算节点进行数据并行训练,那么对于该阶 段的第l层,每个计算节点之间需要互相通信的参数量为Wl m。假设将模型层划分为S个分组, 对应流水线中S个阶段。任务分配方法目标是找到最优的流水线并行任务分配,使得T最小。 任务分配方法的优化目标可表示为:
Figure BDA0003080016990000041
其中As表示阶段s内计算总时间,Cs表示阶段s和阶段s+1之间的通信时间。假设阶段 s使用m个计算节点对模型中p→q层使用数据并行进行训练,则As表示阶段s内计算时间与参数同步时间的最大值,Cs表示阶段s和阶段s+1之间传输边界层中间结果的最大通信时间,其分别可表示为:
Figure BDA0003080016990000042
Figure BDA0003080016990000043
其中
Figure BDA0003080016990000044
为当前分组所有层的总计算时间,
Figure BDA0003080016990000045
为当前分组中所有层的最大 参数同步时间,aq为第q层的输出激活值大小。B(i,j)表示计算节点i与j之间的带宽;Ds表 示在阶段s中使用的计算节点集合,|Ds|即为计算节点数量。
有益效果:本发明与现有技术相比具有以下优点:
本发明针对节点计算能力和网络带宽差差异带来的负载不均衡问题,根据获取的模型参 数文本信息,构建任务分配预测网络,使用策略梯度训练预测网络,直至生成最优流水线并 行任务分配方案,提高模型训练速度,实现良好的负载均衡,保证流水线的工作效率。
附图说明
图1为具体实施例中异构集群拓扑示例图;
图2为具体实施例中基于深度强化学习的流水线并行训练任务分配方法示例图;
图3为本发明的流程图;
图4为具体实施例中预测网络整体结构示例图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用 于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修 改均落于本申请所附权利要求所限定的范围。
本发明针对节点计算能力和网络带宽差差异带来的负载不均衡问题,根据获取的模型参 数文本信息,构建任务分配预测网络,使用策略梯度训练预测网络,直至生成最优流水线并 行任务分配方案,提高模型训练速度,实现良好的负载均衡,保证流水线的工作效率。
图1为本发明的异构集群拓扑应用场景。
集群1与集群2通过骨干网络带宽B1连接,集群1与集群2内部计算节点计算能力不同, 并且互连带宽不同,分别为B2、B3,通常B2<B3。针对这些无法独立完成DNN训练任务的老旧集群,研究如何聚合异构计算节点完成DNN模型训练任务,具有重要意义。
图2为基于深度强化学习的流水线并行训练任务分配方法示例图。
对DNN模型进行运行时分析,获取模型层数、名称、参数量、计算量等信息。根据获取的模型参数文本信息,构建任务分配预测网络,使用策略梯度训练预测网络,直至生成最优流水线并行任务分配方案。按照生成的最优任务分配方案,在异构计算节点中部署模型,完成训练任务。
图3为基于深度强化学习的流水线并行训练任务分配方法流程图。
步骤A:初始化深度学习模型,并把该模型载入。建立待训练模型短暂运行的分析方案, 记录模型详细信息,包括模型总层数、每一层的名称、计算时间、计算量、参数量、激活值 大小等,构建待训练模型参数文本库。
步骤B:根据获取的模型参数文本信息,构建任务分配预测网络。其中任务划分网络, 负责将模型中所有层划分为若干分组;任务分配网络,负责将每个分组任务分配到对应的计 算节点中。
步骤C:使用预测网络为待训练DNN模型生成流水线并行训练任务分配方案ρ,其中包 含基于前馈神经网络的任务划分以及基于注意力机制的任务分配。
步骤C1:对于基于前馈神经网络的任务划分,在DNN模型中,每一层都对应着不同的 操作,如卷积操作、池化操作、全连接操作等。由于操作名称都是字符类型,将其转换为词 向量。故对每一层操作名称进行编码并建立一个字典库,训练过程中这个字典库也会不断更 新;模型每一层的参数指标包括参数量、计算量与生成激活值大小。根据模型结构定义计算 每一层需要的参数量,单位用MB表示;根据每一层参数量与对应计算操作估算其需要的计 算量,单位用GFLOPS表示;根据每一层参数量与对应计算操作,估算出其每一层的生成的 激活值大小,单位用MB表示。每个指标分配4位编码宽度,即参数指标总编码宽度为12 位;DNN模型由若干层组合而成。每一层的输出结果作为另一层的输入。对DNN模型逐层编号,编号从1开始。使用编号表示当前层关联的下一层。由于模型中每一层相关联的下一层数量不同,每个编号分配2位编码宽度。如无下一层信息,则使用-0.1填充;对于给定DNN模型,遍历模型中的每一层,经过上述的处理步骤后,每一层得到32位向量信息。将这些信息输入到任务划分网络,预测出DNN模型每一层的划分结果。
步骤C2:对于基于注意力机制的任务分配,将任务划分网络预测得到的DNN模型分组 结果,通过编码器RNN处理生成语义向量,顺序传入解码器;解码器RNN按照分组顺序分配计算节点;在解码器进行预测的每个步骤中利用注意力机制,将上一步骤所分配的计算节 点编号传入解码器,生成当前步骤计算节点分配结果;将DNN模型划分结果与任务分配结 果部署在实际计算节点中,得到整体的任务分配方案。
图4为预测网络整体结构示例图
DNN划分网络采用前馈神经网络,最后一层是Softmax层,输出大小等于分组的数量。 任务分配网络采用基于注意力机制的Seq2Seq模型。DNN划分网络将模型中每一层划分到对 应分组。一旦所有层都被分组,使用分组中所有层的平均信息生成该分组的词向量,并将这 些分组的词向量作为输入传递给任务分配网络。任务分配网络为每个分组任务分配对应计算 节点。按照任务划分与分配网络的结果部署DNN模型,即得到最终的流水线任务分配方案。
对于典型流水线并行示例。
假设共有5层的DNN模型被划分为4个分组,前3层分别位于不同分组,后2层划分至同一分组。每个分组对应流水线***中一个阶段。向***中注入多个训练数据,各个阶段根据分组顺序以流水线方式依次执行训练任务。图中阶段1、2、3通过配置多个计算节点,使用数据并行进行训练,提高该阶段内训练吞吐量。数据并行与流水线并行方法相结合,可以降低流水线各阶段计算时间差异,保证流水线具有较高的吞吐量。可以看到该流水线*** 中数据通信主要存在于各阶段边界。
步骤D:按照该方案执行训练,采样求平均得到单个批次平均训练时间t(ρ),计算奖励 函数,反向更新预测网络中的参数。
DNN模型在任务分配方案ρ的条件下训练一个批次的总时间定义为t(ρ),包括一次前向 计算、一次后向传播和一次参数更新,以秒为时间单位,故定义对于给定任务分配方案ρ的 奖励函数为:
Figure BDA0003080016990000061
预测网络应最小化Rρ的期望值以达到较好的训练效果。故定义损失函数J(θgd)为:
Figure BDA0003080016990000062
其中θg和θd分别表示任务划分网络和任务分配网络的参数,p(g;θg)表示任务划分网络 生成分组结果g的概率,p(d|g;θd)表示任务分配网络根据分组结果g生成任务分配结果d 的概率。
分组结果的变化使预测得到的任务分配方案对应的运行时间相差很大,引入指数移动平 均线以更好地反映预测分配方案的实际执行时间,预测网络的参数θg和θd梯度为:
Figure BDA0003080016990000071
Figure BDA0003080016990000072
其中Base为奖励Rρ的指数移动平均值。
步骤E:判断是否生成训练时间最小的任务分配方案,是则输出该方案,否则返回步骤C 继续迭代。判断是否生成训练时间最小的任务分配方案的具体步骤如下:
流水线***总训练时间包括各阶段内的计算时间与阶段间的数据通信时间两部分。流水 线并行任务分配的目标是最小化单个批次训练完成总时间,也就是最小化流水线***单个训 练批次所有阶段的计算时间和通信时间。对于给定的模型G,定义Tl为每一层的总计算时间, 包括前向和后向传递计算。al为每一层的输出激活值大小(也是后向传递的输入梯度的大小)。 wl为每一层的参数量。若在每个阶段中使用m个计算节点进行数据并行训练,那么对于该阶 段的第l层,每个计算节点之间需要互相通信的参数量为Wl m。假设将模型层划分为S个分组, 对应流水线中S个阶段。任务分配方法目标是找到最优的流水线并行任务分配,使得T最小。 任务分配方法的优化目标可表示为:
Figure BDA0003080016990000073
其中As表示阶段s内计算总时间,Cs表示阶段s和阶段s+1之间的通信时间。假设阶段 s使用m个计算节点对模型中p→q层使用数据并行进行训练,则As表示阶段s内计算时间与参数同步时间的最大值,Cs表示阶段s和阶段s+1之间传输边界层中间结果的最大通信时间,其分别可表示为:
Figure BDA0003080016990000074
Figure BDA0003080016990000081
其中
Figure BDA0003080016990000082
为当前分组所有层的总计算时间,
Figure BDA0003080016990000083
为当前分组中所有层的最大 参数同步时间,aq为第q层的输出激活值大小。
步骤F:按照该方案将模型部署到异构计算节点中,得到针对拟训练目标网络的流水线 并行训练分配方案。

Claims (8)

1.一种基于深度强化学习的流水线并行训练任务分配方法,其特征在于,包括如下步骤:
(1)初始化深度学习模型,并把该模型载入;
(2)建立待训练模型短暂运行的分析方案:记录模型详细信息,包括模型总层数、每一层的名称、计算时间、计算量、参数量、激活值大小,利用记录的模型信息构建待训练模型参数文本库;
(3)根据获取的模型参数文本信息,构建任务分配预测网络;
(4)使用任务分配预测网络为待训练模型生成流水线并行训练方案;
(5)按照该流水线并行训练方案执行训练,采样求平均得到单个批次平均训练时间;
(6)计算任务分配方案的奖励函数,反向更新任务分配预测网络中的参数;
(7)判断是否生成训练时间最小的任务分配方案,是则输出该方案,否则返回步骤(4)继续迭代;
(8)按照输出方案将模型部署到异构计算节点中,得到针对拟训练目标网络的流水线并行训练分配方案。
2.根据权利要求1所述的基于深度强化学习的流水线并行训练任务分配方法,其特征在于,所述步骤(3)中任务分配预测网络结构如下:
(3.1)任务划分网络,负责将模型中所有层划分为若干分组;
(3.2)任务分配网络,负责将每个分组任务分配到对应的计算节点中。
3.根据权利要求1所述的基于深度强化学习的流水线并行训练任务分配方法,其特征在于,所述步骤(4)中流水线并行训练方案的具体步骤如下:
(4.1)基于前馈神经网络的任务划分;
(4.2)基于注意力机制的任务分配。
4.根据权利要求3所述的基于深度强化学习的流水线并行训练任务分配方法,其特征在于,所述步骤(4.1)中基于前馈神经网络的任务划分的具体步骤如下:
(4.1.1)在模型中,每一层都对应着不同的操作,将其转换为词向量;
(4.1.2)模型每一层的参数指标包括参数量、计算量与生成激活值大小;根据模型结构定义计算每一层需要的参数量;根据每一层参数量与对应计算操作估算其需要的计算量;根据每一层参数量与对应计算操作,估算出其每一层的生成的激活值大小;
(4.1.3)对模型逐层编号;
(4.1.4)遍历模型中的每一层,经过上述的处理步骤后,每一层得到向量信息,将这些信息输入到任务划分网络,预测出DNN模型每一层的划分结果——模型分组结果。
5.根据权利要求3所述的基于深度强化学习的流水线并行训练任务分配方法,其特征在于,所述步骤(4.2)中基于注意力机制的任务分配的具体步骤如下:
(4.2.1)将任务划分网络预测得到的模型分组结果,通过编码器处理生成语义向量,顺序传入解码器;
(4.2.2)解码器按照分组顺序分配计算节点;
(4.2.3)在解码器进行预测的每个步骤中利用注意力机制,将上一步骤所分配的计算节点编号传入解码器,生成当前步骤计算节点分配结果;
(4.2.4)将模型划分结果与任务分配结果部署在实际计算节点中,得到整体的任务分配方案。
6.根据权利要求1所述的基于深度强化学习的流水线并行训练任务分配方法,其特征在于,所述步骤(6)中奖励函数和更新参数的具体步骤如下:
模型在任务分配方案ρ的条件下训练一个批次的总时间定义为t(ρ),包括一次前向计算、一次后向传播和一次参数更新,以秒为时间单位,故定义对于给定任务分配方案ρ的奖励函数为:
Figure FDA0003080016980000021
预测网络应最小化Rρ的期望值以达到较好的训练效果。故定义损失函数J(θgd)为:
Figure FDA0003080016980000022
其中θg和θd分别表示任务划分网络和任务分配网络的参数,p(g;θg)表示任务划分网络生成分组结果g的概率,p(d|g;θd)表示任务分配网络根据分组结果g生成任务分配结果d的概率;
分组结果的变化使预测得到的任务分配方案对应的运行时间相差很大,引入指数移动平均线以更好地反映预测分配方案的实际执行时间,预测网络的参数θg和θd梯度为:
Figure FDA0003080016980000023
Figure FDA0003080016980000024
其中Base为奖励Rρ的指数移动平均值。
7.根据权利要求1所述的基于深度强化学习的流水线并行训练任务分配方法,其特征在于,所述步骤(7)中判断是否生成训练时间最小的任务分配方案的具体步骤如下:
流水线***总训练时间包括各阶段内的计算时间与阶段间的数据通信时间两部分;流水线并行任务分配的目标是最小化单个批次训练完成总时间,也就是最小化流水线***单个训练批次所有阶段的计算时间和通信时间;对于给定的模型G,定义Tl为每一层的总计算时间,包括前向和后向传递计算;al为每一层的输出激活值大小;wl为每一层的参数量。若在每个阶段中使用m个计算节点进行数据并行训练,那么对于该阶段的第l层,每个计算节点之间需要互相通信的参数量为Wl m;假设将模型层划分为S个分组,对应流水线中S个阶段;任务分配方法目标是找到最优的流水线并行任务分配,使得T最小;任务分配方法的优化目标可表示为:
Figure FDA0003080016980000031
其中As表示阶段s内计算总时间,Cs表示阶段s和阶段s+1之间的通信时间。假设阶段s使用m个计算节点对模型中p→q层使用数据并行进行训练,则As表示阶段s内计算时间与参数同步时间的最大值,Cs表示阶段s和阶段s+1之间传输边界层中间结果的最大通信时间,其分别可表示为:
Figure FDA0003080016980000032
Figure FDA0003080016980000033
其中
Figure FDA0003080016980000034
为当前分组所有层的总计算时间,
Figure FDA0003080016980000035
为当前分组中所有层的最大参数同步时间,aq为第q层的输出激活值大小。
8.根据权利要求4所述的基于深度强化学习的流水线并行训练任务分配方法,其特征在于,对模型逐层编号,编号从1开始,使用编号表示当前层关联的下一层,由于模型中每一层相关联的下一层数量不同,每个编号分配2位编码宽度,如无下一层信息,则使用-0.1填充。
CN202110563603.2A 2021-05-24 2021-05-24 一种基于深度强化学习的流水线并行训练任务分配方法 Pending CN113312178A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110563603.2A CN113312178A (zh) 2021-05-24 2021-05-24 一种基于深度强化学习的流水线并行训练任务分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110563603.2A CN113312178A (zh) 2021-05-24 2021-05-24 一种基于深度强化学习的流水线并行训练任务分配方法

Publications (1)

Publication Number Publication Date
CN113312178A true CN113312178A (zh) 2021-08-27

Family

ID=77374314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110563603.2A Pending CN113312178A (zh) 2021-05-24 2021-05-24 一种基于深度强化学习的流水线并行训练任务分配方法

Country Status (1)

Country Link
CN (1) CN113312178A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115237580A (zh) * 2022-09-21 2022-10-25 之江实验室 面向智能计算的流水并行训练自适应调整***、方法
CN115994567A (zh) * 2022-12-28 2023-04-21 兰州交通大学 一种深度神经网络模型并行计算任务异步调度方法
CN116050499A (zh) * 2023-04-03 2023-05-02 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种模型并行训练中的自适应模型划分方法、***及设备
CN116432743A (zh) * 2023-04-19 2023-07-14 天津大学 一种提高强化学习***吞吐量的方法
CN116680060A (zh) * 2023-08-02 2023-09-01 浪潮电子信息产业股份有限公司 面向异构计算***的任务分配方法、装置、设备和介质
CN116991483A (zh) * 2023-09-25 2023-11-03 粤港澳大湾区数字经济研究院(福田) 一种针对语言模型计算的流水线并行方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190362227A1 (en) * 2018-05-23 2019-11-28 Microsoft Technology Licensing, Llc Highly performant pipeline parallel deep neural network training
CN110533183A (zh) * 2019-08-30 2019-12-03 东南大学 一种流水线分布式深度学习中异构网络感知的模型划分与任务放置方法
CN111381966A (zh) * 2020-03-08 2020-07-07 苏州浪潮智能科技有限公司 一种分布式并行训练的方法、设备及可读介质
CN112189235A (zh) * 2018-03-29 2021-01-05 伯耐沃伦人工智能科技有限公司 系综模型的创建和选择
US20210056389A1 (en) * 2019-08-23 2021-02-25 Samsung Electronics Co., Ltd. Neural network computing method and system including the same
WO2021047118A1 (zh) * 2019-09-12 2021-03-18 浪潮电子信息产业股份有限公司 一种图片处理方法、装置及***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112189235A (zh) * 2018-03-29 2021-01-05 伯耐沃伦人工智能科技有限公司 系综模型的创建和选择
US20190362227A1 (en) * 2018-05-23 2019-11-28 Microsoft Technology Licensing, Llc Highly performant pipeline parallel deep neural network training
US20210056389A1 (en) * 2019-08-23 2021-02-25 Samsung Electronics Co., Ltd. Neural network computing method and system including the same
CN110533183A (zh) * 2019-08-30 2019-12-03 东南大学 一种流水线分布式深度学习中异构网络感知的模型划分与任务放置方法
WO2021047118A1 (zh) * 2019-09-12 2021-03-18 浪潮电子信息产业股份有限公司 一种图片处理方法、装置及***
CN111381966A (zh) * 2020-03-08 2020-07-07 苏州浪潮智能科技有限公司 一种分布式并行训练的方法、设备及可读介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DEEPAK NARAYANAN: "pipedream:generalized pipeline parallelism for DNN training", 《ACM》 *
YINGCHI MAO: "TAPP: DNN Training for Task Allocation through Pipeline Parallelism Based on Distributed Deep Reinforcement Learning", 《APPLIED SCIENCES》 *
高开: "面向混合异构架构的模型并行训练优化方法", 《计算机工程与科学》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115237580A (zh) * 2022-09-21 2022-10-25 之江实验室 面向智能计算的流水并行训练自适应调整***、方法
CN115237580B (zh) * 2022-09-21 2022-12-16 之江实验室 面向智能计算的流水并行训练自适应调整***、方法
CN115994567A (zh) * 2022-12-28 2023-04-21 兰州交通大学 一种深度神经网络模型并行计算任务异步调度方法
CN115994567B (zh) * 2022-12-28 2024-03-22 兰州交通大学 一种深度神经网络模型并行计算任务异步调度方法
CN116050499A (zh) * 2023-04-03 2023-05-02 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种模型并行训练中的自适应模型划分方法、***及设备
CN116432743A (zh) * 2023-04-19 2023-07-14 天津大学 一种提高强化学习***吞吐量的方法
CN116432743B (zh) * 2023-04-19 2023-10-10 天津大学 一种提高强化学习***吞吐量的方法
CN116680060A (zh) * 2023-08-02 2023-09-01 浪潮电子信息产业股份有限公司 面向异构计算***的任务分配方法、装置、设备和介质
CN116680060B (zh) * 2023-08-02 2023-11-03 浪潮电子信息产业股份有限公司 面向异构计算***的任务分配方法、装置、设备和介质
CN116991483A (zh) * 2023-09-25 2023-11-03 粤港澳大湾区数字经济研究院(福田) 一种针对语言模型计算的流水线并行方法及装置
CN116991483B (zh) * 2023-09-25 2024-04-05 粤港澳大湾区数字经济研究院(福田) 一种针对语言模型计算的流水线并行方法及装置

Similar Documents

Publication Publication Date Title
CN113312178A (zh) 一种基于深度强化学习的流水线并行训练任务分配方法
CN109032671B (zh) 一种基于数据并行策略的分布式深度学习方法及***
CN110533183B (zh) 流水线分布式深度学习中异构网络感知的任务放置方法
US20210374503A1 (en) Network-centric architecture and algorithms to accelerate distributed training of neural networks
CN105975342A (zh) 基于改进布谷鸟搜索算法的云计算任务调度方法及***
CN115994567B (zh) 一种深度神经网络模型并行计算任务异步调度方法
CN109828836B (zh) 一种批量流式计算***参数动态配置方法
CN112433853B (zh) 一种面向超级计算机数据并行应用的异构感知数据划分方法
CN115437795B (zh) 一种异构gpu集群负载感知的显存重计算优化方法及***
CN114647515A (zh) 一种面向gpu集群的动态资源调度方法
CN113419931B (zh) 分布式机器学习***的性能指标确定方法及装置
KR20210044180A (ko) 고급 상호 연결 통신기술을 이용한 ai 훈련 가속화 방법 및 시스템
CN115362447A (zh) 针对执行流水线的划分
CN117234710A (zh) 一种采用强化学习实现ai模型训练内存优化的方法
CN115016938A (zh) 一种基于强化学习的计算图自动划分方法
Zhang et al. Optimizing execution for pipelined‐based distributed deep learning in a heterogeneously networked GPU cluster
CN107608781A (zh) 一种负载预测方法、装置以及网元
CN106844024A (zh) 一种自学习运行时间预测模型的gpu/cpu调度方法及***
CN114710196B (zh) 一种软件定义卫星网络虚拟网络功能迁移方法
CN116048759A (zh) 数据流的数据处理方法、装置、计算机和存储介质
Li et al. Performance optimization algorithm of radar signal processing system
CN114283046B (zh) 基于icp算法的点云文件配准方法、装置及存储介质
CN103514042B (zh) 一种双调归并排序调优方法及装置
CN114365148A (zh) 神经网络运行***和方法
CN111027018B (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: 20210827