CN107018184A - 分布式深度神经网络集群分组同步优化方法及系统 - Google Patents

分布式深度神经网络集群分组同步优化方法及系统 Download PDF

Info

Publication number
CN107018184A
CN107018184A CN201710191685.6A CN201710191685A CN107018184A CN 107018184 A CN107018184 A CN 107018184A CN 201710191685 A CN201710191685 A CN 201710191685A CN 107018184 A CN107018184 A CN 107018184A
Authority
CN
China
Prior art keywords
packet
machine
node
group
training
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.)
Granted
Application number
CN201710191685.6A
Other languages
English (en)
Other versions
CN107018184B (zh
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201710191685.6A priority Critical patent/CN107018184B/zh
Publication of CN107018184A publication Critical patent/CN107018184A/zh
Application granted granted Critical
Publication of CN107018184B publication Critical patent/CN107018184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

本发明公开了一种分布式深度神经网络集群分组同步优化方法及系统,其中,方法的实现包括:对集群中的节点按性能分组、训练数据按节点性能分配、同组内使用同步并行机制、不同组间使用异步并行机制和不同组间使用不同的学习率。将性能相近的节点分为一组,可以减小同步开销;性能好的节点分配更多的训练数据,可以提高其资源利用率;在同步开销小的组内使用同步并行机制,可以发挥同步并行机制收敛效果好的优点;在同步开销大的组间使用异步并行机制,可以避免同步开销;对不同分组使用不同的学习率,有利于模型收敛。本发明针对异构集群中分布式深度神经网络的参数同步过程,使用了分组同步方法,大大提高了模型的收敛速度。

Description

分布式深度神经网络集群分组同步优化方法及系统
技术领域
本发明属于深度神经网络的分布式优化技术领域,更具体地,涉及一种分布式深度神经网络集群分组同步优化方法及系统。
背景技术
目前,深度神经网络(Deep Neural Network,DNN)已经应用于图像、语音、自然语言处理等诸多领域,并取得许多突破性进展。深度神经网络由于其训练数据和训练的模型参数规模大两大原因,需要充足的计算资源和存储资源。因此,传统的单机器节点训练模式已经无法满足要求,必须采用集群等分布式计算模式。
分布式深度学习(Distributed Deep Learning)通常采用数据并行模式进行模型训练。如图1所示,数据并行是指对训练数据进行切分,每台机器节点上存储其中一份或多份切分的训练数据,并且各使用一份完整的深度神经网络模型参数同时进行训练的并行方式。为了汇总每台机器节点在每轮迭代的训练结果,通常需要部署一台或多台参数服务器,在训练过程中收集每台机器节点提交的梯度ΔW,根据公式W'=W-η×ΔW将本地存储的模型参数更新为最新的模型参数,其中η为学习率,然后再将W'分发给机器节点进行下一轮迭代。
其中,节点提交的梯度需要根据一定的并行机制同步到参数服务器,常见的并行机制主要有同步并行和异步并行两种。在一个有n台节点的集群中,如果采用同步并行机制,节点nodei(i为节点的标号,i:1~n)完成本轮迭代并向参数服务器提交梯度后,需要等待其他节点nodem(m为节点的标号,m:1~n,m≠i)也完成本轮迭代并向参数服务器提交梯度(这个过程称为同步),参数服务器根据每台节点的梯度ΔWi得到平均梯度之后根据公式W'=W-η×ΔWavg更新本地的模型参数W,将得到的新模型参数W'分发到各台节点上,此时每台节点都使用相同的新模型W'进行下一轮迭代,如图2。如果采用异步并行机制,节点nodei向参数服务器提交梯度ΔWi后,参数服务器马上利用该梯度更新本地模型W'=W-η×ΔWi,并将新模型参数W'分发给nodei,而不用等待其他节点(这个过程称为异步),如图3。
同步并行机制由于节点在每轮迭代结束都进行参数更新的同步操作,因此下一轮迭代开始都使用相同的新模型,在模型参数的超维空间中,参数的更新方向比较一致,模型的收敛效果好,即模型的训练准确率和测试准确率高。但是节点间的同步开销比较大,一台节点在等待其他节点完成本轮迭代过程中,自身的计算资源、网络资源等都处于闲置状态,在异构集群和大规模同构集群中,这种现象尤为严重。在异构集群中,由于节点的硬件配置有较大区别,节点间存在明显的性能差异,有一部分节点运行速度快,而另一部分节点运行速度慢,因此在每轮迭代过程中,速度快的节点都需要等待速度慢的节点,造成速度快的节点资源闲置,训练的瓶颈在于速度最慢的节点;在大规模的同构集群中,虽然节点的性能相同,但由于节点数量多,集群整体的稳定性会有所降低,难免会出现一些节点性能波动的情况,同时参数服务器需要处理的请求数也大大增加,造成每轮迭代的同步开销比较大。异步并行机制由于节点在每轮迭代过程中都不用考虑其他节点的状态,消除了节点间相互等待的时间开销,因此节点的资源利用率高,其训练速度快,但是,由于没有参数更新同步操作,会有陈旧梯度问题,在模型参数的超维空间中,参数的更新方向比较波折,因此在相同的迭代次数下,其模型的收敛效果会比同步并行机制差。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种分布式深度神经网络集群分组同步优化方法及系统,通过将性能相近的节点分为一组,可以减小同步开销;性能好的节点分配更多的数据,可以提高其资源利用率;在同步开销小的组内使用同步并行机制,可以发挥同步并行机制收敛效果好的优点;在同步开销大的组间使用异步并行机制,可以避免同步开销;对不同分组使用不同的学习率,有利于模型收敛。
为实现上述目的,按照本发明的一个方面,提供了一种分布式深度神经网络集群分组同步优化方法,包括:
(1)基于集群中各机器节点的性能将集群中的n台机器节点分为N组,其中,属于同一分组的各机器节点性能相近;
(2)为各分组分配训练数据,其中,每个分组中所有机器节点的总体性能与该分组对应的训练数据量正相关,且同一分组内的各机器节点分配的训练数据量相同;
(3)为各分组分配不同的学习率,其中,各分组中的机器节点数目及各分组中所有机器节点的总体性能与分组对应的学习率正相关;
(4)在每个分组内部使用同步并行机制对分组中的训练数据进行训练;
(5)各分组之间使用异步并行机制对分组中的训练数据进行训练。
优选地,步骤(1)具体包括:
(1.1)对集群中的每台机器节点nodei,使用该机器节点nodei训练一个世代,其中,i为机器节点标号,i=1~n,每台机器节点训练所使用的训练数据、神经网络结构和训练超参数相同;
(1.2)获取每台机器节点的训练时间ti,根据每台机器节点的训练时间ti将所有机器节点分为N组,其中,属于同一分组的各机器节点的训练时间相近。
优选地,步骤(2)具体包括:
对于每个分组groupj,由计算出groupj中每台机器节点分配的训练数据量百分比,其中,Tj表示groupj中训练时间最长的机器节点对应的训练时间,Mj表示groupj中机器节点的数量,j=1~N,Tg表示groupg中训练时间最长的机器节点对应的训练时间,Mg表示groupg中机器节点的数量,j、g为分组标号。
优选地,步骤(3)具体包括:
(3.1)为每个分组初始化相同的学习率;
(3.2)在分组groupj,j=1~N对训练数据的训练过程中调整groupj对应的学习率ηj,调整后的学习率为ηj'=factorj×ηj,其中,factorj表示分组groupj对应的学习率动态调整因子,且各分组中的机器节点数目及各分组中所有机器节点的总体性能与分组对应的学习率动态调整因子正相关,ηj'是groupj的学习率ηj经过调整因子factorj调整后的新学习率,factorj取值范围为:0~1。
优选地,步骤(4)具体包括:
(4.1)在每个分组内部使用同步并行机制:对于每个分组groupj,j=1~N,groupj内的机器节点在一轮迭代结束后,将该机器节点计算出的梯度提交参数服务器,同时等待groupj内其它机器节点完成本轮迭代并向参数服务器提交梯度;
(4.2)参数服务器将分组groupj内所有机器节点的梯度累加并求平均:其中,ΔWk表示groupj中每台机器节点计算出的梯度;
(4.3)由W'=W-ηj'×ΔWj更新本地模型参数W,并将更新后的模型参数W'分发到groupj中的各台机器节点上,其中ηj'为groupj使用的学习率。
优选地,步骤(5)具体包括:
在不同组间使用异步并行机制:参数服务器为每个分组分配一个处理进程,每个进程只负责与该进程对应分组的模型参数更新,各进程间共享参数服务器的本地模型参数,在一轮迭代中,一个进程计算出该进程对应分组内所有机器节点的平均梯度ΔWj后,使用ΔWj来更新本地模型参数W,而不用等待其它分组中的机器节点提交的梯度。
按照本发明的另一方面,提供了一种分布式深度神经网络集群分组同步优化系统,包括:
分组模块,用于基于集群中各机器节点的性能将集群中的n台机器节点分为N组,其中,属于同一分组的各机器节点性能相近;
第一分配模块,用于为各分组分配训练数据,其中,每个分组中所有机器节点的总体性能与该分组对应的训练数据量正相关,且同一分组内的各机器节点分配的训练数据量相同;
第二分配模块,用于为各分组分配不同的学习率,其中,各分组中的机器节点数目及各分组中所有机器节点的总体性能与分组对应的学习率正相关;
同步训练模块,用于在每个分组内部使用同步并行机制对分组中的训练数据进行训练;
异步训练模块,用于在各分组之间使用异步并行机制对分组中的训练数据进行训练。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,主要有以下的技术优点:
(1)节点的资源利用率高:采用本发明的分组机制,同组内的节点性能相近并且节点数量比整个集群少,因此同步开销小,可以提高节点资源利用率;不同组间使用异步机制,不同性能分组的节点间不用相互等待,消除了等待开销,也提高节点的资源利用率;性能好的节点在相同时间内可以训练更多的训练数据,因此为其分配更多的训练数据可以提高其资源利用率。
(2)模型的收敛效果好:采用本发明的同组内同步并行策略,参数服务器汇总了一个分组的梯度结果,相对于异步并行机制中参数服务器收集了一台节点的梯度就更新本地模型的方式,本发明有更好的收敛效果;同时,针对不同分组使用不同学习率的策略,加大了提交梯度更有代表性的分组对模型的影响权重,减小了其他分组对模型的影响权重,降低了陈旧梯度的影响,更有利于整体模型的收敛。
附图说明
图1是分布式深度神经网络集群中数据并行模式示意图;
图2是同步并行机制示意图;
图3是异步并行机制示意图;
图4是本发明实施例中的整体流程示意图;
图5是本发明实施例中的分组策略示意图;
图6是本发明实施例中的分组同步并行机制示意图;
图7是本发明实施例中的数据分配策略示意图;
图8是本发明实施例中参数同步的整体架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
以下首先就本发明所涉及的技术术语进行解释和说明:
训练数据:亦称输入数据,即训练神经网络时输入网络模型的处理对象,如图像、音频、文字等;
模型参数:神经网络模型中神经元相互连接的权值weight和神经元上的偏置bias;
机器节点:node,即分布式系统中用作计算的服务器节点;
数据并行:对训练数据进行切分,每台节点上存储其中一份或多份切分的训练数据,并且各使用一份完整的深度神经网络模型参数,同时进行训练的并行方式;
每轮迭代:训练神经网络模型的一轮前后向Forward-Backward计算过程;
训练结果:亦称更新信息或梯度,即模型参数经过一轮迭代后产生的更新方向的信息;
参数服务器:Parameter Server,一种负责收集模型参数的梯度,并负责更新模型参数的服务器;
学习率:调整模型参数更新步长的变量;
超维空间:数学中描述模型参数的几何空间;
训练准确率:Train Accuracy,对于给定的训练数据集,模型正确分类的样本数与总样本数之比;
测试准确率:Test Accuracy,对于给定的测试数据集,模型正确分类的样本数与总样本数之比;
异构集群:其中各台节点硬件配置不同;
同构集群:其中各台节点硬件配置相同;
训练速度:节点单位时间内可以处理的训练数据量;
世代:epoch,一次训练一个世代表示一次训练完全部的训练数据。
如图4所示是本发明实施例中的整体流程示意图,在图4所示的方法中包括:
(1)基于集群中各机器节点的性能将集群中的n台机器节点分为N组,其中,属于同一分组的各机器节点性能相近;
其中,各机器节点的性能可以由节点的训练速度判定,一般情况下节点的训练速度快慢与节点的性能好坏成正比,可以将性能相同或相近的节点分为一组,共N组,如图5所示。
其中,对集群中的节点按节点性能分组具体包括:
(1.1)在使用一个节点数为n的集群进行分布式训练前,对集群中的每台机器节点nodei,使用该机器节点nodei训练一个世代,其中,i为机器节点标号,i=1~n,每台机器节点训练所使用的训练数据、神经网络结构和训练超参数相同;
其中,训练超参数可以包括学习率、数据集批量大小等。
(1.2)获取每台机器节点的训练时间ti,根据每台机器节点的训练时间ti将ti相近的机器节点分为一组,共N组。
(2)为各分组分配训练数据,其中,每个分组中所有机器节点的总体性能与该分组对应的训练数据量正相关,且同一分组内的各机器节点分配的训练数据量相同;
其中,训练速度越快的分组(一个分组的训练速度等于其组内每台节点训练速度的和)分配越多的训练数据,但同一分组内的节点都分配等量训练数据,这样可以提高性能好的节点的资源利用率。数据分配策略如图7,系统架构如图8。
其中,步骤(2)中的训练数据按节点性能分配具体包括:
对于每个分组groupj,挑出每个分组groupj内节点训练时间ti最长的节点,该节点也是该分组内性能最差的节点,使用每台性能最差节点训练一个世代所使用的时间Tj和其对应分组中节点的数量Mj,由计算出groupj内每台节点分配的训练数据量百分比Dj(Dj:0%~100%),其中,表示groupj中性能最差节点单位时间内可训练的世代数,表示groupg所有节点按计算得出的单位时间内可训练的总世代数,表示集群中所有节点单位时间内可训练的总世代数,j、g为分组标号。
(3)为各分组分配不同的学习率,其中,各分组中的机器节点数目及各分组中所有机器节点的总体性能与分组对应的学习率正相关;
其中,参数服务器收到不同分组提交的梯度后,不再使用相同学习率来更新本地模型参数,而是针对不同的分组使用不同的学习率,即每个分组都有各自对应的学习率。对于组内节点数量多和组内节点训练速度快的两种分组赋予更大的学习率,因为组内节点数量多的分组计算出的梯度数量多,其平均结果更具有代表性;组内节点训练速度快的分组每轮迭代花的时间最少,其计算出梯度的速度最快,计算梯度所使用模型的时间戳和参数服务器最新模型的时间戳相差最小,因此模型受陈旧梯度干扰小。不同组间使用不同的学习率可以提高模型的收敛速度。
其中,不同组间使用不同的学习率,具体包括:开始训练前,每个分组都使用相同的学习率,训练过程中,每个分组的学习率会在该分组训练完一定数量训练数据后进行下降调整,这样有助于模型收敛。每个分组采用不同的学习率动态调整因子factorj(factorj取值范围为:0~1),由公式ηj'=factorj×ηj对学习率进行调整,其中ηj'是groupj的学习率ηj经过调整因子factorj调整后的新学习率。这样训练过程每个分组将拥有不同的学习率,组内节点数量多和组内节点训练速度快的两种分组计算出的梯度更有利于模型收敛,因此这两种分组使用更大的学习率动态调整因子值来降低这两种分组学习率的下降速度,提高模型收敛速度。
(4)在每个分组内部使用同步并行机制对分组中的训练数据进行训练;
(5)各分组之间使用异步并行机制对分组中的训练数据进行训练。
其中,在同组内使用同步并行机制,不同组间使用异步并行机制,如图6。对于同组内,由于节点的性能相近并且组内的节点数量相对整个集群少,节点间的同步开销会大大降低,在一轮迭代中,参数服务器汇总一个分组内所有节点的梯度后再更新模型参数,在相同的迭代次数下,比异步并行机制的收敛效果好;对于不同组间,由于不同组间节点的性能差异大,如果使用同步并行机制,不同组间同步开销就比较大,因此使用异步并行机制,提高不同组间节点的资源利用率,提高集群整体的训练速度。
其中,同组内使用同步并行机制具体包括:在每个分组内,使用同步并行机制,每台节点在一轮迭代结束后,将计算出的梯度提交参数服务器,此时需要等待组内的其他节点也完成本轮迭代并向参数服务器提交梯度,参数服务器将一个分组内所有节点的梯度累加并求平均得到其中ΔWk(k:1~Mj)表示groupj中每台机器节点计算出的梯度,之后使用ΔWj由公式:W'=W-ηj'×ΔWj来更新本地模型参数W,其中ηj'为groupj使用的学习率,更新完后就把新模型参数W'分发到groupj的各台节点上,该组内的节点使用相同的新模型参数W'进行下一轮迭代。
其中,不同组间使用异步并行机制具体包括:一个分组内的节点不用考虑其他分组节点的状态,即不同分组的节点不用相互等待。参数服务器为每个分组分配一个处理进程,每个进程只负责对应分组的模型参数更新,进程间共享参数服务器本地的模型参数,即不同分组共享一份模型参数。在一轮迭代中,一个进程计算出其负责的分组内所有节点的平均梯度后,使用该平均梯度来更新本地模型参数,而不用等待其他分组节点提交的梯度。
本发明的整体思路在于,对于异构集群,先将训练速度相近(即性能相近)的节点分为一组,因为节点的训练速度相近,参数同步开销小,因此同组内使用同步并行机制,同时能发挥同步并行机制收敛效果好的优点;不同的分组间训练速度差异比较大,参数的同步开销大,因此不同组间使用异步并行机制,根据不同分组的训练速度的差异,将训练数据不等量划分给每个分组,训练速度越快的分组分配的训练数据越多,在同一组内,再将训练数据等量划分给每台节点,训练过程中,不同的分组采用不同的学习率,组内节点数量多和组内节点训练速度快的两种分组计算出的梯度更具有代表性,因此相应的学习率值更大。
在本发明的另一个实施例中,公开了一种分布式深度神经网络集群分组同步优化系统,该系统包括:
分组模块,用于基于集群中各机器节点的性能将集群中的n台机器节点分为N组,其中,属于同一分组的各机器节点性能相近;
第一分配模块,用于为各分组分配训练数据,其中,每个分组中所有机器节点的总体性能与该分组对应的训练数据量正相关,且同一分组内的各机器节点分配的训练数据量相同;
第二分配模块,用于为各分组分配不同的学习率,其中,各分组中的机器节点数目及各分组中所有机器节点的总体性能与分组对应的学习率正相关;
同步训练模块,用于在每个分组内部使用同步并行机制对分组中的训练数据进行训练;
异步训练模块,用于在各分组之间使用异步并行机制对分组中的训练数据进行训练。
其中,各模块的具体实施方式可以参照方法实施例的描述,本发明实施例将不做复述。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种分布式深度神经网络集群分组同步优化方法,其特征在于,包括:
(1)基于集群中各机器节点的性能将集群中的n台机器节点分为N组,其中,属于同一分组的各机器节点性能相近;
(2)为各分组分配训练数据,其中,每个分组中所有机器节点的总体性能与该分组对应的训练数据量正相关,且同一分组内的各机器节点分配的训练数据量相同;
(3)为各分组分配不同的学习率,其中,各分组中的机器节点数目及各分组中所有机器节点的总体性能与分组对应的学习率正相关;
(4)在每个分组内部使用同步并行机制对分组中的训练数据进行训练;
(5)各分组之间使用异步并行机制对分组中的训练数据进行训练。
2.根据权利要求1所述的方法,其特征在于,步骤(1)具体包括:
(1.1)对集群中的每台机器节点nodei,使用该机器节点nodei训练一个世代,其中,i为机器节点标号,i=1~n,每台机器节点训练所使用的训练数据、神经网络结构和训练超参数相同;
(1.2)获取每台机器节点的训练时间ti,根据每台机器节点的训练时间ti将所有机器节点分为N组,其中,属于同一分组的各机器节点的训练时间相近。
3.根据权利要求2所述的方法,其特征在于,步骤(2)具体包括:
对于每个分组groupj,由计算出groupj中每台机器节点分配的训练数据量百分比,其中,Tj表示groupj中训练时间最长的机器节点对应的训练时间,Mj表示groupj中机器节点的数量,j=1~N,Tg表示groupg中训练时间最长的机器节点对应的训练时间,Mg表示groupg中机器节点的数量,j、g为分组标号。
4.根据权利要求3所述的方法,其特征在于,步骤(3)具体包括:
(3.1)为每个分组初始化相同的学习率;
(3.2)在分组groupj,j=1~N对训练数据的训练过程中调整groupj对应的学习率ηj,调整后的学习率为ηj'=factorj×ηj,其中,factorj表示分组groupj对应的学习率动态调整因子,且各分组中的机器节点数目及各分组中所有机器节点的总体性能与分组对应的学习率动态调整因子正相关,ηj'是groupj的学习率ηj经过调整因子factorj调整后的新学习率,factorj取值范围为:0~1。
5.根据权利要求4所述的方法,其特征在于,步骤(4)具体包括:
(4.1)在每个分组内部使用同步并行机制:对于每个分组groupj,j=1~N,groupj内的机器节点在一轮迭代结束后,将该机器节点计算出的梯度提交参数服务器,同时等待groupj内其它机器节点完成本轮迭代并向参数服务器提交梯度;
(4.2)参数服务器将分组groupj内所有机器节点的梯度累加并求平均:其中,ΔWk表示groupj中每台机器节点计算出的梯度;
(4.3)由W'=W-ηj'×ΔWj更新本地模型参数W,并将更新后的模型参数W'分发到groupj中的各台机器节点上,其中ηj'为groupj使用的学习率。
6.根据权利要求4所述的方法,其特征在于,步骤(5)具体包括:
在不同组间使用异步并行机制:参数服务器为每个分组分配一个处理进程,每个进程只负责与该进程对应分组的模型参数更新,各进程间共享参数服务器的本地模型参数,在一轮迭代中,一个进程计算出该进程对应分组内所有机器节点的平均梯度ΔWj后,使用ΔWj来更新本地模型参数W,而不用等待其它分组中的机器节点提交的梯度。
7.一种分布式深度神经网络集群分组同步优化系统,其特征在于,包括:
分组模块,用于基于集群中各机器节点的性能将集群中的n台机器节点分为N组,其中,属于同一分组的各机器节点性能相近;
第一分配模块,用于为各分组分配训练数据,其中,每个分组中所有机器节点的总体性能与该分组对应的训练数据量正相关,且同一分组内的各机器节点分配的训练数据量相同;
第二分配模块,用于为各分组分配不同的学习率,其中,各分组中的机器节点数目及各分组中所有机器节点的总体性能与分组对应的学习率正相关;
同步训练模块,用于在每个分组内部使用同步并行机制对分组中的训练数据进行训练;
异步训练模块,用于在各分组之间使用异步并行机制对分组中的训练数据进行训练。
CN201710191685.6A 2017-03-28 2017-03-28 分布式深度神经网络集群分组同步优化方法及系统 Active CN107018184B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710191685.6A CN107018184B (zh) 2017-03-28 2017-03-28 分布式深度神经网络集群分组同步优化方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710191685.6A CN107018184B (zh) 2017-03-28 2017-03-28 分布式深度神经网络集群分组同步优化方法及系统

Publications (2)

Publication Number Publication Date
CN107018184A true CN107018184A (zh) 2017-08-04
CN107018184B CN107018184B (zh) 2019-08-30

Family

ID=59445758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710191685.6A Active CN107018184B (zh) 2017-03-28 2017-03-28 分布式深度神经网络集群分组同步优化方法及系统

Country Status (1)

Country Link
CN (1) CN107018184B (zh)

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107578094A (zh) * 2017-10-25 2018-01-12 济南浪潮高新科技投资发展有限公司 基于参数服务器和fpga实现神经网络分布式训练的方法
CN108090025A (zh) * 2018-01-19 2018-05-29 福州瑞芯微电子股份有限公司 动态多通道的神经网络soc芯片及其通道资源分配方法
CN108829517A (zh) * 2018-05-31 2018-11-16 中国科学院计算技术研究所 一种用于在集群环境下进行机器学习的训练方法和系统
CN108829441A (zh) * 2018-05-14 2018-11-16 中山大学 一种分布式深度学习的参数更新优化系统
CN108875930A (zh) * 2017-11-09 2018-11-23 北京旷视科技有限公司 基于多机集群的神经网络训练方法及系统
CN109032671A (zh) * 2018-06-25 2018-12-18 电子科技大学 一种基于数据并行策略的分布式深度学习方法及系统
CN109117953A (zh) * 2018-09-11 2019-01-01 北京迈格威科技有限公司 网络参数训练方法和系统、服务器、客户端及存储介质
CN109144729A (zh) * 2018-08-27 2019-01-04 联想(北京)有限公司 分布式系统的数据处理方法和分布式系统
CN109271015A (zh) * 2018-10-10 2019-01-25 杭州电子科技大学 一种降低大规模分布式机器学习系统能耗的方法
CN109272118A (zh) * 2018-08-10 2019-01-25 北京达佳互联信息技术有限公司 数据训练方法、装置、设备及存储介质
CN109508785A (zh) * 2018-10-29 2019-03-22 清华大学 一种用于神经网络训练的异步并行优化方法
CN109615069A (zh) * 2018-11-28 2019-04-12 北京工业大学 一种具有异步传输特性的神经网络的电路结构
CN109710289A (zh) * 2018-12-21 2019-05-03 南京邮电大学 基于深度强化学习算法的分布式参数服务器的更新方法
CN109754060A (zh) * 2017-11-06 2019-05-14 阿里巴巴集团控股有限公司 一种神经网络机器学习模型的训练方法及装置
CN109902818A (zh) * 2019-01-15 2019-06-18 中国科学院信息工程研究所 一种面向深度学习训练任务的分布式加速方法及系统
CN109919313A (zh) * 2019-01-31 2019-06-21 华为技术有限公司 一种梯度传输的方法及分布式训练系统
CN109978129A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 调度方法及相关装置
CN109978149A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 调度方法及相关装置
CN109977694A (zh) * 2019-03-11 2019-07-05 暨南大学 一种基于协作深度学习的数据共享方法
CN109976887A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 调度方法及相关装置
CN109976809A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 调度方法及相关装置
CN110008028A (zh) * 2019-04-10 2019-07-12 北京旷视科技有限公司 计算资源分配方法、装置、计算机设备和存储介质
CN110046048A (zh) * 2019-04-18 2019-07-23 杭州电子科技大学 一种基于工作量自适应快速重分配的负载均衡方法
CN110084380A (zh) * 2019-05-10 2019-08-02 深圳市网心科技有限公司 一种迭代训练方法、设备、系统及介质
CN110110861A (zh) * 2019-05-09 2019-08-09 北京市商汤科技开发有限公司 确定模型超参数及模型训练的方法和装置、存储介质
CN110378472A (zh) * 2019-07-24 2019-10-25 苏州浪潮智能科技有限公司 一种深度神经网络模型的数据并行训练方法、装置及设备
CN110633798A (zh) * 2019-09-12 2019-12-31 北京金山数字娱乐科技有限公司 一种分布式训练中参数更新方法及装置
CN110705705A (zh) * 2019-09-25 2020-01-17 浪潮电子信息产业股份有限公司 卷积神经网络模型同步训练方法、集群及可读存储介质
CN110888744A (zh) * 2019-11-29 2020-03-17 杭州电子科技大学 一种基于工作量自动调优的负载均衡方法
CN110929884A (zh) * 2019-11-22 2020-03-27 北京大学 一种基于列划分的分布式机器学习优化的分类方法及装置
CN110969198A (zh) * 2019-11-24 2020-04-07 广东浪潮大数据研究有限公司 深度学习模型的分布式训练方法、装置、设备及存储介质
CN111027708A (zh) * 2019-11-29 2020-04-17 杭州电子科技大学舟山同博海洋电子信息研究院有限公司 一种面向分布式机器学习的参数通信优化方法
CN111091180A (zh) * 2019-12-09 2020-05-01 腾讯科技(深圳)有限公司 一种模型训练方法和相关装置
WO2020087281A1 (zh) * 2018-10-30 2020-05-07 深圳市大疆创新科技有限公司 超参数的优化方法及装置
CN111144584A (zh) * 2019-12-31 2020-05-12 深圳Tcl新技术有限公司 参数调优方法、装置及计算机存储介质
CN111582494A (zh) * 2020-04-17 2020-08-25 浙江大学 一种基于延迟处理的混合分布式机器学习更新方法
CN111642022A (zh) * 2020-06-01 2020-09-08 重庆邮电大学 一种支持数据包聚合的工业无线网络确定性调度方法
CN112712171A (zh) * 2021-01-12 2021-04-27 湖南工业大学 深度卷积神经网络的分布式训练方法、设备和存储介质
CN113033800A (zh) * 2019-12-25 2021-06-25 香港理工大学深圳研究院 分布式深度学习方法、装置、参数服务器及主工作节点
WO2021136065A1 (zh) * 2019-12-30 2021-07-08 中兴通讯股份有限公司 深度学习方法、装置、网络设备和可读存储介质
CN113406939A (zh) * 2021-07-12 2021-09-17 哈尔滨理工大学 一种基于深度q网络的无关并行机动态混合流水车间调度方法
CN114787830A (zh) * 2019-12-20 2022-07-22 惠普发展公司,有限责任合伙企业 异构集群中的机器学习工作负载编排
JP2022132078A (ja) * 2021-02-26 2022-09-07 株式会社日立製作所 機械学習モデル更新方法、コンピュータプログラムおよび管理装置
US11568269B2 (en) 2017-12-28 2023-01-31 Cambricon Technologies Corporation Limited Scheduling method and related apparatus
CN115730681A (zh) * 2022-11-11 2023-03-03 北京百度网讯科技有限公司 模型训练方法、装置、设备以及存储介质
CN116451777A (zh) * 2023-06-19 2023-07-18 广东电网有限责任公司佛山供电局 针对异构计算平台的神经网络异步训练方法、装置及设备
CN116663639A (zh) * 2023-07-31 2023-08-29 浪潮电子信息产业股份有限公司 一种梯度数据同步方法、系统、装置及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404071A (zh) * 2008-11-07 2009-04-08 湖南大学 基于分组粒子群算法的电子电路故障诊断神经网络方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404071A (zh) * 2008-11-07 2009-04-08 湖南大学 基于分组粒子群算法的电子电路故障诊断神经网络方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WENBIN JIANG等: "《A Fine-grained Parallel Intra Prediction for HEVC Based on GPU》", 《2016 IEEE 22ND INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS》 *

Cited By (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107578094A (zh) * 2017-10-25 2018-01-12 济南浪潮高新科技投资发展有限公司 基于参数服务器和fpga实现神经网络分布式训练的方法
CN109754060B (zh) * 2017-11-06 2023-08-25 阿里巴巴集团控股有限公司 一种神经网络机器学习模型的训练方法及装置
CN109754060A (zh) * 2017-11-06 2019-05-14 阿里巴巴集团控股有限公司 一种神经网络机器学习模型的训练方法及装置
CN108875930A (zh) * 2017-11-09 2018-11-23 北京旷视科技有限公司 基于多机集群的神经网络训练方法及系统
CN108875930B (zh) * 2017-11-09 2022-06-10 北京旷视科技有限公司 基于多机集群的神经网络训练方法及系统
CN109978129A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 调度方法及相关装置
CN109976887B (zh) * 2017-12-28 2020-03-24 中科寒武纪科技股份有限公司 调度方法及相关装置
CN111338776B (zh) * 2017-12-28 2023-11-28 中科寒武纪科技股份有限公司 调度方法及相关装置
CN109978149B (zh) * 2017-12-28 2020-10-09 中科寒武纪科技股份有限公司 调度方法及相关装置
CN111338776A (zh) * 2017-12-28 2020-06-26 中科寒武纪科技股份有限公司 调度方法及相关装置
CN109976809A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 调度方法及相关装置
CN109976887A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 调度方法及相关装置
US11568269B2 (en) 2017-12-28 2023-01-31 Cambricon Technologies Corporation Limited Scheduling method and related apparatus
CN109978149A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 调度方法及相关装置
CN108090025B (zh) * 2018-01-19 2021-08-27 瑞芯微电子股份有限公司 动态多通道的神经网络soc芯片及其通道资源分配方法
CN108090025A (zh) * 2018-01-19 2018-05-29 福州瑞芯微电子股份有限公司 动态多通道的神经网络soc芯片及其通道资源分配方法
CN108829441B (zh) * 2018-05-14 2022-10-18 中山大学 一种分布式深度学习的参数更新优化系统
CN108829441A (zh) * 2018-05-14 2018-11-16 中山大学 一种分布式深度学习的参数更新优化系统
CN108829517B (zh) * 2018-05-31 2021-04-06 中国科学院计算技术研究所 一种用于在集群环境下进行机器学习的训练方法和系统
CN108829517A (zh) * 2018-05-31 2018-11-16 中国科学院计算技术研究所 一种用于在集群环境下进行机器学习的训练方法和系统
CN109032671A (zh) * 2018-06-25 2018-12-18 电子科技大学 一种基于数据并行策略的分布式深度学习方法及系统
CN109032671B (zh) * 2018-06-25 2022-05-03 电子科技大学 一种基于数据并行策略的分布式深度学习方法及系统
CN109272118A (zh) * 2018-08-10 2019-01-25 北京达佳互联信息技术有限公司 数据训练方法、装置、设备及存储介质
CN109144729A (zh) * 2018-08-27 2019-01-04 联想(北京)有限公司 分布式系统的数据处理方法和分布式系统
CN109117953B (zh) * 2018-09-11 2021-11-09 北京迈格威科技有限公司 网络参数训练方法和系统、服务器、客户端及存储介质
CN109117953A (zh) * 2018-09-11 2019-01-01 北京迈格威科技有限公司 网络参数训练方法和系统、服务器、客户端及存储介质
CN109271015A (zh) * 2018-10-10 2019-01-25 杭州电子科技大学 一种降低大规模分布式机器学习系统能耗的方法
CN109508785A (zh) * 2018-10-29 2019-03-22 清华大学 一种用于神经网络训练的异步并行优化方法
WO2020087281A1 (zh) * 2018-10-30 2020-05-07 深圳市大疆创新科技有限公司 超参数的优化方法及装置
CN109615069B (zh) * 2018-11-28 2023-04-25 北京工业大学 一种具有异步传输特性的神经网络的电路结构
CN109615069A (zh) * 2018-11-28 2019-04-12 北京工业大学 一种具有异步传输特性的神经网络的电路结构
CN109710289A (zh) * 2018-12-21 2019-05-03 南京邮电大学 基于深度强化学习算法的分布式参数服务器的更新方法
CN109902818B (zh) * 2019-01-15 2021-05-25 中国科学院信息工程研究所 一种面向深度学习训练任务的分布式加速方法及系统
CN109902818A (zh) * 2019-01-15 2019-06-18 中国科学院信息工程研究所 一种面向深度学习训练任务的分布式加速方法及系统
CN109919313A (zh) * 2019-01-31 2019-06-21 华为技术有限公司 一种梯度传输的方法及分布式训练系统
CN109919313B (zh) * 2019-01-31 2021-06-08 华为技术有限公司 一种梯度传输的方法及分布式训练系统
CN109977694A (zh) * 2019-03-11 2019-07-05 暨南大学 一种基于协作深度学习的数据共享方法
CN110008028A (zh) * 2019-04-10 2019-07-12 北京旷视科技有限公司 计算资源分配方法、装置、计算机设备和存储介质
CN110046048A (zh) * 2019-04-18 2019-07-23 杭州电子科技大学 一种基于工作量自适应快速重分配的负载均衡方法
CN110110861B (zh) * 2019-05-09 2021-11-26 北京市商汤科技开发有限公司 确定模型超参数及模型训练的方法和装置、存储介质
CN110110861A (zh) * 2019-05-09 2019-08-09 北京市商汤科技开发有限公司 确定模型超参数及模型训练的方法和装置、存储介质
CN110084380A (zh) * 2019-05-10 2019-08-02 深圳市网心科技有限公司 一种迭代训练方法、设备、系统及介质
CN110378472A (zh) * 2019-07-24 2019-10-25 苏州浪潮智能科技有限公司 一种深度神经网络模型的数据并行训练方法、装置及设备
CN110633798A (zh) * 2019-09-12 2019-12-31 北京金山数字娱乐科技有限公司 一种分布式训练中参数更新方法及装置
CN110705705A (zh) * 2019-09-25 2020-01-17 浪潮电子信息产业股份有限公司 卷积神经网络模型同步训练方法、集群及可读存储介质
CN110705705B (zh) * 2019-09-25 2022-04-22 浪潮电子信息产业股份有限公司 卷积神经网络模型同步训练方法、集群及可读存储介质
CN110929884B (zh) * 2019-11-22 2023-05-16 北京大学 一种基于列划分的分布式机器学习优化的分类方法及装置
CN110929884A (zh) * 2019-11-22 2020-03-27 北京大学 一种基于列划分的分布式机器学习优化的分类方法及装置
CN110969198A (zh) * 2019-11-24 2020-04-07 广东浪潮大数据研究有限公司 深度学习模型的分布式训练方法、装置、设备及存储介质
CN110888744A (zh) * 2019-11-29 2020-03-17 杭州电子科技大学 一种基于工作量自动调优的负载均衡方法
CN111027708A (zh) * 2019-11-29 2020-04-17 杭州电子科技大学舟山同博海洋电子信息研究院有限公司 一种面向分布式机器学习的参数通信优化方法
CN111091180A (zh) * 2019-12-09 2020-05-01 腾讯科技(深圳)有限公司 一种模型训练方法和相关装置
CN111091180B (zh) * 2019-12-09 2023-03-10 腾讯科技(深圳)有限公司 一种模型训练方法和相关装置
CN114787830A (zh) * 2019-12-20 2022-07-22 惠普发展公司,有限责任合伙企业 异构集群中的机器学习工作负载编排
CN113033800A (zh) * 2019-12-25 2021-06-25 香港理工大学深圳研究院 分布式深度学习方法、装置、参数服务器及主工作节点
CN113033800B (zh) * 2019-12-25 2023-11-17 香港理工大学深圳研究院 分布式深度学习方法、装置、参数服务器及主工作节点
WO2021136065A1 (zh) * 2019-12-30 2021-07-08 中兴通讯股份有限公司 深度学习方法、装置、网络设备和可读存储介质
CN111144584A (zh) * 2019-12-31 2020-05-12 深圳Tcl新技术有限公司 参数调优方法、装置及计算机存储介质
CN111144584B (zh) * 2019-12-31 2024-01-19 深圳Tcl新技术有限公司 参数调优方法、装置及计算机存储介质
CN111582494A (zh) * 2020-04-17 2020-08-25 浙江大学 一种基于延迟处理的混合分布式机器学习更新方法
CN111642022B (zh) * 2020-06-01 2022-07-15 重庆邮电大学 一种支持数据包聚合的工业无线网络确定性调度方法
CN111642022A (zh) * 2020-06-01 2020-09-08 重庆邮电大学 一种支持数据包聚合的工业无线网络确定性调度方法
CN112712171A (zh) * 2021-01-12 2021-04-27 湖南工业大学 深度卷积神经网络的分布式训练方法、设备和存储介质
CN112712171B (zh) * 2021-01-12 2022-08-12 湖南工业大学 深度卷积神经网络的分布式训练方法、设备和存储介质
JP7339321B2 (ja) 2021-02-26 2023-09-05 株式会社日立製作所 機械学習モデル更新方法、コンピュータプログラムおよび管理装置
JP2022132078A (ja) * 2021-02-26 2022-09-07 株式会社日立製作所 機械学習モデル更新方法、コンピュータプログラムおよび管理装置
CN113406939A (zh) * 2021-07-12 2021-09-17 哈尔滨理工大学 一种基于深度q网络的无关并行机动态混合流水车间调度方法
CN115730681B (zh) * 2022-11-11 2023-08-15 北京百度网讯科技有限公司 模型训练方法、装置、设备以及存储介质
CN115730681A (zh) * 2022-11-11 2023-03-03 北京百度网讯科技有限公司 模型训练方法、装置、设备以及存储介质
CN116451777B (zh) * 2023-06-19 2023-09-26 广东电网有限责任公司佛山供电局 针对异构计算平台的神经网络异步训练方法、装置及设备
CN116451777A (zh) * 2023-06-19 2023-07-18 广东电网有限责任公司佛山供电局 针对异构计算平台的神经网络异步训练方法、装置及设备
CN116663639A (zh) * 2023-07-31 2023-08-29 浪潮电子信息产业股份有限公司 一种梯度数据同步方法、系统、装置及介质
CN116663639B (zh) * 2023-07-31 2023-11-03 浪潮电子信息产业股份有限公司 一种梯度数据同步方法、系统、装置及介质

Also Published As

Publication number Publication date
CN107018184B (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
CN107018184A (zh) 分布式深度神经网络集群分组同步优化方法及系统
CN106297774B (zh) 一种神经网络声学模型的分布式并行训练方法及系统
CN108268638A (zh) 一种基于Spark框架的生成对抗网络分布式实现方法
CN110533183A (zh) 一种流水线分布式深度学习中异构网络感知的模型划分与任务放置方法
CN109902818A (zh) 一种面向深度学习训练任务的分布式加速方法及系统
CN110245743A (zh) 一种异步分布式深度学习训练方法、装置及系统
CN107330516A (zh) 模型参数训练方法、装置及系统
CN108829441A (zh) 一种分布式深度学习的参数更新优化系统
CN106156810A (zh) 通用机器学习算法模型训练方法、系统和计算节点
CN107122248A (zh) 一种存储优化的分布式图处理方法
CN109635922A (zh) 一种分布式深度学习参数量化通信优化方法及系统
CN109492753A (zh) 一种去中心化的随机梯度下降的方法
CN111178486B (zh) 一种基于种群演化的超参数异步并行搜索方法
CN113708969B (zh) 一种基于深度强化学习的云数据中心虚拟网络的协同嵌入方法
Cao et al. HADFL: Heterogeneity-aware decentralized federated learning framework
Li et al. Intermediate data placement and cache replacement strategy under Spark platform
CN115293342A (zh) 一种基于混合并行的深度卷积神经网络并行训练方法
CN113094159A (zh) 一种数据中心作业调度方法、系统、存储介质及计算设备
CN113672684B (zh) 一种面向非独立同分布数据的分层用户训练管理系统及方法
Rapp et al. Distreal: Distributed resource-aware learning in heterogeneous systems
CN113627519B (zh) 具有压缩和延迟补偿的分布式随机梯度下降方法
Jiang et al. Computation and communication efficient federated learning with adaptive model pruning
CN106846236A (zh) 一种可扩展的分布式gpu加速方法及装置
CN111027671B (zh) 一种基于模型结构特性的分布式深度学习通信方法和系统
CN110119268B (zh) 基于人工智能的工作流优化方法

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
GR01 Patent grant
GR01 Patent grant