【技术实现步骤摘要】
分布式训练中梯度同步方法、分布式训练系统
[0001]本说明书实施例涉及计算机
,特别涉及一种分布式训练中梯度同步方法。本说明书一个或者多个实施例同时涉及两种分布式训练中梯度同步方法,三种分布式训练系统,两种计算设备,以及两种计算机可读存储介质。
技术介绍
[0002]目前,随着计算机技术的迅猛发展,深度学习技术也得到了快速进步,随着深度学习技术的深入,研发出越来越复杂的算法,这些算法需要大量的数据并耗费大量的时间才能有效的完成训练,因此研发出了分布式训练。
[0003]在深度学习的分布式训练场景中,训练神经网络模型大多采用数据并行中的同步更新的训练方式,在这种训练方式下,每个训练节点中的模型参数是一致的,当某个训练节点上的梯度被计算获得之后,需要等待其他训练节点上的对应梯度也被计算获得,再通过参数服务器与训练节点之间或训练节点与训练节点之间协商梯度同步的顺序,在协商完成后才能进行梯度的同步,在等待获取其他训练节点上对应梯度和协商梯度同步顺序的过程中,使得网络带宽在等待中被浪费,导致神经网络模型的训练时间变长, ...
【技术保护点】
【技术特征摘要】
1.一种分布式训练中梯度同步方法,所述方法包括:将第一训练数据输入至待训练神经网络模型中进行训练;对训练时间进行监控,在所述训练时间与预设的时间点序列中的第一时间点相同的情况下,获取所述待训练神经网络模型在第一时间区间内生成的梯度集合,其中,所述第一时间区间由所述第一时间点的上一时间点与所述第一时间点确定;将所述梯度集合发送至预先配置在当前训练节点的通讯库中,其中,所述通讯库用于与分布式训练集群中的其他训练节点通讯;通过所述通讯库获取所述分布式训练集群中的其他训练节点中的梯度集合。2.如权利要求1所述的分布式训练中梯度同步方法,在通过所述通讯库获取所述分布式训练集群中的其他训练节点中的梯度集合之后,还包括:根据所述分布式训练集群中每个所述训练节点的梯度集合更新当前训练节点中所述待训练神经网络模型的参数。3.如权利要求2所述的分布式训练中梯度同步方法,根据所述分布式训练集群中每个所述训练节点的梯度集合更新当前训练节点中所述待训练神经网络模型的参数,包括:将所述分布式训练集群中每个所述训练节点的梯度集合中的梯度进行累加获得累加梯度;根据所述累加梯度和所述分布式训练集群中训练节点的个数计算平均梯度;根据所述平均梯度计算所述待训练神经网络模型的损失值;根据所述损失值更新所述待训练神经网络模型的参数。4.如权利要求1所述的分布式训练中梯度同步方法,所述时间点序列包括n个时间点,其中,n>1;对训练时间进行监控,在所述训练时间与预设的时间点序列中的第一时间点相同的情况下,获取所述待训练神经网络模型在第一时间区间内生成的梯度集合,包括:对训练时间进行监控,在所述训练时间与第i个时间点相同的情况下,将第i-1个时间点至第i个时间点之间生成的梯度打包生成梯度集合,其中,2<=i<=n;将i自增1,判断i是否大于n,若是,则结束梯度同步,若否,则继续执行训练时间与第i个时间点相同的情况下的操作。5.如权利要求1所述的分布式训练中梯度同步方法,所述预设的时间点序列通过下述步骤生成,包括:接收第二训练数据,并将所述第二训练数据输入至所述待训练神经网络模型中进行训练;获取所述待训练神经网络模型在训练过程中生成的多个梯度,并记录每个梯度的生成时间;根据所述每个梯度的生成时间对所述待训练神经网络模型的多个梯度进行聚类;根据聚类结果确定时间点序列。6.如权利要求5所述的分布式训练中梯度同步方法,根据聚类结果确定时间点序列,包括:根据所述聚类结果的每个类别中梯度的生成时间确定当前类别对应的起始时间和结束时间;
根据所述聚类结果的每个类别的起始时间和结束时间确定相邻类别之间的时间间隔;根据所述时间间隔制作时间点序列。7.如权利要求6所述的分布式训练中梯度同步方法,在根据所述聚类结果的每个类别的起始时间和结束时间确定相邻类别之间的时间间隔之后,还包括:在所述时间间隔大于预设阈值的情况下,接收第三训练数据,并将所述第三训练数据输入至所述待训练神经网络模型中进行训练;获取所述待训练神经网络模型在训练过程中生成的多个梯度,并记录每个梯度的生成时间;根据所述每个梯度的生成时间对所述待训练神经网络模型的多个梯度进行聚类;根据聚类结果确定时间点序列。8.一种分布式训练中梯度同步方法,所述方法应用于待训练神经网络模型的分布式训练集群,所述分布式训练集群包括至少一个参数服务器和至少两个训练节点,所述方法包括:每个所述训练节点将第一训练数据输入至所述待训练神经网络模型中进行训练;每个所述训练节点对训练时间进行监控,在所述训练时间与预设的时间点序列中的第一时间点相同的情况下,获取所述待训练神经网络模型在第一时间区间内生成的梯度集合,其中,所述第一时间区间由所述第一时间点的上一时间点与所述第一时间点确定;每个所述训练节点将所述梯度集合发送至所述参数服务器;所述参数服务器接收每个所述训练节点发送的梯度集合。9.如权利要求8所述的分布式训练中梯度同步方法,在所述参数服务器接收每个所述训练节点发送的梯度集合之后,还包括:所述参数服务器根据每个所述训练节点发送的梯度集合更新所述待训练神经网络模型的参数,并将更新后的参数发送至每个所述训练节点;每个所述训练节点接收参数服务器发送的更新后的参数,并更新当前训练节点中所述待训练神经网络模型的参数。10.如权利要求9所述的分布式训练中梯度同步方法,所述参数服务器根据每个所述训练节点发送的梯度集合更新所述待训练神经网络模型的参数,包括:将每个所述训练节点发送的梯度集合中的梯度进行累加获得累加梯度;根据所述累加梯度和所述分布式训练集群中训练节点的个数计算平均梯度;根据所述平均梯度计算所述待训练神经网络模型的损失值;根据所述损失值更新所述待训练神经网络模型的参数。11.如权利要求8所述的分布式训练中梯度同步方法,所述时间点序列包括n个时间点,其中,n>1;每个所述训练节点对训练时间进行监控,在所述训练时间与预设的时间点序列中的第一时间点相同的情况下,获取所述待训练神经网络模型在第一时间区间内生成的梯度集合,包括:对每个所述训练节点的训练时间进行监控,在所述训练时间与第i个时间点相同的情况下,将第i-1个时间点至第i个时间点之间生成的梯度打包生成梯度集合,其中,2&...
【专利技术属性】
技术研发人员:龚志刚,林立翔,游亮,龙欣,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。