当前位置: 首页 > 专利查询>清华大学专利>正文

一种加速分布式机器学习的方法及系统技术方案

技术编号:24331915 阅读:70 留言:0更新日期:2020-05-29 20:01
本发明专利技术实施例提供一种加速分布式机器学习的方法及系统,该方法包括:将机器学习模型输入到分布式机器学习系统中,对于所述分布式机器学习系统中的任意两个节点,在所述任意两个节点之间建立多条连接,并赋予这些连接不同的优先级;将所述机器学习模型的参数分配到多条连接上进行传输,使得紧急参数能够通过高优先级连接尽快完成传输,以对分布式机器学习训练进行加速。本发明专利技术实施例考虑前向计算过程中通信和计算的重叠,通过优先传输紧急参数,减少现有机器学习框架下参数传输顺序的随机性,重叠前向计算过程中的通信和计算,隐藏通信开销,并通过网络级别的流调度协调不同节点的通信,实现分布式的通信调度,从而加速训练过程。

A method and system for accelerating distributed machine learning

【技术实现步骤摘要】
一种加速分布式机器学习的方法及系统
本专利技术涉及计算机
,尤其涉及一种加速分布式机器学习的方法及系统。
技术介绍
随着数据量的增长,基于数据并行的分布式训练已经成为业界广泛采用的机器学习加速方式。在数据并行中,不同计算节点有同一模型的多个副本,每个计算节点使用不同的训练数据计算模型更新,然后所有计算节点之间汇总模型更新。模型汇总完成后,便开始新一轮计算。随着模型规模的增大(如BERT模型参数量高达3亿),模型汇总带来的通信开销逐渐成为影响分布式机器学习性能的一大因素。机器学习计算是逐层进行的,并可分为前向计算和反向传播两个阶段:前向计算负责计算模型的损失,反向传播负责计算模型的更新。为了降低通信对分布式机器学习性能的影响,现有方案普遍采用“无需等待的反向传播”方式,即反向传播时,后层模型更新的传输和前层模型更新的计算重叠,以尽可能隐藏模型更新传输的开销。然而,现有方案均未考虑前向计算过程中通信和计算的重叠,参数传输顺序具有随机性,从而导致迭代时间会大大增加,且机器学习效率低下。
技术实现思路
为了解决上述问题,本专利技术实施例提供一种加速分布式机器学习的方法及系统。第一方面,本专利技术实施例提供一种加速分布式机器学习的方法,包括:将机器学习模型输入到分布式机器学习系统中,对于所述分布式机器学习系统中的任意两个节点,在所述任意两个节点之间建立多条连接;将所述机器学习模型的参数分配到多条连接上进行传输,并赋予多条连接不同的优先级,以对分布式机器学习训练进行加速。优选地,所述将所述机器学习模型的参数分配到多条连接上进行传输,具体包括:对所述分布式机器学习系统中的每条连接设置一个优先级;对于任一优先级的连接,获取所述任一优先级的连接对应的目标参数,所述目标参数为所述任一优先级的连接需要传输的所述机器学习模型参数;所述任一优先级的连接对所述目标参数进行传输。优选地,还包括:将所述任一优先级作为所述目标参数的优先级。优选地,对于任意两个不同优先级的目标参数,当这两个目标参数进入网络时,先传输优先级高的目标参数。优选地,所述获取所述任一优先级的连接对应的目标参数,具体包括:通过启发式算法计算所述机器学习模型的参数在不同优先级之间的分配比例;根据所述分配比例,获取所述任一优先级的连接对应的目标参数。第二方面,本专利技术实施例提供一加速分布式机器学习的系统,包括:连接模块,用于将机器学习模型输入到分布式机器学习系统中,对于所述分布式机器学习系统中的任意两个节点,在所述任意两个节点之间建立多条连接;训练模块,用于将所述机器学习模型的参数分配到多条连接上进行传输,并赋予多条连接不同的优先级,以对分布式机器学习训练进行加速。第三方面,本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本专利技术第一方面加速分布式机器学习的方法的步骤。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本专利技术第一方面加速分布式机器学习的方法的步骤。本专利技术实施例提供的一种加速分布式机器学习的方法及系统,本方案考虑前向计算过程中通信和计算的重叠,通过优先传输紧急参数,减少现有机器学习框架下参数传输顺序的随机性,可以重叠前向计算过程中的通信和计算,隐藏通信开销,并通过网络级别的流调度协调不同节点的通信,实现分布式的通信调度,从而加速训练过程。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为参数随机传输和按序传输的比较示意图;图2为本专利技术实施例中一种加速分布式机器学习的方法的流程图;图3为本专利技术实施例中网络调度和端侧调度的比较的示意图;图4为本专利技术实施例提供的一种加速分布式机器学习的系统的结构示意图;图5为本专利技术实施例提供的一种电子设备的实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。机器学习计算是逐层进行的,并可分为前向计算和反向传播两个阶段:前向计算负责计算模型的损失,反向传播负责计算模型的更新。为了降低通信对分布式机器学习性能的影响,现有方案普遍采用“无需等待的反向传播”方式,即反向传播时,后层模型更新的传输和前层模型更新的计算重叠,以尽可能隐藏模型更新传输的开销。然而,现有方案均未考虑前向计算过程中通信和计算的重叠,参数传输顺序具有随机性,因此分布式机器学习训练性能仍有待提高。基于此,本专利技术的目的在于,设计一种基于流调度的分布式机器学习加速方案。图1为参数随机传输和按序传输的比较示意图,如图1所示,图1中(a)表示机器学习模型的参数随机传输,图1中(b)表示机器学习模型的参数按序传输,这里我们假设机器学习模型有4层,从前往后的顺序是第1层layer1、layer2、layer3和layer4,也就是图中的1、2、3、4。图中Pull表示拉取参数,Push表示推送梯度,ForwardPass表示前向计算,Back-Propagation(简称BP)表示反向传播,Aggregation表示参数汇总。Network表示网络,Worker表示工作者节点,PS表示参数服务器。参见图1中(b),在执行过程开始时首先要获取机器学习模型参数,当layer1的参数从PS到达worker后,layer1便可以开始计算了,此时layer2的参数传输可以和layer1的计算并行,当layer1计算完成,layer2的参数也到达worker了,那layer2的计算也可以开始,如此这样,直到最后一层layer4计算完成。然后开始BP过程,BP是反向的,从layer4到layer1的顺序,当layer4的梯度计算完成后,可以将其传输到PS上,与此同时,layer3的梯度计算也可以并行进行。当layer4的梯度到达PS上,PS可以汇总不同worker上的梯度,并更新参数。直到所有梯度都汇总完成,一次迭代计算结束,便可以开始下一次迭代了。参见图1中(a),当参数按照3、2、4、1的顺序到达worker时,worker只有收到layer1的参数才能开始layer1的计算,而layer2的计算依赖于layer1的计算结果,因此即使收到layer2的参数也无法开始。图里同样是一次迭代的过程。对比图1中(a)和图1中(b)可以看本文档来自技高网...

【技术保护点】
1.一种加速分布式机器学习的方法,其特征在于,包括:/n将机器学习模型输入到分布式机器学习系统中,对于所述分布式机器学习系统中的任意两个节点,在所述任意两个节点之间建立多条连接;/n将所述机器学习模型的参数分配到多条连接上进行传输,并赋予多条连接不同的优先级,以对分布式机器学习训练进行加速。/n

【技术特征摘要】
1.一种加速分布式机器学习的方法,其特征在于,包括:
将机器学习模型输入到分布式机器学习系统中,对于所述分布式机器学习系统中的任意两个节点,在所述任意两个节点之间建立多条连接;
将所述机器学习模型的参数分配到多条连接上进行传输,并赋予多条连接不同的优先级,以对分布式机器学习训练进行加速。


2.根据权利要求1所述加速分布式机器学习的方法,其特征在于,所述将所述机器学习模型的参数分配到多条连接上进行传输,具体包括:
对所述分布式机器学习系统中的每条连接设置一个优先级;
对于任一优先级的连接,获取所述任一优先级的连接对应的目标参数,所述目标参数为所述任一优先级的连接需要传输的所述机器学习模型参数;
所述任一优先级的连接对所述目标参数进行传输。


3.根据权利要求1所述加速分布式机器学习的方法,其特征在于,还包括:将所述任一优先级作为所述目标参数的优先级。


4.根据权利要求3所述加速分布式机器学习的方法,其特征在于,对于任意两个不同优先级的目标参数,当这两个目标参数进入网络时,先传输优先级高的目标参数。
...

【专利技术属性】
技术研发人员:李丹王帅耿金坤
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

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

1