一种用于分布式训练同步阶段的自动优化方法技术

技术编号:34617308 阅读:20 留言:0更新日期:2022-08-20 09:23
本发明专利技术提供一种用于分布式训练同步阶段的自动优化方法,所述方法包括在每个回合执行如下步骤:S1、获取在当前回合网络状态满足预设的系统要求的节点组成激活节点列表;S2、基于激活节点列表中的所有节点构建自动优化策略以从激活节点列表中选出使分布式系统效率最大的激活节点组合作为自动优化策略,并将自动优化策略对应的节点加入分布式训练。其中,所述激活节点列表包括当前回合已存在的激活节点列表以及当前回合新加入的新增激活节点列表,其中,所述当前回合新加入的新增激活节点列表是在当前回合网络状态满足系统要求的非激活节点组成的列表,所述非激活节点是指当前回合之前未加入分布式训练的节点。前回合之前未加入分布式训练的节点。前回合之前未加入分布式训练的节点。

【技术实现步骤摘要】
一种用于分布式训练同步阶段的自动优化方法


[0001]本专利技术涉及人工智能领域,具体来说,涉及应用于深度神经网络的分布式训练系统领域,更具体地说,涉及深度神经网络分布式训练过程中的同步阶段,即一种用于分布式训练同步阶段的自动优化方法。

技术介绍

[0002]随着科学技术技术的进步,现在信息的收集变得越来越容易。通过挖掘有用的信息,深度神经网络(Deep Neural Network,DNN)可以帮助人们完成日常生活中的各种任务,如图像识别、语言翻译、个人推荐等。然而,数据量的极速增加使其分析变得非常复杂和耗时,例如,微软的COCO数据集的大小达到25GB,包含330K图片,而ImageNet

22K的大小达到1TB,包含超过15M图片,对这些数据集进行分析可能需要几天甚至几周的时间。此外,深度神经网络(DNN)的模型大小也随着任务难度的增加而增加,如ResNet

50(98MB)和VGG

16(525MB)。由于上述两个原因,DNN的训练非常耗时,由此,人们提出了针对深度神经网络的分布式训练方法。分布式训练通过并行化策略为减少DNN的训练时间提供了一种有效的解决方案。
[0003]在分布式训练中,有两种模式,分别为模型并行和数据并行。模型并行模式是指一个DNN模型被划分为多个部分,分布式系统中不同的节点分布负责计算各个部分,但由于其划分工作复杂,在通信开销大的系统中效率较低,在实际应用中很少使用。如今,数据并行模式越来越普遍,数据并行模式包括计算阶段和同步阶段。在数据并行中,每个计算节点持有模型的一个副本,并且输入数据集分布到每个节点。其中,数据并行模式又分为同步训练和异步训练。然而,与同步分布式训练相比,异步分布式训练收敛速度较慢,最终精度较低,有时会出现非收敛的情况,由此,同步训练应用越来越广泛。在同步分布式训练中,每个节点完成一个小批量的训练后,系统开始收集梯度,用于均匀更新权值。这样,每个节点的每一轮训练都以相同的权重进行,相当于一个节点进行计算。
[0004]目前,同步分布式训练的主要架构有参数服务器架构和All Reduce算法架构。参数服务器架构的结构是一对多的,即一个参数服务器负责多个进程(worker),这种结构导致了较差的可伸缩性。在利用网络全双工特性的(Ring All Reduce、Halving and Doubling All Reduce)算法中,在同步阶段通过节点内交换梯度完成权值的更新,其可扩展性较好,它的性能随节点数量线性增长。但是,由于同步分布式训练和All Reduce算法的结构特点,资源和负载等带来的网络不平衡现象会给其性能带来严重的影响。同步分布式训练过程可分为计算阶段和同步阶段,而在同步阶段,由于All Reduce算法的结构特点,同步阶段的性能取决于分布式训练系统中网络状态最差的节点:一方面,由于网络连接的拓扑结构导致不同节点间的传输效率本身就有差别;另一方面,在现实场景中,单机上经常存在多个工作负载并存的情况,由于竞争网络资源,会进一步加剧网络不平衡问题,而此问题会导致总体性能受损。

技术实现思路

[0005]因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种能够优化分布式训练同步阶段性能的方法。
[0006]根据本专利技术的第一方面,提供一种用于分布式训练同步阶段的自动优化方法,所述方法包括在分布式训练的每个回合执行如下步骤:S1、获取在当前回合网络状态满足预设的系统要求的节点组成激活节点列表;S2、基于激活节点列表中的所有节点构建自动优化策略以从激活节点列表中选出使分布式系统效率最大的激活节点组合作为自动优化策略,并将自动优化策略对应的节点加入分布式训练。其中,所述激活节点列表包括当前回合已存在的激活节点列表以及当前回合新加入的新增激活节点列表,其中,所述当前回合新加入的新增激活节点列表是在当前回合网络状态满足系统要求的非激活节点组成的列表,所述非激活节点是指当前回合之前未加入分布式训练的节点。
[0007]在本专利技术的一些实施例总,通过如下步骤判断是否需要将非激活节点加入新增激活节点列表:对所有非激活节点进行网络状态统计,所述网络状态指的是在每个回合中非激活节点的网络速度;将在当前回合之前的连续达到第一预设阈值个数的回合中网络速度均大于或等于预设的网络速度阈值的非激活节点加入新增激活节点列表。优选的,所述第一预设阈值为5。
[0008]优选的,所述步骤S2包括:S21、将激活节点列表中的所有节点按照其对应网络状态由差到好进行升序排序;S22、按照步骤S21的排序从前往后以步长为1依次删除节点并采用剩余节点构建自动优化策略以获得多个自动优化策略;S23、计算每个自动优化策略对应的系统效率,选出系统效率最大的自动优化策略作为最终的自动优化策略,其中,每个自动优化策略对应的系统效率=该自动优化策略对应的所有节点的负载数/该自动优化策略对应的计算总时间。其中,自动优化策略对应的计算总时间包括在该自动优化策略对应的所有节点完成分布式训练计算阶段和同步阶段的总时间。
[0009]在本专利技术的一些实施例中,所述方法还包括:S3、基于当前回合之前的多个回合中每个激活节点的网络状态,统计每个激活节点在当前回合之前的每回合中处于最终自动优化策略中的次数作为其合格次数,并从激活节点列表中删除合格次数小于第二预设阈值的激活结点。优选的,所述第二预设阈值为3。
[0010]根据本专利技术的第二方面,提供一种分布式训练方法,用于对深度神经网络进行多回合训练,所述分布式训练的每个回合包括深度神经网络在分布式训练系统中的计算阶段和同步阶段,其特征在于,所述方法包括在同步阶段采用如本专利技术第一方面所述的方法获得自动优化策略进行分布式训练。
[0011]与现有技术相比,采用本专利技术方法后,DNN同步分布式训练中同步阶段的不平衡现象大大缓解,空闲等待时间减少,提升了训练效率。
附图说明
[0012]以下参照附图对本专利技术实施例作进一步说明,其中:
[0013]图1为根据本专利技术实施例的现有技术下训练效果示意图;
[0014]图2为根据本专利技术实施例的同步分布式训练效果示意图;
[0015]图3为根据本专利技术实施例的分布式训练原理示意图;
[0016]图4为根据本专利技术实施例的实验数据示意图。
具体实施方式
[0017]为了使本专利技术的目的,技术方案及优点更加清楚明白,以下通过具体实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0018]为了更好的理解本专利技术,首先介绍一下网络不平衡现象。
[0019]图1是现有技术下的All Reduce算法架构分布式训练示例示意图,假设有四个节点的分布式训练系统(节点0、1、2、3),可以看出同步分布式训练中,在同步阶段,各个节点交换数据(Scatter

Reduce步骤)后得到一个结果块(分别为块0、1、2、3),所谓的块是DNN本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于分布式训练同步阶段的自动优化方法,其特征在于,所述方法包括在分布式训练的每个回合执行如下步骤:S1、获取在当前回合网络状态满足预设的系统要求的节点组成激活节点列表;S2、基于激活节点列表中的所有节点构建自动优化策略以从激活节点列表中选出使分布式系统效率最大的激活节点组合作为自动优化策略,并将自动优化策略对应的节点加入分布式训练。2.根据权利要求1所述的方法,其特征在于,所述激活节点列表包括当前回合已存在的激活节点列表以及当前回合新加入的新增激活节点列表,其中,所述当前回合新加入的新增激活节点列表是在当前回合网络状态满足系统要求的非激活节点组成的列表,所述非激活节点是指当前回合之前未加入分布式训练的节点。3.根据权利要求2所述的方法,其特征在于,通过如下步骤判断是否需要将非激活节点加入新增激活节点列表:对所有非激活节点进行网络状态统计,所述网络状态指的是在每个回合中非激活节点的网络速度;将在当前回合之前的连续达到第一预设阈值个数的回合中网络速度均大于或等于预设的网络速度阈值的非激活节点加入新增激活节点列表。4.根据权利要求3所述的方法,其特征在于,所述第一预设阈值为5。5.根据权利要求1所述的方法,其特征在于,所述步骤S2包括:S21、将激活节点列表中的所有节点按照其对应网络状态由差到好进行升序排序;S22、按照步骤S21的排序从前往后以步长为1依次删除节点并采用剩余节点构建自动优化策略以获得多个自动优化策略;S23、计算每个自动优化...

【专利技术属性】
技术研发人员:林海阳严明玉邹沫王铎李文明叶笑春唐志敏范东睿
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1