CN113128702A - 一种基于强化学习的神经网络自适应分布式并行训练方法 - Google Patents

一种基于强化学习的神经网络自适应分布式并行训练方法 Download PDF

Info

Publication number
CN113128702A
CN113128702A CN202110406478.4A CN202110406478A CN113128702A CN 113128702 A CN113128702 A CN 113128702A CN 202110406478 A CN202110406478 A CN 202110406478A CN 113128702 A CN113128702 A CN 113128702A
Authority
CN
China
Prior art keywords
strategy
neural network
model
reinforcement learning
operator
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
CN202110406478.4A
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 CN202110406478.4A priority Critical patent/CN113128702A/zh
Publication of CN113128702A publication Critical patent/CN113128702A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

本发明公开了一种基于强化学习的神经网络自适应分布式并行训练方法,为大规模复杂神经网络的切分和调度提供最优化解决方案。本发明首先分析神经网络模型结构和计算属性对执行性能的影响,在此基础上提取包括计算代价、通信代价和内存使用率等性能因子,构建能够全面体现分布式训练性能的多维性能评价模型,提高并行策略综合性能;其次利用前馈网络根据算子属性特征实现算子自适应分组,确定并行度,减小搜索空间的同时实现了端到端的策略搜索;最后基于重要性采样,采用近端策略梯度迭代优化强化学习模型,搜索最优切分和调度策略,扩展策略网络离线学习能力,提高算法平稳性、收敛速率以及策略搜索性能。

Description

一种基于强化学习的神经网络自适应分布式并行训练方法
技术领域
本发明涉及一种基于强化学习的神经网络自适应分布式并行训练方法,为大规模复杂神经网络提供最优的模型并行训练方案。
背景技术
近年来,受益于AI算法、硬件计算能力和数据集发展,深度神经网络技术在自然语言处理、计算机视觉和搜索推荐等领域应用广泛。由于这些领域不断迭代研发规模更大,结构更复杂的神经网络,因此“摩尔定律”已难以匹配计算需求,单设备已无法支持大规模深度网络训练。因此,研究切分神经网络计算图,并将切分后的网络调度至含有多个CPU和GPU集群,实现模型并行训练已成为解决大规模神经网络训练的通用方法。
业界通常将神经网络计算图横向按层划分、纵向跨层划分或随机划分并调度至不同设备执行,但这些方法严重依赖专家经验,切分方式不合理,集群利用率低而且通常具有较大通信开销。
基于“图搜索”的启发式方法是指导模型并行训练方法之一,F.Pellegrini等人提出Scotch静态图切分方法,通过计算各节点成本和流过每条边的数据量,指导静态图切分,平衡工作负载以最小化通信成本,但该方法无法直接适用于动态环境。Jia等人提出FlexFlow框架,使用有向图描述DNN所有计算和状态,从算子、样本、参数以及特征四个维度的并行空间中自动搜索有效策略;Zhang等人针对数据同步并行问题提出AutoSync,随机搜索同步并行空间,获得最佳同步并行策略;Peng等人提出Optimus框架针对PS框架建立绩效模型,准确预估机器学习训练速度,通过构建在线资源性能模型来最小化作业训练时间。这些方法虽然在特定场景具有较好效果,但受限于网络类型(如FlexFlow只适用于DNN)、场景(如AutoSync只适用于数据同步并行,且只针对参数服务器架构)限制,难以获得普适推广。
另一类方法是通过机器学习指导模型切分和资源调度,Kim等人研发的Parallex通过学习线性模型调整变量大小,以实现自适应张量划分;Peter等人使用贝叶斯优化确定资源调度的信用度大小;Uber团队研发Horovod利用贝叶斯对可调节部分进行优化。但是上述方法并行维度较为单一,主体调优模型简单,而且这些方法聚焦于分布式运行策略运行时间的优化,并不能保证策略除运行时间外的其他性能。
因此,本发明研究上述缺陷,设计并实现一种基于强化学习的神经网络自适应分布式并行训练方法。
发明内容
本发明设计并实现一种基于强化学习的神经网络自适应分布式并行训练方法。通过构建能够全面体现分布式训练性能的多维性能评价模型,提高并行策略综合性能;根据算子属性特征实现算子自适应分组,确定并行度,从而达到减小搜索空间,实现自适应训练的目的;采用近端策略梯度方法迭代优化强化学习模型,扩展策略网络离线学习能力,提高算法平稳性、收敛速率以及策略搜索性能。
一种基于强化学习的神经网络自适应分布式并行训练方法,步骤如下:
步骤1:构建多维性能评价模型R(πgs),衡量分布式并行策略综合性能。首先分析影响神经网络执行性能的因素,包括神经网络模型结构、计算属性和集群拓扑等;其次提取计算代价Ei、通信代价Ci和内存使用率Mi等性能因子,最后通过以下两个步骤构建能够全面体现分布式训练性能的多维性能评价模型:
1)通过计算代价Ei和通信代价Ci的复杂线性关系f预测获得分布式并行策略单次迭代运行时间rt=f(Ei,Ci);
2)建立多维性能评价模型R=-log(αrt+βrc+γrm);其中rt,rc和rm分别表示单次迭代运行时间、峰值通信代价和峰值内存占用率,α,β和γ分别表示权重超参数,权重超参数是基于专家经验的方式,通过手动调优获得最佳权重组合。
步骤2:构建分布式并行策略搜索空间,确定分组和并行度,并生成完整模型并行策略。
首先,根据神经网络模型结构特性和集群拓扑,抽象计算图
Figure BDA0003022499030000021
和集群设备资源组
Figure BDA0003022499030000022
构建分布式并行策略搜索空间。计算图
Figure BDA0003022499030000023
中,顶点O表示神经网络算子,E表示连接顶点O的有向边。
其次,提取模型及算子属性,生成算子特征向量。基于计算图
Figure BDA0003022499030000024
提取所有算子的相关属性,包括算子类型、输入输出以及相邻节点索引,基于上述属性对算子进行特征编码,生成算子特征向量。
再次,构建切分策略网络
Figure BDA0003022499030000025
对算子分组,确定并行度,生成切分策略πg,继而再根据算子分组情况生成组特征编码。切分策略网络采用含有SoftMax的前馈神经网络,将算子特征向量和集群设备资源组
Figure BDA0003022499030000031
作为切分策略网络
Figure BDA0003022499030000032
的输入,实现算子的粗粒度分组,确定并行度。其中,同一组内算子不适合并行执行,组间算子适合并行执行。完成分组后选取组内算子特征向量生成组特征编码序列。
最后,构建调度策略网络
Figure BDA0003022499030000033
确定不同分组在设备上的调度策略πs。调度策略网络是含有注意力机制和长短时记忆的Seq2Seq双循环神经网络,采用编码器和解码器分别处理输入和输出不定长序列。调度策略网络
Figure BDA0003022499030000034
将切分策略网络
Figure BDA0003022499030000035
所得到的组特征编码作为输入序列,用于生成设备序列,生成的设备序列和输入的组特征编码序列呈一一对应的顺序关系,即第一分组中的所有算子将被调度至输出设备序列的第一个设备上执行,以此类推。这样的对应关系即为调度策略πs。切分策略πg和调度策略πs共同构成完整的模型并行策略(πgs)。如图1左侧所示,强化学习智能体Agent包含上述切分策略网络
Figure BDA0003022499030000036
和调度策略网络
Figure BDA0003022499030000037
双层策略网络。
步骤3:基于重要性采样,采用近端策略梯度迭代优化强化学习模型,搜索最优切分和调度策略。
首先,基于重要性采样的核心思想是分离采样和优化模型对象,完全拷贝一份切分策略网络和调度策略网络
Figure BDA0003022499030000038
副本
Figure BDA0003022499030000039
副本
Figure BDA00030224990300000310
负责不断采样切分调度策略,
Figure BDA00030224990300000311
负责模型参数的不断迭代更新,同时利用KL散度捕捉两模型间差异,当两模型间差异过大时,同步一次副本参数
Figure BDA00030224990300000312
其次,将步骤2中得到的完整模型并行策略输入执行模拟器(图1右侧执行模拟器所示),多维度采集策略执行性能,并通过计算代价Ei和通信代价Ci的复杂线性关系f预测获得分布式并行策略单次运行时间rt=f(Ei,Ci),通信开销,内存占用和计算负载在内的多种性能指标。在此基础上,以多维性能评价模型R(πgs)为指导计算强化学习奖励值R。
最后,根据奖励指导切分策略网络和调度策略网络
Figure BDA00030224990300000313
迭代优化。根据奖励值R,采用近端策略梯度方法,不断迭代协同优化切分策略网络和调度策略网络
Figure BDA00030224990300000314
参数,激励
Figure BDA00030224990300000315
策略网络在下一轮训练生成综合性能更优的模型并行策略。最后生成最优的并行策略,在真实分布式环境中执行,如图1右侧所示。
本发明具有的有益效果是:多维性能评价模型的建立,提高搜索到并行策略的综合性能;切分和调度双层策略网络的建立,实现模型并行策略完全端到端的搜索,无需人为介入;使用执行模拟器接管真实分布式执行环境,加快策略执行和性能评测速度,提高采样效率;使用基于重要性采样的分布式近端策略优化算法改进原有策略梯度算法,扩展策略网络离线学习能力,提高算法平稳性和收敛速率。于此同时,本发明中的多维性能评价模型和执行模拟器均可推广至其它自适应搜索场景。
附图说明
图1是基于强化学习搜索最优并行策略示意图;
图2是切分网络和策略网络联合架构图。
具体实施方式
下面将结合附图和具体实施步骤对本发明做出进一步说明:
如图1所示,一种基于强化学习的神经网络自适应分布式并行训练方法,包括以下步骤:
步骤1:构建多维性能评价模型R(πgs),衡量策略综合性能。首先分析影响神经网络执行性能的因素,包括神经网络模型结构、计算属性和集群拓扑等;其次提取计算代价Ei、通信代价Ci和内存使用率Mi等性能因子,其中计算代价Ei、通信代价Ci和内存使用率Mi定义如下:
计算代价,采用参与运算的张量精度除以设备计算密度联合表示,可衡量设备训练过程中计算负载情况,记Tj为该张量第j维深度,
Figure BDA0003022499030000041
为张量精度计算,ci为第i个设备计算密度,计算代价定义如下式:
Figure BDA0003022499030000042
通信代价,采用通信量大小除以通信带宽表示,可衡量设备训练过程的通信负载情况,记
Figure BDA0003022499030000043
表示张量大小,bi表示设备间通信带宽,通信代价表示如下式:
Figure BDA0003022499030000044
内存使用率,内存使用率Md采用当前设备i内存中模型参数物理存储大小和设备总内存mi的比值,内存使用率表示如下式:
Figure BDA0003022499030000045
通过上述定义,本发明将从运行时间、峰值内存和峰值通信代价三个维度对调度策略性能评价进行建模。建立起基于强化学习的多维性能评价模型,并将R作为强化学习奖励值,用于不断迭代提升
Figure BDA0003022499030000051
切分和调度策略网络综合性能,自适应寻找最优分布式并行切分和调度策略(πgs)。多维性能评价模型建模如下:
R(πgs)=-log(αrt+βrc+γrm) (4)
其中,奖励值R越大表示搜索到的策略越好。值得注意的是,上式中的自然对数运算也支持采用开方运算替换,其中α,β和γ分别表示权重超级参数,通过手动调优获得最佳权重组合。而rt,rc和rm分别表示运行时间、峰值通信负载和峰值内存使用率三个性能因子,各性能因子定义方式如下:
Figure BDA0003022499030000052
其中rt表示模拟或真实环境下策略单次迭代运行时间,利用模拟器间接通过计算代价Ei和通信代价Ci间的非线性关系f(Ei,Ci)预测获得,Rc表示多个设备的峰值通信代价,通过max{C1,C2,...,Ck}计算获得,其中Ci对应硬件设备i的通信代价,
Figure BDA0003022499030000053
表示用户可允许的最大通信量,如果超过最大通信量,将做出相应的处罚。同理Rm表示多个设备的峰值内存使用率,通过max{M1,M2,...,Mk}计算获得,其中Mi为内存使用率,
Figure BDA0003022499030000054
表示用户可容忍的最大内存占用率。
步骤2:如图2所示,构建分布式并行策略搜索空间,确定分组和并行度,并生成模型并行策略。
首先,根据神经网络模型结构特性和集群拓扑,抽象计算图
Figure BDA0003022499030000055
和集群设备资源组
Figure BDA0003022499030000056
构建分布式并行策略搜索空间。抽象计算图
Figure BDA0003022499030000057
和集群设备资源组
Figure BDA0003022499030000058
其中顶点O表示神经网络算子,记为O={o1,o2,…,oN}。O为连接顶点P的有向边,表示计算节点间通信数据依赖,记为E={e11,e12,…,eij}。针对集群设备资源组
Figure BDA0003022499030000059
将集群中CPU和GPU设备抽象为一系列资源组
Figure BDA00030224990300000510
现假设集群具有M个可用资源,那么可用资源组
Figure BDA00030224990300000511
可抽象为
Figure BDA00030224990300000512
其次,提取模型及算子属性,生成算子特征向量。提取计算图
Figure BDA00030224990300000513
中所有算子属性,包括算子类型(type)、输入输出(output shape)以及相邻节点索引(adj),对算子属性进行特征编码,生成算子特征向量。编码方式如下:提取计算图中算子三部分属性作为算子属性特征向量,(1)算子类型(type):例如卷积(Conv2D)、最大池化(MaxPool)或矩阵乘法(MalMul)等算子类型定义。本发明采用自然语言处理方法,收集TensorFlow API中常用的200个算子词汇,建立词汇表,将词汇作为自然语言处理任务,得到大小尺寸为20的词向量作为算子类型部分的嵌入特征;(2)算子输出张量大小(output shape):假设当前算子为oi,获取计算图顶点连边{ei1,ei2,…,eij}作为该算子输出张量列表。为了统一输出张量数,本发明统一输出张量数为6,并且指定输出张量的最大维度为4,如有不足则通过-1填充向量。例如,现有卷积算子输出一个形状为(2,2,1,64)的四维张量,那么它的大小为:256=2×2×1×64,其余输出张量位置均填充-1;(3)邻接算子索引(adj):按照拓扑排序遍历所有算子得到算子索引,将每个算子的入度和出度大小限制为6,并将该算子的父节点算子和子节点算子填充索引集合,依然采用-1填充入度和出度小于6的情况。
再次,构建切分策略网络
Figure BDA0003022499030000061
(如图2第一层架构所示)对算子分组,确定并行度,生成切分策略πg,再根据算子分组情况生成组特征编码。切分策略网络
Figure BDA0003022499030000062
是含有大小分别为64和128两层隐藏层的前馈神经网,并且在隐藏层之间引入30%丢弃层以防止过拟合。切分策略网络
Figure BDA0003022499030000063
采用带有SoftMax的前馈神经网络对计算图算子进行粗粒度分组。将前文所述算子特征向量和集群设备资源组
Figure BDA0003022499030000064
作为切分策略网络输入,产生粗粒度分组,同时确定并行度,其中,同一组内算子不适合并行执行,组间算子适合并行执行。分组完成后,切分策略网络
Figure BDA0003022499030000065
将组内算子特征编码合成组特征编码输出,包括三个部分:(1)将该组内所有算子类型编码求平均值后作为该组编码第一部分;(2)将该组内所有算子输出张量大小计算平均值后作为该组编码第二部分,注意,该部分编码不存在-1值;(3)分组的独热编码,表示组与组之间的相连关系,该部分向量长度为分组数量(例如将算子切分为256组,则向量长度即为256)。如果该组中的某个算子与第i组中的某个算子相连,则该向量第i个位置设置为1,否则为0。
最后,构建调度策略网络
Figure BDA0003022499030000066
(如图2第二层架构所示),确定不同分组的设备的调度策略πs。调度网络是含有注意力机制(Attention)和长短时记忆的Seq2Seq双循环神经网络,采用编码器(Encode)和解码器(Decode)分别处理输入和输出不定长序列。(1)将步骤2中获得的组特征编码作为调度策略网络
Figure BDA0003022499030000067
的输入,并采用编码器处理输入分组的不定长序列,每次读取一个分组gi的组特征编码向量并产生k个隐藏状态(Hidden),其中k是等于分组数量的超参数。(2)采用解码器处理输出设备的不定长序列,每次预测得到一个调度设备dj,得到的设备序列和输入分组序列具有一一对应的顺序关系,即第一组中的所有算子将被调度至解码器输出的第一个设备上,以此类推。值得注意的是,每个设备都具有其自己的可训练特征编码,而且前一个设备的特征编码将输入到下一步解码器中。调度策略网络πs采用注意力机制注意编码器状态,在训练过程中解码器将在第t步从SoftMax层采样获得设备dt。为了使得调度策略网络激活函数ut更加平坦,本发明引入SoftMax温度和分对数裁剪,使用温度T和tanh常数C来表达调度策略网络激活函数ut,即通过如下方式采样:
dt~softmax(Ctanh(ut/T)) (6)
解码器输出的设备序列即为对应输入分组的调度策略πs,切分策略πg和调度策略πs共同形成完整模型的并行策略(πgs)。
步骤3:基于重要性采样,采用近端策略梯度迭代优化强化学习模型,搜索最优切分和调度策略。
首先,基于重要性采样的核心思想是分离采样和优化模型对象,完全拷贝一份切分策略网络和调度策略网络
Figure BDA0003022499030000071
副本
Figure BDA0003022499030000072
副本
Figure BDA0003022499030000073
负责不断采样切分调度策略,生成切分调度策略样本,用于后续强化学习算法迭代优化;而
Figure BDA0003022499030000074
只负责模型参数的不断迭代更新。近端策略梯度方法利用KL散度捕捉两模型间差异,如果模型差异过大,将会同步一次副本参数
Figure BDA0003022499030000075
Figure BDA0003022499030000076
反之则继续使用陈旧模型副本完成采样。
其次,将步骤2中得到的完整模型并行策略输入执行模拟器,采集策略各方面执行性能,并通过计算代价Ei和通信代价Ci的复杂线性关系f预测获得分布式并行策略单步运行时间rt=f(Ei,Ci)。在此基础上,以多维性能评价模型R(πgs)为指导计算强化学习奖励值R。
其中执行模拟器设计方法如下:策略的首次执行将在真实分布式环境中执行,用于采集给定模型在所有设备上的运行性能。之后由执行模拟器接管真实分布式环境,将计算代价建模为Ei,将通信代价建模为Ci,本发明假设通信代价与设备间通信数据流大小呈线性关系。每个设备采用双线程维护以下两个先进先出度列。
Figure BDA0003022499030000077
表示设备d上算子运行队列,记录即将运行算子的先后顺序;
Figure BDA0003022499030000078
表示将从设备d上传输至其他设备的张量队列,记录即将通信至其他设备上的张量集合。
执行模拟器在设计过程中遵循如下三个原则:(1)只有当操作o所有依赖的父节点均执行完毕,且依赖的张量已全部获取到后才可以在设备d上开始运行;(2)计算与通信过程可相互重叠,即具备流水线执行机制;(3)同一设备上算子以串行方式执行。本发明中模拟器采用以下三个触发机制生成时间流水线:
触发机制一:触发执行。此处以当前算子oi正在设备dk上执行为例,完整触发执行过程将完成以下流程:1)完成当前算子oi在设备dk上执行过程,获取依赖该节点的所有子节点oj。2)获取oj节点所在设备dl,如果dj≠di,那么将操作oi输出张量ti入队列
Figure BDA0003022499030000081
如果dj=di,检查oj是否符合运行原则,如果符合,将其入队
Figure BDA0003022499030000082
3)如果
Figure BDA0003022499030000083
空闲,则将触发设备dk空闲状态;如果不空闲,则选择下一个队列
Figure BDA0003022499030000084
中算子执行触发。
Figure BDA0003022499030000085
触发机制二:触发通信。此处以张量ti从设备dk传输到dj为例,完整触发通信过程将执行以下流程:1)完成当前张量ti从设备dk传输到dj的完整过程。2)检查依赖于ti张量的算子ok是否符合运行原则,如果符合,将其入队
Figure BDA0003022499030000086
3)判断
Figure BDA0003022499030000087
是否为空,如果为空将设备dk的通信触发状态为空闲。如果不是,选择
Figure BDA0003022499030000088
下一传输张量触发通信流程。
Figure BDA0003022499030000089
Figure BDA0003022499030000091
触发机制三:触发状态。首先判断
Figure BDA0003022499030000092
Figure BDA0003022499030000093
是否为空,如果为空则触发执行空闲或通信空闲状态,如果不为空,则出队实现下一个算子触发执行或张量触发传输。
Figure BDA0003022499030000094
最后,完成执行模拟,得到奖励值R后,根据奖励值R,指导切分策略网络和调度策略网络
Figure BDA0003022499030000095
迭代优化,并输出最优并行策略在真实分布式环境中执行。在优化算法的选择上,本发明采用近端策略优化方法协同优化切分策略网络和调度策略网络,本质上我们希望最大化优化如下代价函数
Figure BDA0003022499030000096
Figure BDA0003022499030000097
Figure BDA0003022499030000101
令θg和θs分别为切分策略网络和调度策略网络参数,
Figure BDA0003022499030000102
为模型副本参数,将θg和θs联合表示为θ,
Figure BDA0003022499030000103
Figure BDA0003022499030000104
联合表示为θk。p(g,s;θ)表示切分和调度策略网络
Figure BDA0003022499030000105
策略的联合概率分布,q(g,s;θk)表示模型副本
Figure BDA0003022499030000106
采样获得的联合概率分布,R为奖励值,b为平均移动基线。
对上式的切分和策略网络参数进行拆分也可以写作如下形式:
Figure BDA0003022499030000107
其中
Figure BDA0003022499030000108
Figure BDA0003022499030000109
其中p(g;θg)表示切分策略网络
Figure BDA00030224990300001010
生成策略的概率分布,p(s|g;ηs)表示调度策略网络
Figure BDA00030224990300001011
生成调度策略的条件概率分布;
Figure BDA00030224990300001012
则表示切分策略网络副本
Figure BDA00030224990300001013
采样切分策略的概率分布,
Figure BDA00030224990300001014
表示调度策略网络副本
Figure BDA00030224990300001015
采样调度策略的条件概率分布;η为KL散度权重超参数。b为指数移动平均奖励基线,基线的引入可有效提高采样效率。如果令N为代表周期的超参数,那么指数移动平均奖励基线EMAN(bn)的递推计算式如下:
Figure BDA00030224990300001016
代价函数
Figure BDA00030224990300001017
的求导过程如下:
Figure BDA00030224990300001018
本发明采用Adam完成梯度下降过程,近端策略优化方法引入KL散度以避免θ和θk差距过大导致采样效率低下的问题。

Claims (5)

1.一种基于强化学习的神经网络自适应分布式并行训练方法,其特征在于,所述方法包括以下步骤:
(1)分析神经网络模型结构、计算属性等对神经网络执行性能的影响,提取包括计算代价、通信代价和内存使用率的性能因子,构建能够全面体现分布式训练性能的多维性能评价模型;
所述计算代价指参与运算的张量精度与设备计算密度比值,通信代价指通信量大小与通信带宽比值,内存使用率指当前设备模型参数物理存储大小与设备总内存比值;且所述性能因子还可扩展显存和吞吐量;
(2)根据神经网络模型结构特性和集群拓扑,构建分布式并行策略搜索空间;提取模型算子属性,包括算子类型、输入输出以及相邻节点索引,并根据算子属性采用前馈网络对模型所有算子进行自适应分组来确定深度网络模型并行度,其中,同一算子组中的算子不适合并行执行,算子组之间适合并行执行;
(3)基于重要性采样,采集强化学习训练样本,通过近端策略梯度方法迭代优化强化学习模型,寻找最优分布式并行策略。
2.根据权利要求1所述的一种基于强化学习的神经网络自适应分布式并行训练方法,其特征在于:步骤(1)中所述多维性能评价模型通过以下两个步骤建立:
(1)通过计算代价Ei和通信代价Ci的复杂线性关系f预测获得分布式并行策略单步运行时间rt=f(Ei,Ci);
(2)建立多维性能评价模型R=-log(αrt+βrc+γrm);其中;rt,rc和rm分别表示单步运行时间、峰值通信代价和峰值内存占用率,α,β和γ分别表示权重超参数,基于经验调参,获得最佳权重组合。
3.根据权利要求1所述的一种基于强化学习的神经网络自适应分布式并行训练方法,其特征在于:步骤(2)中所述确定深度网络模型并行度是指:对算子属性进行特征编码,基于多维性能评价模型计算所得奖励值,利用强化学习指导含有SoftMax的前馈神经网络完成算子分组,将互相依赖且通信代价较高的算子分为一组,从而确定深度网络模型并行度。
4.根据权利要求1所述的一种基于强化学习的神经网络自适应分布式并行训练方法,其特征在于:步骤(3)中所述近端策略梯度方法是指:分离采样和优化模型对象,利用KL散度捕捉两模型间差异,实现强化学习算法的离线迭代更新,引入指数移动平均奖励基线b降低收敛方差。
5.根据权利要求2所述的一种基于强化学习的神经网络自适应分布式并行训练方法,其特征在于:所述复杂线性关系f通过如下方式构造:每个设备采用双线程维护执行
Figure FDA0003022499020000021
和通信
Figure FDA0003022499020000022
两个先进先出队列构造策略执行过程,遵循如下原则:(1)只有当算子o所有依赖父节点均执行完毕,且获取到所有依赖张量后才可以在当前设备执行;(2)计算与通信过程可相互重叠;(3)同一设备算子以串行方式执行。
CN202110406478.4A 2021-04-15 2021-04-15 一种基于强化学习的神经网络自适应分布式并行训练方法 Pending CN113128702A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110406478.4A CN113128702A (zh) 2021-04-15 2021-04-15 一种基于强化学习的神经网络自适应分布式并行训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110406478.4A CN113128702A (zh) 2021-04-15 2021-04-15 一种基于强化学习的神经网络自适应分布式并行训练方法

Publications (1)

Publication Number Publication Date
CN113128702A true CN113128702A (zh) 2021-07-16

Family

ID=76776906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110406478.4A Pending CN113128702A (zh) 2021-04-15 2021-04-15 一种基于强化学习的神经网络自适应分布式并行训练方法

Country Status (1)

Country Link
CN (1) CN113128702A (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113744719A (zh) * 2021-09-03 2021-12-03 清华大学 一种语音提取方法、装置及设备
CN113836386A (zh) * 2021-11-25 2021-12-24 之江实验室 一种并行模式搜索空间构造系统和方法
CN113961351A (zh) * 2021-10-28 2022-01-21 北京百度网讯科技有限公司 深度学习模型的分布式训练方法、装置、设备及存储介质
CN114141028A (zh) * 2021-11-19 2022-03-04 哈尔滨工业大学(深圳) 智能红绿灯车流调控系统
CN114169427A (zh) * 2021-12-06 2022-03-11 北京百度网讯科技有限公司 基于端到端自适应的分布式训练方法、装置、设备
CN114186633A (zh) * 2021-12-10 2022-03-15 北京百度网讯科技有限公司 模型的分布式训练方法、装置、设备以及存储介质
CN114385876A (zh) * 2022-01-13 2022-04-22 北京九章云极科技有限公司 一种模型搜索空间生成方法、装置及系统
CN114492737A (zh) * 2021-12-31 2022-05-13 北京百度网讯科技有限公司 数据处理方法、装置及电子设备、存储介质及程序产品
CN114598631A (zh) * 2022-04-28 2022-06-07 之江实验室 面向神经网络计算的分布式数据路由的建模方法和装置
CN114862656A (zh) * 2022-05-18 2022-08-05 北京百度网讯科技有限公司 基于多gpu的分布式深度学习模型训练代价的获取方法
CN115186821A (zh) * 2022-09-13 2022-10-14 之江实验室 面向芯粒的神经网络推理开销估计方法及装置、电子设备
CN115543639A (zh) * 2022-12-01 2022-12-30 阿里云计算有限公司 分布式执行深度学习任务的优化方法和分布式系统
CN115996173A (zh) * 2022-11-14 2023-04-21 中国科学技术大学 面向分布式深度学习算子并行训练的通信优化方法与系统
CN116009990A (zh) * 2023-02-01 2023-04-25 天津大学 基于宽注意力机制的云边协同元强化学习计算卸载方法
CN116166405A (zh) * 2023-04-21 2023-05-26 北京燧原智能科技有限公司 异构场景下的神经网络任务调度策略确定方法及装置
WO2023150912A1 (zh) * 2022-02-08 2023-08-17 华为技术有限公司 算子的调度运行时间比较方法、装置及存储介质
CN116862019A (zh) * 2023-07-06 2023-10-10 清华大学 基于数据并行范式的模型训练方法及装置
CN117009093A (zh) * 2023-10-07 2023-11-07 之江实验室 降低神经网络推理所需内存占用量的重计算方法和系统
CN117093871A (zh) * 2023-10-16 2023-11-21 之江实验室 一种面向深度学习分布式训练测评方法和系统
WO2024065826A1 (en) * 2022-09-30 2024-04-04 Intel Corporation Accelerate deep learning with inter-iteration scheduling

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113744719A (zh) * 2021-09-03 2021-12-03 清华大学 一种语音提取方法、装置及设备
JP7433373B2 (ja) 2021-10-28 2024-02-19 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 深層学習モデルの分散トレーニング方法、装置、電子機器、記憶媒体およびコンピュータプログラム
JP2022137193A (ja) * 2021-10-28 2022-09-21 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 深層学習モデルの分散トレーニング方法、装置、電子機器、記憶媒体およびコンピュータプログラム
CN113961351A (zh) * 2021-10-28 2022-01-21 北京百度网讯科技有限公司 深度学习模型的分布式训练方法、装置、设备及存储介质
CN114141028A (zh) * 2021-11-19 2022-03-04 哈尔滨工业大学(深圳) 智能红绿灯车流调控系统
CN113836386B (zh) * 2021-11-25 2022-03-25 之江实验室 一种并行模式搜索空间构造系统和方法
CN113836386A (zh) * 2021-11-25 2021-12-24 之江实验室 一种并行模式搜索空间构造系统和方法
CN114169427A (zh) * 2021-12-06 2022-03-11 北京百度网讯科技有限公司 基于端到端自适应的分布式训练方法、装置、设备
CN114169427B (zh) * 2021-12-06 2022-10-04 北京百度网讯科技有限公司 基于端到端自适应的分布式训练方法、装置、设备
CN114186633A (zh) * 2021-12-10 2022-03-15 北京百度网讯科技有限公司 模型的分布式训练方法、装置、设备以及存储介质
CN114492737A (zh) * 2021-12-31 2022-05-13 北京百度网讯科技有限公司 数据处理方法、装置及电子设备、存储介质及程序产品
CN114492737B (zh) * 2021-12-31 2022-12-09 北京百度网讯科技有限公司 数据处理方法、装置及电子设备、存储介质及程序产品
CN114385876A (zh) * 2022-01-13 2022-04-22 北京九章云极科技有限公司 一种模型搜索空间生成方法、装置及系统
WO2023150912A1 (zh) * 2022-02-08 2023-08-17 华为技术有限公司 算子的调度运行时间比较方法、装置及存储介质
CN114598631A (zh) * 2022-04-28 2022-06-07 之江实验室 面向神经网络计算的分布式数据路由的建模方法和装置
WO2023082576A1 (zh) * 2022-04-28 2023-05-19 之江实验室 面向神经网络计算的分布式数据路由的建模方法和装置
US11805025B1 (en) 2022-04-28 2023-10-31 Zhejiang Lab Neural network computing-oriented modeling method and apparatus for distributed data routing
CN114862656A (zh) * 2022-05-18 2022-08-05 北京百度网讯科技有限公司 基于多gpu的分布式深度学习模型训练代价的获取方法
CN114862656B (zh) * 2022-05-18 2023-05-05 北京百度网讯科技有限公司 基于多gpu的分布式深度学习模型训练代价的获取方法
CN115186821B (zh) * 2022-09-13 2023-01-06 之江实验室 面向芯粒的神经网络推理开销估计方法及装置、电子设备
CN115186821A (zh) * 2022-09-13 2022-10-14 之江实验室 面向芯粒的神经网络推理开销估计方法及装置、电子设备
WO2024065826A1 (en) * 2022-09-30 2024-04-04 Intel Corporation Accelerate deep learning with inter-iteration scheduling
CN115996173A (zh) * 2022-11-14 2023-04-21 中国科学技术大学 面向分布式深度学习算子并行训练的通信优化方法与系统
CN115996173B (zh) * 2022-11-14 2023-06-20 中国科学技术大学 面向分布式深度学习算子并行训练的通信优化方法与系统
CN115543639B (zh) * 2022-12-01 2023-04-28 阿里云计算有限公司 分布式执行深度学习任务的优化方法和分布式系统
CN115543639A (zh) * 2022-12-01 2022-12-30 阿里云计算有限公司 分布式执行深度学习任务的优化方法和分布式系统
CN116009990A (zh) * 2023-02-01 2023-04-25 天津大学 基于宽注意力机制的云边协同元强化学习计算卸载方法
CN116009990B (zh) * 2023-02-01 2024-03-29 天津大学 基于宽注意力机制的云边协同元强化学习计算卸载方法
CN116166405A (zh) * 2023-04-21 2023-05-26 北京燧原智能科技有限公司 异构场景下的神经网络任务调度策略确定方法及装置
CN116862019A (zh) * 2023-07-06 2023-10-10 清华大学 基于数据并行范式的模型训练方法及装置
CN116862019B (zh) * 2023-07-06 2024-03-19 清华大学 基于数据并行范式的模型训练方法及装置
CN117009093A (zh) * 2023-10-07 2023-11-07 之江实验室 降低神经网络推理所需内存占用量的重计算方法和系统
CN117009093B (zh) * 2023-10-07 2024-03-12 之江实验室 降低神经网络推理所需内存占用量的重计算方法和系统
CN117093871A (zh) * 2023-10-16 2023-11-21 之江实验室 一种面向深度学习分布式训练测评方法和系统
CN117093871B (zh) * 2023-10-16 2024-02-13 之江实验室 一种面向深度学习分布式训练测评方法和系统

Similar Documents

Publication Publication Date Title
CN113128702A (zh) 一种基于强化学习的神经网络自适应分布式并行训练方法
Addanki et al. Placeto: Learning generalizable device placement algorithms for distributed machine learning
CN113515370B (zh) 一种面向大规模深度神经网络的分布式训练方法
CN111538848B (zh) 一种融合多源信息的知识表示学习方法
CN110175628A (zh) 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法
CN106547882A (zh) 一种智能电网中营销大数据的实时处理方法及系统
US11481627B2 (en) Distributed learning of composite machine learning models
CN106777006B (zh) 一种基于Spark下并行超网络的分类方法
CN114329232A (zh) 一种基于科研网络的用户画像构建方法和系统
Jiang et al. Fedmp: Federated learning through adaptive model pruning in heterogeneous edge computing
CN112906853A (zh) 模型自动优化的方法及装置、设备、存储介质
CN114936708A (zh) 基于边云协同任务卸载的故障诊断优化方法及电子设备
CN116306897A (zh) 一种基于ac强化学习的神经网络分布式自动并行训练方法
CN116112563A (zh) 一种基于流行度预测的双策略自适应缓存替换方法
Meng et al. Decentralized distributed deep learning with low-bandwidth consumption for smart constellations
Li et al. Optimizing makespan and resource utilization for multi-DNN training in GPU cluster
Raman et al. Scaling multinomial logistic regression via hybrid parallelism
CN116755876A (zh) 一种大模型混合并行训练加速方法和系统
CN116400963A (zh) 一种基于负载均衡的模型自动并行方法、设备及存储介质
CN116302481A (zh) 基于稀疏知识图谱链接预测的资源分配方法及系统
CN117035045A (zh) 模型参数更新方法、装置、设备、存储介质和程序产品
Jiao et al. Realization and improvement of object recognition system on raspberry pi 3b+
Zhang et al. Expediting distributed DNN training with device topology-aware graph deployment
Niu et al. A Novel Distributed Duration-Aware LSTM for Large Scale Sequential Data Analysis
Venkatesh et al. Parallel and Streaming Wavelet Neural Networks for Classification and Regression under Apache Spark

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