首页> 中国专利> 一种多任务训练集群智能网络系统及集群网络优化方法

一种多任务训练集群智能网络系统及集群网络优化方法

摘要

本发明提供一种多任务训练集群智能网络系统及集群网络优化方法,通过在训练任务被调度到训练集群时,根据该训练任务特征及集群网络状态,基于选定的参数交换通信模型,为该训练任务生成一套包括逻辑拓扑网络的、自适应集群网络的植入方案,植入到集群物理网络,以匹配当前网络状态;并在植入后,在根据基于植入方案中逻辑拓扑形成的网络进行该训练任务的参数交换通信。由于作为训练瓶颈的参数交换过程中,能够自适应网络状态,高效率地利用了集群网络带宽,提高了分布式训练参数交换时的通信效率,进而提升了分布式训练的效率。

著录项

  • 公开/公告号CN112446484A

    专利类型发明专利

  • 公开/公告日2021-03-05

    原文格式PDF

  • 申请/专利权人 深圳致星科技有限公司;

    申请/专利号CN201910819130.0

  • 发明设计人 孙军欢;胡水海;

    申请日2019-08-31

  • 分类号G06N3/08(20060101);G06N3/04(20060101);

  • 代理机构44507 深圳市力道知识产权代理事务所(普通合伙);

  • 代理人何姣

  • 地址 518000 广东省深圳市南山区粤海街道高新区社区白石路3609号深圳湾科技生态园二区9栋A2405

  • 入库时间 2023-06-19 10:06:57

说明书

技术领域

本发明涉及深度学习训练集群网络通信领域;具体地,涉及一种多任务训练集群智能网络系统及集群网络优化方法。

背景技术

深度学习(Deep Learning,简称DL)在人工智能驱动服务中获得了广泛的成功,并成为了许多相关领域基本产品的核心。由于深度神经网络(Deep Neural Network,简称DNN)训练的计算成本极高,若要实现及时的训练则需发掘分布式系统并行计算的优势。于是,业内领军IT企业如微软、Facebook和Google已经开始在成百上千的服务器组成的生产集群上运行分布式深度学习训练(Deep Learning training,简称DLT)任务。作为一种计算密集型任务,DLT需要集中精力进行有效的集群计算资源调度。与此同时,随着GPU计算速度越来越快,模型越来越大,集群的性能瓶颈正从计算转向通信。但生产环境下DLT的网络优化还处在起步阶段,现有的参数交互机制存在着极大缺陷。

特别需要指出的是,生产环境下的深度学习训练集群(DL clusters)充满了各种不确定性,诸如:

1)网络拓扑异构性(topology heterogeneity)

由网络的复杂拓扑(complex topology)、收敛比(oversubscription)、拥塞(congestion)或故障(failures)等造成的网络拓扑异构问题;

2)带宽不对称(bandwidth asymmetry)

由网络流量动态和不同流量类型间干扰引起的宽带不对称问题;

3)多任务共享网络(network sharing)

成百上千训练任务同步运行时共享网络带来的一类不确定性问题。

发明内容

有鉴于此,本发明提供一种多任务训练集群智能网络系统及集群网络优化方法。

一方面,本发明实施例提供一种多任务训练集群智能网络系统。

上述的多任务训练集群智能网络系统,包括:

智能网络管理单元和智能网络代理单元;其中,

智能网络管理单元,用于根据训练任务特征和集群网络状态,基于选定的参数交换通信模型,生成一套包括逻辑拓扑网络的、自适应集群网络的植入方案,用以植入到集群物理网络,以匹配集群网络状态;

智能网络代理单元,用于收集训练任务特征、集群网络状态,以及实施植入方案并在根据植入方案中逻辑拓扑形成的网络中进行参数交换通信。

另一方面,本发明实施例提供一种优化多任务训练集群网络的方法。

结合第一方面,上述的集群网络优化方法,包括:

对于任一训练任务被调度到训练集群时,根据该训练任务特征和集群网络状态,基于选定的参数交换通信模型,为该训练任务生成一套包括逻辑拓扑网络的、自适应集群网络的植入方案,并植入到集群物理网络;

植入后,在根据基于植入方案中逻辑拓扑形成的网络中进行该训练任务的参数交换通信。

上述的多任务训练集群智能网络系统及集群网络优化方法,在训练任务被调度到训练集群时,根据该训练任务特征及集群网络状态,基于选定的参数交换通信模型,为该训练任务生成一套包括逻辑拓扑网络的、自适应集群网络的植入方案,植入到集群物理网络,以匹配当前网络状态;并在植入后,在根据基于植入方案中逻辑拓扑形成的网络进行该训练任务的参数交换通信。由于在参数交换过程在通信过程中,能够自适应网络状态,高效率地利用了集群网络带宽,因此本发明提供的智能网络系统及网络优化方法,能够提高分布式训练参数交换时的通信效率,进而提升了分布式训练的效率。

下面通过附图、具体实施例对本发明的技术方案做进一步的描述。

附图说明

为更加清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明中一部分实施例或现有技术描述中涉及的附图做简单介绍。

图1为本发明一些优选实施例提供的多任务训练集群智能网络系统的架构示意图。

图2为基于图1展示的架构构建的多任务训练集群智能网络系统原型的构成示意图。

具体实施方式

下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

以下为本发明的一些优选实施例。其中,

上述优选实施例中的一些提供一种多任务训练集群智能网络系统。该多任务训练集群智能网络系统,包括:

智能网络管理单元和智能网络代理单元;其中,

智能网络管理单元,运行在集群的一个节点上,用于根据训练任务特征和训练集群网络状态(例如训练集群各计算节点的网络带宽(占用/剩余)资源情况等),并基于选定的参数交换通信模型(如Parameter Server、Ring等),生成一套包括了逻辑拓扑网络、自适应集群网络的植入方案,用以植入到集群物理网络(即将上述的逻辑拓扑映射到集群物理网络),以匹配集群网络状态;

智能网络代理单元,则运行在训练集群的各个计算节点上,用于收集训练任务特征,即调度到集群的任务对集群资源(如计算节点)的占用情况等;还用于收集集群网络状态,即收集群各个计算节点的网络网络带宽(占用/剩余)资源情况等;

以及实施智能网络管理单元生成的植入方案,并在根据植入方案中逻辑拓扑形成的网络中进行参数交换通信。

在上述的优选实施例中,其提供的多任务训练集群智能网络系统的智能网络管理单元在生成的植入方案中,可以是只包括一个逻辑拓扑网络,也可以是同时包括数个逻辑拓扑网络;在一些网络状态条件下,为了更好地负载均衡和自适应集群网络,上述优选实施例的一些提供的集群智能网络系统中,其植入方案通常包括数个逻辑拓扑网络,且在植入方案中每个逻辑拓扑网络还对应的设定一个植入权重值;对应地,智能网络代理单元在每个计算节点将待交换参数,根据上述的植入权重值,切分成对应的参数片段,并根据对应的逻辑拓扑网络,进行参数聚合。

进一步,上述优选实施例中的一些提供的多任务训练集群智能网络系统,以整数线性规划方法求解上述植入方案,即求解植入方案中的逻辑拓扑网络数量及其具体连接方式和对应的植入权重值。当求解结果的植入方案中只含一个逻辑拓扑网络时,其植入权重值即为1。

再进一步,上述优选实施例中的一些提供的多任务训练集群智能网络系统,如果输出的植入方案包含了非常多的逻辑拓扑网络,无疑将造成整个智能网络系统的高开销和极其糟糕的流水线作业。因此,为限制植入方案中的逻辑拓扑网络数量,在上述的多任务训练集群智能网络系统整数线性规划求解植入方案时,设定一个惩罚参数,增加整数线性规划求解时的步长,以约束解的数量,即植入方案中逻辑拓扑网络数量。

上述优选实施例中的一些,在数据中心clos网络架构下,往往不得不面对收敛比的问题;故,在上述优先实施例中的一些提供的多任务训练集群智能网络系统中,定义一种新型的弹性聚合树状拓扑,用作选定的参数交换通信模型。上述的弹性聚合树状拓扑,包括叶节点、根节点以及二者之间的汇集节点;其中,

叶节点,用于发送本地参数以及接收全局参数更新;在集群中,每个运行该训练任务的计算节点对应一个叶节点;

根节点,用于汇集全部的参数,计算、反馈全局参数更新;

汇集节点,是指对应物理网络拓扑中的收敛层设定的用于聚合该收敛层区域内的叶节点/下一层汇聚节点的参数,和将聚合后参数更新发送到根节点/上一层汇聚节点,以减小收敛比问题造成的拥塞;同理,在反馈广播阶段,上述的通信过程反向进行。

上述优选实施例中的一些提供的多任务训练集群智能网络系统,在选择一些特定的参数交换通信模型(如Parameter server、弹性聚合树等)时,其参数聚合过程大致可分为如下三步:

1收集所有计算节点的参数更新;

2聚合参数更新;

3反馈广播参数更新。

如果在聚合过程中,将聚合参数数据(如一个张量数据,即tensor)作为一个整体进行传输时,那么由于前后的依赖关系,收集参数更新和反馈广播参数更新就无法重叠(即部分同时)执行。这样,也将降低聚合效率。因此,在这些实施例中,我们将聚合参数数据划分成若干个小的通信数据块。如此,上述的聚合过程即可在通信数据块间实现重叠执行。

上述优选实施例中的一些提供的多任务训练集群智能网络系统,在集群计算节点上运行着两个及两个以上的训练任务时,通过定义优先权实现任务间的流量调度,以期实现训练的早期反馈以及最小化平均任务完成时间。

上述优选实施例中的一些提供的多任务训练集群智能网络系统,为了更好地利用集群网络资源,在选择一些非链式的、依赖性不强的参数交换通信模型(如Parameterserver、弹性聚合树等)时,通过将集群网络带宽资源视为一个共享的资源池,通过任务间主动的网络带宽资源共享提高通信效率,例如调度集群中那些带宽负载较低的计算节点作为辅助节点,参与逻辑拓扑网络的生成。

上述优选实施例中的一些提供的多任务训练集群智能网络系统,为了及时地应对训练集群的动态流量变化,在任务训练过程中,周期性地根据训练任务特征和训练集群的当前网络状态生成新的植入方案并植入,以实时适应变化的网络状态,尽可能地提高通信效率。

结合上述实施例,图1展示了上述优选实施例中的一些提供的多任务训练集群智能网络系统的架构,图2则展示了基于上述架构构建的一种多任务训练集群智能网络系统原型的构成。如图1所示,上述的多任务训练集群智能网络系统原型,其架构如下:

即被设计成智能网络管理单元和智能网络代理单元两部分;其中,

智能网络管理单元,运行在集群的一个节点上;其根据调度到集群的任务特征和集群网络状态(即集群各计算节点的网络带宽(占用/剩余)资源情况等),基于选定的弹性聚合树状拓扑,生成一套自适应集群网络带宽的植入方案;

此外,智能网络管理单元还用于根据任务调度生成同一计算节点上任务间流量调度的方案;

智能网络代理单元,运行集群的各计算节点上,用于收集任务特征和集群网络状态,发送给智能网络管理单元;以及执行上述拓扑植入方案以及任务间流量调度;

结合图2所示,上述架构中的各项功能、组件的具体实现过程如下:

1)智能网络管理单元根据每个训练任务的任务特征和集群网络状态,以整数线性规划的方法为其生成一套包含着若干个弹性聚合树状拓扑网络的、自适应集群网络的植入方案:

a需要指出的是上述的弹性聚合树状拓扑是一种包括叶节点、根节点以及二者之间的汇集节点的树状拓扑;

叶节点,用于发送本地参数以及接收全局参数更新;它对应着该任务在集群上对应的每一个计算节点

根节点,用于汇集全部的参数,计算、反馈全局参数更新;在集群中,每个计算节点对应一个叶节点;

而汇集节点,是指对应物理网络拓扑中的收敛层设定的用于聚合该收敛层区域内的叶节点/下一层汇聚节点的参数,和将聚合后参数更新发送到根节点/上一层汇聚节点,以减小收敛比问题造成的拥塞;同理,在反馈广播阶段,上述的通信过程反向进行;

弹性聚合树状拓扑网的汇集节点仅出现在物理网络拓扑中存在收敛比问题时;

b对于任一的任务J,给定其被调度到的计算节点的集合为W,为该任务提供的辅助节点(参考任务间的网络资源共享)集合为A和剩余有效带宽B

综上,根据整数线性规划,最小化tr(i)/B

求解p

2)智能网络代理单元,运行集群的各计算节点上,除了收集任务特征和集群网络状态外,在执行拓扑植入方案通信以及任务间流量调度时,分别通过分解模块、和操作池化以及流量优先权模块等实现:

其中,需要通信的参数更新(这里以tensorflow中的tensor为例),在分解模块根据植入方案中的植入权重值被分解成参数片段,进而在对应的弹性聚合树状拓扑网络进行聚合;

发送过程:通过任务队列、完成队列以及操作池形式进行,提高执行效率;

流量优先权:

通过在Tos中标记在训练开始后第I轮迭代以内的任务的流量为最高优先级,以获得早期反馈,指导后续训练;同时,通过多级反馈队列,对队列中的任务流量在发送定量数据后适当降低其优先级,实现最小化任务平均完成时间;其中的I是根据经验设定的;

此外,周期性地在任务若干轮通信结束后,重新根据当前的网络状态,为其生成新的植入方案。

本发明的另一些优先实施例还提供一种优化多任务训练集群网络的方法。该方法包括:

对于任一训练任务被调度到训练集群时,根据该训练任务特征及集群网络状态(例如训练集群各计算节点的网络带宽(占用/剩余)资源情况等),基于选定的参数交换通信模型,为该训练任务生成一套包括了逻辑拓扑网络的、自适应集群网络的植入方案,并植入到集群物理网络;

植入后,在根据基于植入方案中逻辑拓扑形成的网络进行该训练任务的参数交换通信。

在上述的优选实施例中,其提供的优化多任务训练集群网络的方法中,生成的植入方案中,可以是只包括一个逻辑拓扑网络,也可以是同时包括数个逻辑拓扑网络;在一些网络状态条件下,为了更好地负载均衡和自适应集群网络,在上述优选实施例的一些提供的优化多任务训练集群网络的方法中,其植入方案通常包括数个逻辑拓扑网络,且在植入方案中每个逻辑拓扑网络还对应的设定一个植入权重值;对应地,在参数交换时,每个计算节点将待交换参数,根据上述的植入权重值,切分成对应的参数片段,并根据对应的逻辑拓扑网络,进行参数聚合。

进一步,在上述优选实施例的一些提供的优化多任务训练集群网络的方法中,以整数线性规划方法求解上述植入方案,即求解植入方案中的逻辑拓扑网络数量及其具体连接方式和对应的植入权重值。当求解结果的植入方案中只含一个逻辑拓扑网络时,其植入权重值即为1。

再进一步,上述优选实施例中的一些提供的优化多任务训练集群网络的方法中,如果输出的植入方案包含了非常多的逻辑拓扑网络,无疑将造成整个智能网络系统的高开销和极其糟糕的流水线作业。因此,为限制植入方案中的逻辑拓扑网络数量,在整数线性规划求解植入方案时,设定一个惩罚参数,增加整数线性规划求解时的步长,以约束解的数量,即植入方案中逻辑拓扑网络数量。

上述优选实施例中的一些,在数据中心clos网络架构下,往往不得不面对收敛比的问题;故,在上述优先实施例中的一些提供的优化多任务训练集群网络的方法中,定义一种新型的弹性聚合树状拓扑,用作选定的参数交换通信模型。上述的弹性聚合树状拓扑,包括叶节点、根节点以及二者之间的汇集节点;其中,

叶节点,用于发送本地参数以及接收全局参数更新;在集群中,每个运行该训练任务的计算节点对应一个叶节点;

根节点,用于汇集全部的参数,计算、反馈全局参数更新;

汇集节点,是指对应物理网络拓扑中的收敛层设定的用于聚合该收敛层区域内的叶节点/下一层汇聚节点的参数,和将聚合后参数更新发送到根节点/上一层汇聚节点,以减小收敛比问题造成的拥塞;同理,在反馈广播阶段,上述的通信过程反向进行。

上述优选实施例中的一些提供的优化多任务训练集群网络的方法中,在选择一些特定的参数交换通信模型(如Parameter server、弹性聚合树等)时,其参数聚合过程大致可分为如下三步:

1收集所有计算节点的参数更新;

2聚合参数更新;

3反馈广播参数更新。

如果在聚合过程中,将聚合参数数据(如一个张量数据,即tensor)作为一个整体进行传输时,那么由于前后的依赖关系,收集参数更新和反馈广播参数更新就无法重叠(即部分同时)执行。这样,也将降低聚合效率。因此,在这些实施例中,我们将聚合参数数据划分成若干个小的通信数据块。如此,上述的聚合过程即可在通信数据块间实现重叠执行。

上述优选实施例中的一些提供的优化多任务训练集群网络的方法中,在集群计算节点上运行着两个及两个以上的训练任务时,通过定义优先权实现任务间的流量调度,以期实现训练的早期反馈以及最小化平均任务完成时间。

上述优选实施例中的一些提供的优化多任务训练集群网络的方法中,为了更好地利用集群网络资源,在选择一些非链式的、依赖性不强的参数交换通信模型(如Parameterserver、弹性聚合树等)时,通过将集群网络带宽资源视为一个共享的资源池,通过任务间主动的网络带宽共享,例如调度集群中那些带宽负载较低的计算节点作为辅助节点,参与逻辑拓扑网络的生成。

上述优选实施例中的一些提供的优化多任务训练集群网络的方法中,为了及时地应对训练集群的动态流量变化,在任务训练过程中,周期性地根据训练任务特征和训练集群的当前网络状态生成新的植入方案并植入,以实时适应变化的网络状态,尽可能地提高通信效率。

以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号