CN112463056B - 一种多节点分布式训练方法、装置、设备及可读介质 - Google Patents
一种多节点分布式训练方法、装置、设备及可读介质 Download PDFInfo
- Publication number
- CN112463056B CN112463056B CN202011362143.9A CN202011362143A CN112463056B CN 112463056 B CN112463056 B CN 112463056B CN 202011362143 A CN202011362143 A CN 202011362143A CN 112463056 B CN112463056 B CN 112463056B
- Authority
- CN
- China
- Prior art keywords
- node
- training
- cpus
- cpu
- gradient
- 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.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 134
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004364 calculation method Methods 0.000 claims abstract description 31
- 230000009467 reduction Effects 0.000 claims abstract description 29
- 238000013136 deep learning model Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Neurology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Multi Processors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种多节点分布式训练方法,包括:在每个节点上分别建立独立的训练计算图,通过训练计算图覆盖每个节点内的全部GPU和CPU,并将每个节点的CPU加入到深度学习模型分布式训练框架中;将主节点GPU中的初始训练参数拷贝到主节点CPU中,并将主节点CPU中的初始训练参数发送到其他节点的CPU上;将其他节点的CPU接收的初始训练参数拷贝到各自节点的GPU上,通过训练计算图对梯度进行规约操作,并将规约后得到的一级梯度拷贝到各自节点的CPU上;以及对各自节点的CPU中一级梯度再次进行规约,并将规约后得到的二级梯度拷贝到各自节点的GPU中。本发明还公开了对应的装置、计算机设备和可读存储介质。本发明通过结合horovod和replicated两种训练模式的优点,提高训练效率。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种多节点分布式训练方法、装置、设备及可读介质。
背景技术
深度学习模型训练是人工智能产品落地的一个重要环节,随着训练数据和模型结构的扩大,将计算加速器(如英伟达GPU等)用于深度学习模型训练是一种现在和未来流行的趋势。同时,大规模分布式训练也极大地加速了深度学习模型的训练速度,比如用单个英伟达NGX-2节点(其中含有16个V100 GPU),模型bert_large耗时3天;用16个DGX-2节点,耗时4小时;用64个DGX-2,耗时67分钟。
在做分布式训练时,一种常见的分布式训练框架是horovod,其作用是包括两点:训练前统一训练参数、在训练中的每一步对梯度做规约操作。因其使用的简洁性和良好的扩展性,horovod在分布式训练中非常流行,但是它与其它方法的性能比较一直没有相关研究。经最新的单节点测试表明,在英伟达8个GPU-T4上,horovod和replicated的性能没有明显差异,但是在8个更高计算力的GPU-V100上,replicated的性能可以比horovod高达30%。
现有技术一是在每个节点内的每一个GPU上,都有同样的训练计算图,每一个GPU由不同的进程控制,在开始训练之前,所有GPU上的训练参数通过horovod的广播操作来统一;在训练中的每一步,每个GPU上都会计算出各自的梯度,通过horovod中的allreduce操作来对所有GPU上的梯度进行规约,实现每个GPU上都得到相同的规约梯度。现有技术一的缺点在于随着分布式规模的扩大,单个GPU上的性能会下降很快,其扩展性变差,比如在GPU-V100上,replicated可比horovod的性能高30%。
现有技术二是replicated训练模式,即在每个节点内都建立一张训练计算图,其覆盖节点内的所有GPU。在训练中每一步,GPU上的梯度规约可以通过两种方式进行操作,一种是add_n,即在每一个GPU上将其它GPU上的梯度都拷贝过来,再进行求和或求平均;另一种是通过GPU上的ncclallreduce来进行规约。现有技术二的缺点在于在大规模分布式情况下,比如1000多个节点,如果用add_n来对梯度进行规约,单个GPU上的显存会出现不足的情况;如果用ncclallreduce来做规约,在某些情况下,其性能会不如add_n。
发明内容
有鉴于此,本发明实施例的目的在于提出一种多节点分布式训练方法、装置、设备及可读介质,通过结合horovod和replicated两种训练模式的优点,单节点内使用replicated的分布式训练模式以得到更高的性能,同时在节点间使用horovod以克服节点数增多时replicated导致单GPU显存不足的问题。
基于上述目的,本发明实施例的一方面提供了一种多节点分布式训练方法,包括以下步骤:在每个节点上分别建立独立的训练计算图,通过训练计算图覆盖每个节点内的全部GPU和CPU,并将每个节点的CPU加入到深度学习模型分布式训练框架中;将主节点GPU中的初始训练参数拷贝到主节点CPU中,并基于深度学习模型分布式训练框架的广播操作将主节点CPU中的初始训练参数发送到其他节点的CPU上;将其他节点的CPU接收的初始训练参数拷贝到各自节点的GPU上,通过训练计算图对梯度进行规约操作,并将规约后得到的一级梯度拷贝到各自节点的CPU上;以及基于深度学习模型分布式训练框架的全局规约操作对各自节点的CPU中一级梯度再次进行规约,并将规约后得到的二级梯度拷贝到各自节点的GPU中。
在一些实施方式中,在每个节点上分别建立独立的训练计算图,通过训练计算图覆盖每个节点内的全部GPU和CPU包括:在每个节点上分别建立独立的replicated形式的计算图,通过计算图覆盖每个节点内的全部GPU和CPU。
在一些实施方式中,将每个节点的CPU加入到深度学习模型分布式训练框架中包括:将每个节点的CPU加入到horovod训练框架中。
在一些实施方式中,通过训练计算图对梯度进行规约操作包括:将节点内全部GPU的梯度求和或求平均值。
在一些实施方式中,通过训练计算图对梯度进行规约操作包括:调用GPU通信库中的规约操作,并基于规约操作对梯度求和或求平均。
本发明实施例的另一方面,还提供了一种多节点分布式训练装置,包括:初始模块,配置用于在每个节点上分别建立独立的训练计算图,通过训练计算图覆盖每个节点内的全部GPU和CPU,并将每个节点的CPU加入到深度学习模型分布式训练框架中;广播模块,配置用于将主节点GPU中的初始训练参数拷贝到主节点CPU中,并基于深度学习模型分布式训练框架的广播操作将主节点CPU中的初始训练参数发送到其他节点的CPU上;一级规约模块,配置用于将其他节点的CPU接收的初始训练参数拷贝到各自节点的GPU上,通过训练计算图对梯度进行规约操作,并将规约后得到的一级梯度拷贝到各自节点的CPU上;以及二级规约模块,配置用于基于深度学习模型分布式训练框架的全局规约操作对各自节点的CPU中一级梯度再次进行规约,并将规约后得到的二级梯度拷贝到各自节点的GPU中。
在一些实施方式中,初始模块进一步配置用于:在每个节点上分别建立独立的replicated形式的计算图,通过计算图覆盖每个节点内的全部GPU和CPU。
在一些实施方式中,初始模块进一步配置用于:将每个节点的CPU加入到horovod训练框架中。
本发明实施例的再一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明具有以下有益技术效果:通过结合horovod和replicated两种训练模式的优点,单节点内使用replicated的分布式训练模式以得到更高的性能,同时在节点间使用horovod以克服节点数增多时replicated导致单GPU显存不足的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的多节点分布式训练方法的实施例的示意图;
图2为本发明提供的多节点分布式训练装置的实施例的示意图;
图3为本发明提供的计算机设备的实施例的示意图;
图4为本发明提供的计算机可读存储介质的实施例的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了多节点分布式训练方法的实施例。图1示出的是本发明提供的多节点分布式训练方法的实施例的示意图。如图1所示,本发明实施例包括在维护设备端执行如下步骤:
S01、在每个节点上分别建立独立的训练计算图,通过训练计算图覆盖每个节点内的全部GPU和CPU,并将每个节点的CPU加入到深度学习模型分布式训练框架中;
S02、将主节点GPU中的初始训练参数拷贝到主节点CPU中,并基于深度学习模型分布式训练框架的广播操作将主节点CPU中的初始训练参数发送到其他节点的CPU上;
S03、将其他节点的CPU接收的初始训练参数拷贝到各自节点的GPU上,通过训练计算图对梯度进行规约操作,并将规约后得到的一级梯度拷贝到各自节点的CPU上;以及
S04、基于深度学习模型分布式训练框架的全局规约操作对各自节点的CPU中一级梯度再次进行规约,并将规约后得到的二级梯度拷贝到各自节点的GPU中。
在本实施例中,Replicated是一种深度学习模型分布式训练方法,在每个计算加速器上,计算图都相同,包括都有一份各自的训练参数,各个加速器上的计算图的总和组成了一个完整的计算图。Horovod是一种深度学习模型分布式训练框架,其保证了各个加速器上都有相同的训练参数,且协调对各个加速器上的梯度做规约操作。
在本实施例中,第一部分是在每个节点上建立独立的replicated形式的计算图,即节点内的所有GPU被一个训练计算图覆盖,各个GPU上的梯度通过add_n或ncclallreduce来实现。add_n是指在每个GPU上将同一节点内的其它GPU上的梯度都拷贝该GPU上,再对它们求和或求平均;ncclallreduce是指通过调用GPU通信库中的规约操作来实现梯度的求和或求平均。第二部分是同一训练参数的初始化。将节点0中的GPU0上的初始训练参数拷贝到节点0的CPU中,通过horovod的广播操作将这些参数广播到其它节点的CPU中;将各自节点中CPU上的参数拷贝到各自节点内的所有GPU上。第三部分是在训练过程中的每一步,重复以下操作。在每个节点中,通过replicated计算图中的方式(add_n或ncclallreduce)对梯度进行规约操作,并最后将GPU0上规约后的梯度拷贝到CPU上;利用horovod中的allreduce操作对各个节点中的CPU上规约后的梯度再次进行规约;在各个节点上,将经horovod规约后的梯度值拷贝到所有GPU中。
在本发明的一些实施例中,在每个节点上分别建立独立的训练计算图,通过训练计算图覆盖每个节点内的全部GPU和CPU包括:在每个节点上分别建立独立的replicated形式的计算图,通过计算图覆盖每个节点内的全部GPU和CPU。
在本发明的一些实施例中,将每个节点的CPU加入到深度学习模型分布式训练框架中包括:将每个节点的CPU加入到horovod训练框架中。
在本发明的一些实施例中,通过训练计算图对梯度进行规约操作包括:将节点内全部GPU的梯度求和或求平均值。
在本发明的一些实施例中,通过训练计算图对梯度进行规约操作包括:调用GPU通信库中的规约操作,并基于规约操作对梯度求和或求平均。
在本发明的一些实施例中,还适用于所有深度学习框架,包括Tensorflow,Pytorch,MxNet、适用于所有用于加速深度学习模型训练的加速器,包括GPU,TPU等其它ASICs。
需要特别指出的是,上述多节点分布式训练方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于多节点分布式训练方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种多节点分布式训练装置。图2示出的是本发明提供的多节点分布式训练装置的实施例的示意图。如图2所示,本发明实施例包括如下模块:初始模块S11,配置用于在每个节点上分别建立独立的训练计算图,通过训练计算图覆盖每个节点内的全部GPU和CPU,并将每个节点的CPU加入到深度学习模型分布式训练框架中;广播模块S12,配置用于将主节点GPU中的初始训练参数拷贝到主节点CPU中,并基于深度学习模型分布式训练框架的广播操作将主节点CPU中的初始训练参数发送到其他节点的CPU上;一级规约模块S13,配置用于将其他节点的CPU接收的初始训练参数拷贝到各自节点的GPU上,通过训练计算图对梯度进行规约操作,并将规约后得到的一级梯度拷贝到各自节点的CPU上;以及二级规约模块S14,配置用于基于深度学习模型分布式训练框架的全局规约操作对各自节点的CPU中一级梯度再次进行规约,并将规约后得到的二级梯度拷贝到各自节点的GPU中。
在本发明的一些实施例中,初始模块S11进一步配置用于:在每个节点上分别建立独立的replicated形式的计算图,通过计算图覆盖每个节点内的全部GPU和CPU。
在本发明的一些实施例中,初始模块S11进一步配置用于:将每个节点的CPU加入到horovod训练框架中。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备。图3示出的是本发明提供的计算机设备的实施例的示意图。如图3所示,本发明实施例包括如下装置:至少一个处理器S21;以及存储器S22,存储器S22存储有可在处理器上运行的计算机指令S23,指令由处理器执行时实现以上方法的步骤。
本发明还提供了一种计算机可读存储介质。图4示出的是本发明提供的计算机可读存储介质的实施例的示意图。如图4所示,计算机可读存储介质存储S31有被处理器执行时执行如上方法的计算机程序S32。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,多节点分布式训练方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (8)
1.一种多节点分布式训练方法,其特征在于,包括以下步骤:
在每个节点上分别建立独立的replicated形式的训练计算图,通过所述训练计算图覆盖所述每个节点内的全部GPU和CPU,并将所述每个节点的CPU加入到深度学习模型分布式训练框架中;
将主节点GPU中的初始训练参数拷贝到所述主节点CPU中,并基于所述深度学习模型分布式训练框架的广播操作将所述主节点CPU中的所述初始训练参数发送到其他节点的CPU上;
将所述其他节点的CPU接收的所述初始训练参数拷贝到各自节点的GPU上,通过所述训练计算图中的add_n或ncclallreduce对梯度进行规约操作,并将规约后得到的一级梯度拷贝到各自节点的CPU上;以及
基于所述深度学习模型分布式训练框架的全局规约操作对所述各自节点的CPU中所述一级梯度再次进行规约,并将规约后得到的二级梯度拷贝到所述各自节点的GPU中。
2.根据权利要求1所述的多节点分布式训练方法,其特征在于,将所述每个节点的CPU加入到深度学习模型分布式训练框架中包括:
将所述每个节点的CPU加入到horovod训练框架中。
3.根据权利要求1所述的多节点分布式训练方法,其特征在于,通过所述训练计算图中的add_n或ncclallreduce对梯度进行规约操作包括:
将所述节点内全部GPU的梯度求和或求平均值。
4.根据权利要求1所述的多节点分布式训练方法,其特征在于,通过所述训练计算图对梯度进行规约操作包括:
调用GPU通信库中的规约操作,并基于所述规约操作对梯度求和或求平均。
5.一种多节点分布式训练装置,其特征在于,包括:
初始模块,配置用于在每个节点上分别建立独立的replicated形式的训练计算图,通过所述训练计算图覆盖所述每个节点内的全部GPU和CPU,并将所述每个节点的CPU加入到深度学习模型分布式训练框架中;
广播模块,配置用于将主节点GPU中的初始训练参数拷贝到所述主节点CPU中,并基于所述深度学习模型分布式训练框架的广播操作将所述主节点CPU中的所述初始训练参数发送到其他节点的CPU上;
一级规约模块,配置用于将所述其他节点的CPU接收的所述初始训练参数拷贝到各自节点的GPU上,通过所述训练计算图中的add_n或ncclallreduce对梯度进行规约操作,并将规约后得到的一级梯度拷贝到各自节点的CPU上;以及
二级规约模块,配置用于基于所述深度学习模型分布式训练框架的全局规约操作对所述各自节点的CPU中所述一级梯度再次进行规约,并将规约后得到的二级梯度拷贝到所述各自节点的GPU中。
6.根据权利要求5所述的多节点分布式训练装置,其特征在于,所述初始模块进一步配置用于:
将所述每个节点的CPU加入到horovod训练框架中。
7.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-4任意一项所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任意一项所述方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011362143.9A CN112463056B (zh) | 2020-11-28 | 2020-11-28 | 一种多节点分布式训练方法、装置、设备及可读介质 |
US18/035,489 US20230409921A1 (en) | 2020-11-28 | 2021-09-28 | Multi-node distributed training method and apparatus, device and readable medium |
PCT/CN2021/121433 WO2022111042A1 (zh) | 2020-11-28 | 2021-09-28 | 一种多节点分布式训练方法、装置、设备及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011362143.9A CN112463056B (zh) | 2020-11-28 | 2020-11-28 | 一种多节点分布式训练方法、装置、设备及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112463056A CN112463056A (zh) | 2021-03-09 |
CN112463056B true CN112463056B (zh) | 2023-06-09 |
Family
ID=74809766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011362143.9A Active CN112463056B (zh) | 2020-11-28 | 2020-11-28 | 一种多节点分布式训练方法、装置、设备及可读介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230409921A1 (zh) |
CN (1) | CN112463056B (zh) |
WO (1) | WO2022111042A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463056B (zh) * | 2020-11-28 | 2023-06-09 | 苏州浪潮智能科技有限公司 | 一种多节点分布式训练方法、装置、设备及可读介质 |
CN113033098B (zh) * | 2021-03-26 | 2022-05-17 | 山东科技大学 | 一种基于AdaRW算法的海洋目标检测深度学习模型训练方法 |
CN114912587B (zh) * | 2022-06-09 | 2023-05-26 | 上海燧原科技有限公司 | 神经网络分布式训练系统、方法、装置、计算单元及介质 |
CN115314397B (zh) * | 2022-08-05 | 2023-07-21 | 中科计算技术西部研究院 | 用于分布式训练的网络模拟方法、系统、装置及存储介质 |
CN116452951B (zh) * | 2023-04-18 | 2023-11-21 | 郑州大学 | 基于中央数据池的遥感信息提取模型分布式训练方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108986063A (zh) * | 2018-07-25 | 2018-12-11 | 浪潮(北京)电子信息产业有限公司 | 梯度融合的方法、装置及计算机可读存储介质 |
CN110134636A (zh) * | 2018-02-09 | 2019-08-16 | 中兴通讯股份有限公司 | 模型训练方法、服务器和计算机可读存储介质 |
CN111324630A (zh) * | 2020-03-04 | 2020-06-23 | 中科弘云科技(北京)有限公司 | 基于mpi的神经网络架构搜索并行化方法和设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020077300A (ja) * | 2018-11-09 | 2020-05-21 | 日本電信電話株式会社 | 分散深層学習システムおよびデータ転送方法 |
US11693706B2 (en) * | 2018-11-21 | 2023-07-04 | Samsung Electronics Co., Ltd. | System and method for dynamic scheduling of distributed deep learning training jobs |
US11574253B2 (en) * | 2019-08-01 | 2023-02-07 | Microsoft Technology Licensing, Llc | Distributed training for deep learning models |
CN110379416B (zh) * | 2019-08-15 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 一种神经网络语言模型训练方法、装置、设备及存储介质 |
US20220326988A1 (en) * | 2019-08-16 | 2022-10-13 | Google Llc | Explicit scheduling of on-chip operations |
CN110689136B (zh) * | 2019-09-06 | 2022-07-05 | 广东浪潮大数据研究有限公司 | 一种深度学习模型获得方法、装置、设备及存储介质 |
US20210133583A1 (en) * | 2019-11-05 | 2021-05-06 | Nvidia Corporation | Distributed weight update for backpropagation of a neural network |
CN111381966A (zh) * | 2020-03-08 | 2020-07-07 | 苏州浪潮智能科技有限公司 | 一种分布式并行训练的方法、设备及可读介质 |
CN112000473A (zh) * | 2020-08-12 | 2020-11-27 | 中国银联股份有限公司 | 深度学习模型的分布式训练方法以及装置 |
CN112463056B (zh) * | 2020-11-28 | 2023-06-09 | 苏州浪潮智能科技有限公司 | 一种多节点分布式训练方法、装置、设备及可读介质 |
-
2020
- 2020-11-28 CN CN202011362143.9A patent/CN112463056B/zh active Active
-
2021
- 2021-09-28 US US18/035,489 patent/US20230409921A1/en active Pending
- 2021-09-28 WO PCT/CN2021/121433 patent/WO2022111042A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134636A (zh) * | 2018-02-09 | 2019-08-16 | 中兴通讯股份有限公司 | 模型训练方法、服务器和计算机可读存储介质 |
CN108986063A (zh) * | 2018-07-25 | 2018-12-11 | 浪潮(北京)电子信息产业有限公司 | 梯度融合的方法、装置及计算机可读存储介质 |
CN111324630A (zh) * | 2020-03-04 | 2020-06-23 | 中科弘云科技(北京)有限公司 | 基于mpi的神经网络架构搜索并行化方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20230409921A1 (en) | 2023-12-21 |
CN112463056A (zh) | 2021-03-09 |
WO2022111042A1 (zh) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112463056B (zh) | 一种多节点分布式训练方法、装置、设备及可读介质 | |
CN110782011B (zh) | 一种基于强化学习的网络化多智能体系统分布式优化控制方法 | |
CN109377232B (zh) | 基于dag的区块链的交易定序方法及设备 | |
CN111625820A (zh) | 一种基于面向AIoT安全的联邦防御方法 | |
CN114021737B (zh) | 一种基于博弈的强化学习方法、系统、终端及存储介质 | |
CN110599166A (zh) | 一种区块链内获取交易依赖关系的方法及装置 | |
CN114842307A (zh) | 掩码图像模型训练方法、掩码图像内容预测方法和设备 | |
CN109510681B (zh) | 一种通信网络时间同步级数最小的基准节点选择方法 | |
CN114935915A (zh) | 一种DoS攻击下异质无人系统的安全分组一致控制方法 | |
CN111510327B (zh) | 用于共同训练模型的训练参与端的网络连接方法、装置、系统和服务器 | |
CN112738055A (zh) | 一种mpi消息通信算法的优化方法、装置、设备及可读介质 | |
CN114707663B (zh) | 分布式机器学习方法、装置、电子设备及存储介质 | |
CN115292044A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115134114A (zh) | 基于离散混淆自编码器的纵向联邦学习攻击防御方法 | |
CN112350843B (zh) | 一种基于虚拟组件的场景式割接方法和系统 | |
CN115564055A (zh) | 异步联合学习训练方法、装置、计算机设备及存储介质 | |
CN104703088A (zh) | 一种分布式舞台音效系统统一调配方法 | |
JP2860057B2 (ja) | ニューラルネットワークシステム | |
CN111639741A (zh) | 一种用于多目标QoS优化的服务自动组合代理系统 | |
CN113824802B (zh) | 一种去中心化分布式训练拓扑结构、训练系统及方法 | |
CN115392057B (zh) | 一种低轨星座卫星仿真建模方法 | |
WO2023124312A1 (zh) | 联合学习中的预测方法及装置 | |
CN114780272B (zh) | 基于共享存储和虚拟化的智能故障自愈调度方法和装置 | |
CN115834247B (zh) | 一种基于区块链的边缘计算信任评价方法 | |
Jordan et al. | Graph-based simulation of emergency services communications systems |
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 |