CN110502544A - 数据整合方法、分布式计算节点及分布式深度学习训练系统 - Google Patents

数据整合方法、分布式计算节点及分布式深度学习训练系统 Download PDF

Info

Publication number
CN110502544A
CN110502544A CN201910741733.3A CN201910741733A CN110502544A CN 110502544 A CN110502544 A CN 110502544A CN 201910741733 A CN201910741733 A CN 201910741733A CN 110502544 A CN110502544 A CN 110502544A
Authority
CN
China
Prior art keywords
data
data segment
nodes
calculate
node
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.)
Pending
Application number
CN201910741733.3A
Other languages
English (en)
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.)
Beijing Megvii Technology Co Ltd
Beijing Maigewei Technology Co Ltd
Original Assignee
Beijing Maigewei Technology Co Ltd
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 Beijing Maigewei Technology Co Ltd filed Critical Beijing Maigewei Technology Co Ltd
Priority to CN201910741733.3A priority Critical patent/CN110502544A/zh
Publication of CN110502544A publication Critical patent/CN110502544A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • 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

Abstract

本公开提供了一种数据整合方法、分布式计算节点及分布式深度学习训练系统,其中数据整合方法用于分布式计算节点的数据整合,包括:数据分段步骤;第一发送步骤;第一接收步骤;聚合步骤;汇总步骤。通过多计算节点中对数据进行分段,将数据段分别发送至对应的计算节点,在计算节点内对部分数据段进行聚合,再对数据更新整合,降低了网络对训练造成的影响,提高了效率。

Description

数据整合方法、分布式计算节点及分布式深度学习训练系统
技术领域
本公开一般地涉及人工智能领域,具体涉及一种数据整合方法、分布式深度学习训练方法及分布式计算节点。
背景技术
随着近几年深度学习的崛起,人们在图像分类、语音识别、自然语言处理、策略AI、自动驾驶等诸多领域取得了优异的成绩。然而,依靠着复杂的神经网络以及超大的数据集取得良好的成绩的基础是强大的计算能力。随着神经网络层数的加深以及数据集的不断扩展,训练模型对计算力要求以及调整参数试错成本也越来越高,这对于神经网络训练人员及科研人员来说是极大的时间成本。
目前,使用多计算节点并行训练是提高神经网络训练速度的重要解决办法。在多计算节点训练中,主要采取参数服务器(Parameter Server)和集合通信(All-Reduce)的方法对各计算节点训练梯度结果进行求和,并将结果返还给各机器进行下一步迭代训练。然而,多计算节点训练过程中会因为通信效率问题导致多计算节点训练加速比不能达到理想值,尤其是当节点数越大时,网络瓶颈就对加速比增长抑制越明显,特别是在真实使用场景下的复杂网络中(例如公司机房、云计算环境等),网络中的流量、带宽变化,对分布式训练中的通信影响极大。由于网络问题造成一两个计算节点的网络延迟导致其他计算节点等待,甚至随着训练节点数的增加,计算节点出错误(例如宕机、网络设备故障导致失联等)的概率也随着增加,训练会因为众多计算节点中的某一计算节点的故障而处于停滞状态,严重影响了神经网络训练的效率。
发明内容
为了解决现有技术中存在的上述问题,本公开的第一方面提供一种数据整合方法,用于分布式计算节点的数据整合,其中,方法包括:数据分段步骤,根据全部计算节点的节点数量,将数据分为多个数据段,数据段具有数据段标识,其中,计算节点具有节点标识;第一发送步骤,根据数据段标识和节点标识,将多个数据段分别向相应的其它计算节点发送;第一接收步骤,接收其它计算节点发送的数据段;聚合步骤,根据接收到的数据段及其数据段标识,更新相应的数据段,得到聚合数据段;汇总步骤,基于全部计算节点的聚合数据段,进行整合,得到整合后的数据。
在一例中,第一接收步骤还包括:根据预设数量,接收其它计算节点发送的数据段,其中预设数量比节点数量少两个或两个以上。
在一例中,第一接收步骤还包括:根据预设时间,在预设时间内接收其它计算节点发送的数据段。
在一例中,汇总步骤包括:第二发送步骤,将聚合数据段向其它计算节点发送;第二接收步骤,接收其它计算节点发送的聚合数据段;整合步骤,根据接收到的聚合数据段及其数据段标识,整合数据。
在一例中,第二发送步骤还包括:通过广播或多播,将聚合数据段向其它计算节点发送。
在一例中,方法还包括:轮次设置步骤,设置轮次数;第一发送步骤还包括:根据轮次数、数据段标识和节点标识,将多个数据段分别发送至相应的其它计算节点。
在一例中,在汇总步骤之后,方法还包括:返回轮次设置步骤,更新轮次数。
在一例中,第一发送步骤通过多线程并行发送数据段;第一接收步骤通过多线程并行接收数据段。
本公开的第二方面提供一种分布式计算节点,其中,计算节点包括:数据分段模块,用于根据全部计算节点的节点数量,将数据分为多个数据段,数据段具有数据段标识,其中,计算节点具有节点标识;第一发送模块,用于根据数据段标识和节点标识,将多个数据段分别向相应的其它计算节点发送;第一接收模块,用于接收其它计算节点发送的数据段;聚合模块,用于根据接收到的数据段及其数据段标识,更新相应的数据段,得到聚合数据段;汇总模块,用于基于全部计算节点的聚合数据段,进行整合,得到整合后的数据。
本公开的第三方面提供一种分布式深度学习训练系统,其中,系统包括:多个如第二方面的计算节点,多个计算节点之间通信连接。
本公开的第四方面提供一种电子设备,包括:存储器,用于存储指令;以及处理器,用于调用存储器存储的指令执行如第一方面的数据整合方法。
本公开的第五方面提供一种计算机可读存储介质,其中存储有指令,指令被处理器执行时,执行如第一方面的数据整合方法。
本公开提供的数据整合方法、分布式计算节点及分布式深度学习训练系统通过多计算节点中对数据进行分段,并将分开的数据段分别发送至其他计算节点,在计算节点内对数据的部分数据段进行聚合,最终在进行汇总整合实现数据的更新整合,降低了网络对训练造成的影响,提高了效率,降低了成本。
附图说明
通过参考附图阅读下文的详细描述,本公开实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示出了根据本公开一实施例数据整合方法的流程示意图;
图2示出了根据本公开一实施例一个计算节点向其他计算节点发送数据段的示意图;
图3示出了根据本公开一实施例一个计算节点从其他计算节点接收数据段的示意图;
图4示出了根据本公开一实施例各计算节点之间的发送和接收示意图;
图5示出了根据本公开一实施例的一个计算节点接收数据段的流程示意图;
图6示出了根据本公开一实施例的一个计算节点接收数据段的流程示意图;
图7示出了根据本公开另一实施例数据整合方法的流程示意图;
图8示出了根据本公开另一实施例数据整合方法的流程示意图;
图9示出了根据本公开一实施例的分布式计算节点示意图。
图10是本公开实施例提供的一种电子设备示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
需要注意,虽然本文中使用“第一”、“第二”等表述来描述本公开的实施方式的不同模块、步骤和数据等,但是“第一”、“第二”等表述仅是为了在不同的模块、步骤和数据等之间进行区分,而并不表示特定的顺序或者重要程度。实际上,“第一”、“第二”等表述完全可以互换使用。
为了降低了网络对多计算节点神经网络训练造成的影响,提高了效率。图1示出了本公开实施例提供的一种数据整合方法100,数据整合方法100用于分布式计算节点的数据整合,其中,数据整合方法100包括:数据分段步骤110、第一发送步骤120、第一接收步骤130、聚合步骤140、汇总步骤150。下文分别对上述步骤进行详细说明:
数据分段步骤110,根据全部计算节点的节点数量,将数据分为多个数据段,数据段具有数据段标识,其中,计算节点具有节点标识。
在多计算节点神经网络训练中,每个计算节点都会对数据进行梯度更新,在进行玩一次梯度更新后,每个计算节点对数据进行分段,按照计算节点个数N,对数据划分为N个数据段,每个数据段均具有数据段标识(数据段id),用于表明数据段在数据中的位置,每个计算节点也具有节点标识(节点id)。其中,数据段标识可以分别是从0至(N-1),节点标识也可以分别是从0至(N-1)。在一具体实施例中,可以在数据段划分时尽可能的在不切割其中原始数据的情况下平均划分,假设数据段中数据类型大小(byte)为s,数据段长度(byte)为L,计算节点数为N,则前N-1个数据段的大小(byte)为最后一个数据段的大小(byte)为
第一发送步骤120,根据数据段标识和节点标识,将多个数据段分别向相应的其它计算节点发送。图2以一示例示出了一个计算节点向其他计算节点发送数据段的示意图。
根据数据段标识和节点标识,建立一一对应关系,想其他每个计算节点分别发送一个数据段。如向计算节点发送与节点标识具有相同数字的数据段标识的数据段。
在一例中,第一发送步骤120通过多线程并行发送数据段。发送过程由于互相不干扰,故可以使用并行多线程来提高通信效率。
第一接收步骤130,接收其它计算节点发送的数据段。图3以一示例示出了一个计算节点从其他计算节点接收数据段的示意图,图4以一示例示出了各计算节点之间的发送和接收示意图。
接收其他计算节点将更新梯度后的数据分段后的数据段,接收到的均是同一数据段标识的数据,因此,后续可以通过聚合操作对这一段数据进行全计算节点的数据聚合。其他计算节点第一发送步骤120保证其他计算节点发送的数据段标识都与本计算节点的节点标识对应,或符合本计算节点的RCID。
在一例中,第一接收步骤130包括:根据预设数量,接收其它计算节点发送的数据段,其中预设数量比节点数量少两个或两个以上。通过预设数量,在接收到预设数量的数据段收,即停止接收,进行之后的步骤,避免了在一个或多个计算节点出现故障,或网络传输过慢造成的掉队现象,保证了进度和效率。
在一具体实施例中,接收其他计算节点的数据段过程中,可以利用一个原子变量作计数器,实现前m个数据段的接收,即预设数量为m。具体选取前m个数据段的过程如图5、图6所示。示例以计算节点数N=5,预设数量m=3为例,该设置表示在不包括自己计算节点在内,各计算节点需要从其他4个计算节点接收3个数据段数据才能继续操作。图5表示开始接收一段时间后,rank 0计算节点接收到rank 4发送来的一个数据段,其他的数据段还没有完成接收;图6表示又过了一段时间,此时已经完成了3个数据段接收,而rank 3所发的数据段还没有接收完毕,但是由于已经达到本例中m=3的预设数量,所以rank 0不再等候数据接收,而继续后续的步骤。
在一例中,第一接收步骤130包括:根据预设时间,在预设时间内接收其它计算节点发送的数据段。本实施例中,通过预设时间,在该时间范围内,持续接收其他计算节点发送的数据段,而超过该时间范围,则停止接收,进行后续步骤,从而直接从时间上保证了整体效率,避免个别计算节点的问题导致整体进度被拖慢。
在一例中,第一接收步骤130通过多线程并行接收所述数据段。接收过程由于互相不干扰,故可以使用并行多线程来提高通信效率。
聚合步骤140,根据接收到的数据段及其数据段标识,更新相应的数据段,得到聚合数据段。
根据接收到的同一数据段标识的数据段,对本计算节点的相应数据段进行聚合。其中聚合可以是累加操作。在一例中,累加操作会产生干扰,故采用串行执行,并可以在接收过程中,接收到一个数据段即开始累加,无需等待全部数据段都接收完毕,从而提高效率。
汇总步骤150,基于全部计算节点的聚合数据段,进行整合,得到整合后的数据。
在经过聚合步骤140后,每个计算节点均具有一个通过其他计算节点发送的数据而更新得到的聚合数据段,且每个计算节点具有的聚合数据段的数据段标识各不相同,通过全部计算节点之间进行通信传输,使得每个计算节点得到全部的聚合数据段并替换原有数据段,从而得到整合后的数据。
在一例中,汇总步骤150可以通过Ring-Allreduce通信算法中的汇聚方式(TheAllgather)进行数据的整合。
图7示出了公开另一实施例数据整合方法100的流程示意图,如图7所示,在一例中,汇总步骤150可以包括:第二发送步骤151、第二接收步骤152、整合步骤153。
第二发送步骤151,将聚合数据段向其它计算节点发送。
在经过聚合步骤140后,每个计算节点均具有一个通过其他计算节点发送的数据而更新得到的聚合数据段,而第二发送步骤151将本计算节点的聚合数据段至其他计算节点,以便数据整合。
在一例中,第二发送步骤151可以通过广播或多播的方式向其他计算节点进行发送。通过广播或多播的形式发送,提高了通信效率。
第二接收步骤152,接收其它计算节点发送的聚合数据段。
接收其他计算节点发送的聚合数据段,接收到的聚合数据段的数据段标识均不相同,直接从其他计算节点接收聚合数据段,提高了效率,同时也避免了通过Ring-Allreduce方式汇总过程中某计算节点发生故障而造成的全体流程延时。
整合步骤153,根据接收到的聚合数据段及其数据段标识,整合数据。根据接收到的聚合数据段的数据段标识,将聚合数据段存储到数据的相应位置,替换原数据段,如果其他某个计算节点RCID为i,则本计算节点接收到该计算节点发送的聚合数据段后就存储到数据中的数据段标识为i的位置,即得到最终的更新后的数据。
如图8所示,在一例中,数据整合方法100还包括:轮次设置步骤160,设置轮次数;第一发送步骤120还包括:根据轮次数、数据段标识和节点标识,将多个数据段分别发送至相应的其它计算节点。其中,轮次数可以是迭代次数iteration,或根据迭代次数得到。通过设置轮次数,能够在不同轮次中,将同一数据段发送至不同计算节点,同时能够在不同轮次接收到不同数据段。从而避免了某一计算节点故障,造成某数据段不能更新的问题。在一具体实施例中,计算本计算节点本轮次所需要接收的数据段标识(recv chunk id,RCID),以及其他计算节点所接收的RCID以供后续步骤通信支持。设轮次数为iter,计算节点数为N,节点标识为rank,则节点标识为rank的计算节点本轮所需要接收的chunk id(RCID)为(iter+rank)%N,即轮次数与节点标识的和,除以计算节点数的余数。
在一例中,在整合步骤153之后,还包括:返回轮次设置步骤160,更新轮次数。在进行一次整合后,本次训练迭代的梯度在所有计算节点中均进行了更新,可进行下次迭代,生成新的梯度,而每次迭代均更新轮次数,可以通过轮次数加1的形式进行更新。
表1示出了一种轮训的示意流程,如表1所示,如果某些计算节点出现故障,则其他计算节点接收不到该计算节点的聚合数据段,即整个数据中部分数据段可能出现没有同步的情况,针对这种情况,本公开实施例中采用RCID轮训机制,即将轮次数作为计算RCID的因子,使得从而使得在整个神经网络训练过程中不会有同一个位置数据段一直无法同步的状况出现。表1中所示,某一计算节点故障导致第i个轮次时,当前计算节点丢失数据段chunk3;当轮训下一个轮次时,故障计算节点的RCID变为4,所以当前计算节点会丢失数据段chunk 4,依次类推,进行多轮以后,所有的数据段都会被同步。
表1
轮次i chunk0 chunk1 chunk2 chunk4
轮次i+1 chunk0 chunk1 chunk2 chunk3
轮次i+2 chunk1 chunk2 chunk3 chunk4
轮次i+3 chunk0 chunk2 chunk3 chunk4
轮次i+4 chunk0 chunk1 chunk3 chunk4
轮次i+5 chunk0 chunk1 chunk2 chunk4
通过上述实施例,解决了在分布式深度学习训练中的网络不稳定、设备易故障的问题,能够适应并缓解由于网络不稳定导致的通信效率低下的问题,且能够对训练过程中故障设备进行容错,即使分布式训练中设备故障若干台也不会影响实验进行。
基于同一发明构思,本公开还提供一种分布式计算节点10,如图9所示,分布式计算节点10包括:数据分段模块11,用于根据全部计算节点的节点数量,将数据分为多个数据段,数据段具有数据段标识,其中,计算节点具有节点标识;第一发送模块12,用于根据数据段标识和节点标识,将多个数据段分别向相应的其它计算节点发送;第一接收模块13,用于接收其它计算节点发送的数据段;聚合模块14,用于根据接收到的数据段及其数据段标识,更新相应的数据段,得到聚合数据段;汇总模块15,用于基于全部计算节点的聚合数据段,进行整合,得到整合后的数据。
在一例中,第一接收模块13还用于:根据预设数量,接收其它计算节点发送的数据段,其中预设数量比节点数量少两个或两个以上。
在一例中,第一接收模块13还用于:根据预设时间,在预设时间内接收其它计算节点发送的数据段。
在一例中,汇总模块15包括:第二发送模块,用于将聚合数据段向其它计算节点发送;第二接收模块,用于接收其它计算节点发送的聚合数据段;整合模块,用于根据接收到的聚合数据段及其数据段标识,整合数据。
在一例中,第二发送模块15还用于:通过广播或多播,将聚合数据段向其它计算节点发送。
在一例中,分布式计算节点10还包括:轮次设置模块,设置轮次数;第一发送模块12还包括:根据轮次数、数据段标识和节点标识,将多个数据段分别发送至相应的其它计算节点。
在一例中,第一发送模块12通过多线程并行发送数据段;第一接收模块13通过多线程并行接收数据段。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于同一发明构思,本公开还提供一种分布式深度学习训练系统,其中,系统包括:多个如前述任一实施例上述的分布式计算节点10,多个计算节点10之间通信连接。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
如图10所示,本公开的一个实施方式提供了一种电子设备300。其中,该电子设备300包括存储器301、处理器302、输入/输出(Input/Output,I/O)接口303。其中,存储器301,用于存储指令。处理器302,用于调用存储器301存储的指令执行本公开实施例的图片识别方法或图片比对方法。其中,处理器302分别与存储器301、I/O接口303连接,例如可通过总线系统和/或其他形式的连接机构(未示出)进行连接。存储器301可用于存储程序和数据,包括本公开实施例中涉及的图片识别方法或图片比对方法的程序,处理器302通过运行存储在存储器301的程序从而执行电子设备300的各种功能应用以及数据处理。
本公开实施例中处理器302可以采用数字信号处理器(Digital SignalProcessing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现,所述处理器302可以是中央处理单元(Central Processing Unit,CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元中的一种或几种的组合。
本公开实施例中的存储器301可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(Random Access Memory,RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(Read-OnlyMemory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)等。
本公开实施例中,I/O接口303可用于接收输入的指令(例如数字或字符信息,以及产生与电子设备300的用户设置以及功能控制有关的键信号输入等),也可向外部输出各种信息(例如,图像或声音等)。本公开实施例中I/O接口303可包括物理键盘、功能按键(比如音量控制按键、开关按键等)、鼠标、操作杆、轨迹球、麦克风、扬声器、和触控面板等中的一个或多个。
可以理解的是,本公开实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
本公开实施例涉及的方法和装置能够利用标准编程技术来完成,利用基于规则的逻辑或者其他逻辑来实现各种方法步骤。还应当注意的是,此处以及权利要求书中使用的词语“装置”和“模块”意在包括使用一行或者多行软件代码的实现和/或硬件实现和/或用于接收输入的设备。
此处描述的任何步骤、操作或程序可以使用单独的或与其他设备组合的一个或多个硬件或软件模块来执行或实现。在一个实施方式中,软件模块使用包括包含计算机程序代码的计算机可读介质的计算机程序产品实现,其能够由计算机处理器执行用于执行任何或全部的所描述的步骤、操作或程序。
出于示例和描述的目的,已经给出了本公开实施的前述说明。前述说明并非是穷举性的也并非要将本公开限制到所公开的确切形式,根据上述教导还可能存在各种变形和修改,或者是可能从本公开的实践中得到各种变形和修改。选择和描述这些实施例是为了说明本公开的原理及其实际应用,以使得本领域的技术人员能够以适合于构思的特定用途来以各种实施方式和各种修改而利用本公开。

Claims (12)

1.一种数据整合方法,用于分布式计算节点的数据整合,其中,所述方法包括:
数据分段步骤,根据全部计算节点的节点数量,将数据分为多个数据段,所述数据段具有数据段标识,其中,所述计算节点具有节点标识;
第一发送步骤,根据所述数据段标识和所述节点标识,将所述多个数据段分别向相应的其它所述计算节点发送;
第一接收步骤,接收其它所述计算节点发送的数据段;
聚合步骤,根据接收到的数据段及其所述数据段标识,更新相应的所述数据段,得到聚合数据段;
汇总步骤,基于全部所述计算节点的所述聚合数据段,进行整合,得到整合后的所述数据。
2.根据权利要求1所述的方法,其中,所述第一接收步骤还包括:
根据预设数量,接收其它所述计算节点发送的数据段,其中所述预设数量比所述节点数量少两个或两个以上。
3.根据权利要求1所述的方法,其中,所述第一接收步骤还包括:
根据预设时间,在所述预设时间内接收其它所述计算节点发送的数据段。
4.根据权利要求1所述的方法,其中,所述汇总步骤包括:
第二发送步骤,将所述聚合数据段向其它所述计算节点发送;
第二接收步骤,接收其它所述计算节点发送的聚合数据段;
整合步骤,根据接收到的所述聚合数据段及其所述数据段标识,整合所述数据。
5.根据权利要求4所述的方法,其中,所述第二发送步骤还包括:通过广播或多播,将所述聚合数据段向其它所述计算节点发送。
6.根据权利要求1-5任一项所述的方法,其中,所述方法还包括:
轮次设置步骤,设置轮次数;
所述第一发送步骤还包括:根据所述轮次数、所述数据段标识和所述节点标识,将所述多个数据段分别发送至相应的其它所述计算节点。
7.根据权利要求6所述的方法,其中,在所述汇总步骤之后,所述方法还包括:返回所述轮次设置步骤,更新所述轮次数。
8.根据权利要求1所述的方法,其中,所述第一发送步骤通过多线程并行发送所述数据段;所述第一接收步骤通过多线程并行接收所述数据段。
9.一种分布式计算节点,其中,所述计算节点包括:
数据分段模块,用于根据全部计算节点的节点数量,将数据分为多个数据段,所述数据段具有数据段标识,其中,所述计算节点具有节点标识;
第一发送模块,用于根据所述数据段标识和所述节点标识,将所述多个数据段分别向相应的其它所述计算节点发送;
第一接收模块,用于接收其它所述计算节点发送的数据段;
聚合模块,用于根据接收到的数据段及其所述数据段标识,更新相应的所述数据段,得到聚合数据段;
汇总模块,用于基于全部所述计算节点的所述聚合数据段,进行整合,得到整合后的所述数据。
10.一种分布式深度学习训练系统,其中,所述系统包括多个如权利要求9所述的计算节点,多个所述计算节点之间通信连接。
11.一种电子设备,其中,所述电子设备包括:
存储器,用于存储指令;以及
处理器,用于调用所述存储器存储的指令执行如权利要求1-8中任一项所述的数据整合方法。
12.一种计算机可读存储介质,其中存储有指令,所述指令被处理器执行时,执行如权利要求1-8中任一项所述的数据整合方法。
CN201910741733.3A 2019-08-12 2019-08-12 数据整合方法、分布式计算节点及分布式深度学习训练系统 Pending CN110502544A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910741733.3A CN110502544A (zh) 2019-08-12 2019-08-12 数据整合方法、分布式计算节点及分布式深度学习训练系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910741733.3A CN110502544A (zh) 2019-08-12 2019-08-12 数据整合方法、分布式计算节点及分布式深度学习训练系统

Publications (1)

Publication Number Publication Date
CN110502544A true CN110502544A (zh) 2019-11-26

Family

ID=68586456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910741733.3A Pending CN110502544A (zh) 2019-08-12 2019-08-12 数据整合方法、分布式计算节点及分布式深度学习训练系统

Country Status (1)

Country Link
CN (1) CN110502544A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112561079A (zh) * 2020-12-18 2021-03-26 北京百度网讯科技有限公司 分布式的模型训练装置、方法及计算机程序产品
WO2021175226A1 (zh) * 2020-03-06 2021-09-10 华为技术有限公司 环形网络的故障恢复方法及物理节点
WO2021195989A1 (en) * 2020-03-31 2021-10-07 Alibaba Group Holding Limited Parallel method based on hybrid architecture in distributed training
CN113746873A (zh) * 2020-05-27 2021-12-03 华为技术有限公司 环形网络中的异常节点处理方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107944566A (zh) * 2017-11-28 2018-04-20 杭州云脑科技有限公司 一种机器学习方法、主节点、工作节点及系统
US20180144244A1 (en) * 2016-11-23 2018-05-24 Vital Images, Inc. Distributed clinical workflow training of deep learning neural networks
CN109754060A (zh) * 2017-11-06 2019-05-14 阿里巴巴集团控股有限公司 一种神经网络机器学习模型的训练方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180144244A1 (en) * 2016-11-23 2018-05-24 Vital Images, Inc. Distributed clinical workflow training of deep learning neural networks
CN109754060A (zh) * 2017-11-06 2019-05-14 阿里巴巴集团控股有限公司 一种神经网络机器学习模型的训练方法及装置
CN107944566A (zh) * 2017-11-28 2018-04-20 杭州云脑科技有限公司 一种机器学习方法、主节点、工作节点及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANDREW GIBIANSKY: "Bringing HPC Techniques to Deep Learning", 《BAIDU RESEARCH,HTTPS://ANDREW.GIBIANSKY.COM/BLOG/MACHINE-LEARNING/BAIDU-ALLREDUCE/,HTTP://RESEARCH.BAIDU.COM/BRINGING-HPC-TECHNIQUES-DEEP-LEARNING》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021175226A1 (zh) * 2020-03-06 2021-09-10 华为技术有限公司 环形网络的故障恢复方法及物理节点
WO2021195989A1 (en) * 2020-03-31 2021-10-07 Alibaba Group Holding Limited Parallel method based on hybrid architecture in distributed training
CN113746873A (zh) * 2020-05-27 2021-12-03 华为技术有限公司 环形网络中的异常节点处理方法及相关设备
CN112561079A (zh) * 2020-12-18 2021-03-26 北京百度网讯科技有限公司 分布式的模型训练装置、方法及计算机程序产品

Similar Documents

Publication Publication Date Title
CN110502544A (zh) 数据整合方法、分布式计算节点及分布式深度学习训练系统
US10482380B2 (en) Conditional parallel processing in fully-connected neural networks
CN106030562B (zh) 网络处理器中的分组整形
US20190042915A1 (en) Procedural neural network synaptic connection modes
CN110033078A (zh) 一种基于树状拓扑的计算系统及方法
CN103853618B (zh) 基于截止日期驱动的云系统代价最小化资源分配方法
CN108564168A (zh) 一种对支持多精度卷积神经网络处理器的设计方法
CN108319599A (zh) 一种人机对话的方法和装置
CN106951926A (zh) 一种混合架构的深度学习系统方法及装置
CN107766935B (zh) 多层人造神经网络
CN112468401B (zh) 用于类脑处理器的片上网络路由通信方法及片上网络
US20220092408A1 (en) Neural network weight distribution using a tree direct-memory access (dma) bus
WO2021109588A1 (zh) 一种数据处理方法、装置、电子设备及可读存储介质
CN108241534A (zh) 一种任务处理、分配、管理、计算的方法以及装置
US20210318878A1 (en) Method and system for accelerating ai training with advanced interconnect technologies
CN109445386A (zh) 一种基于onba的云制造任务最短生产时间调度方法
CN110059804A (zh) 待搜索网络训练方法、数据处理方法及装置
CN115981562A (zh) 一种数据处理方法及装置
CN110502576A (zh) 数据整合方法、分布式计算节点及分布式深度学习训练系统
JP7412489B2 (ja) 連合学習方法及び装置、電子機器、記憶媒体ならびにコンピュータプログラム
CN115879543A (zh) 一种模型训练方法、装置、设备、介质及系统
CN110610231A (zh) 一种信息处理方法、电子设备和存储介质
CN106990913A (zh) 一种大规模流式集合数据的分布式处理方法
Ho et al. Adaptive communication for distributed deep learning on commodity GPU cluster
US11709783B1 (en) Tensor data distribution using grid direct-memory access (DMA) controller

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhu Hongrui

Inventor after: Tan Guangming

Inventor after: Yao Chengji

Inventor after: Tian Zhongbo

Inventor after: Zhong Zhi Hu

Inventor after: Zhang Xiaoyang

Inventor after: Yuan Guojun

Inventor before: Zhu Hongrui

Inventor before: Yao Chengji

Inventor before: Tian Zhongbo

Inventor before: Zhong Zhi Hu

Inventor before: Zhang Xiaoyang

Inventor before: Yuan Guojun