CN113298222A - 一种基于神经网络的参数更新方法、分布式训练平台系统 - Google Patents

一种基于神经网络的参数更新方法、分布式训练平台系统 Download PDF

Info

Publication number
CN113298222A
CN113298222A CN202010110959.6A CN202010110959A CN113298222A CN 113298222 A CN113298222 A CN 113298222A CN 202010110959 A CN202010110959 A CN 202010110959A CN 113298222 A CN113298222 A CN 113298222A
Authority
CN
China
Prior art keywords
gpu
parameter
neural network
gpus
updating method
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
CN202010110959.6A
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.)
Shenzhen Zhixing Technology Co Ltd
Original Assignee
Shenzhen Zhixing 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 Shenzhen Zhixing Technology Co Ltd filed Critical Shenzhen Zhixing Technology Co Ltd
Priority to CN202010110959.6A priority Critical patent/CN113298222A/zh
Publication of CN113298222A publication Critical patent/CN113298222A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于神经网络的参数更新方法、分布式训练平台系统。其中,根据设备内和设备间GPU的分阶段聚合,以及在设备间首节点GPU(Leader GPU)采用高效的Allreduce方式进行参数聚合,以避免中心化的PS(Parameter Server)参数聚合通信模型对多机多GPU集群可扩展性的限制;另外也可避免去中心化的Ring‑Allreduce方式在超大规模GPU集群需求下数据通信存在延时开销的问题。

Description

一种基于神经网络的参数更新方法、分布式训练平台系统
技术领域
本发明涉及深度学习领域中深度学习神经网络的参数更新技术;具体地,涉及一种基于神经网络的参数更新方法、分布式训练平台系统。
背景技术
近年来,人工智能,特别是深度学习,在图像识别,语言处理等领域取得重大突破,并且开始广泛应用于商业活动中。深度学习能够取得如此重大突破的一个关键原因是深度学习在训练过程中处理了大量样本,从样本中学习到样本之中包含的众多特征。
人工神经网络(Artificial Neural Network,ANN,以下简称神经网络)在本领域被提及时,其通常是指由一定数量的高度互联的单一处理单元(processing elements,也即节点(nodes))组成的计算系统;其中,这些处理单元通过其对外部输入的动态状态响应来处理信息。其中,深度神经网络(Deep Neural Network,DNN)是人工神经网络中的一种;其在输入层和输出层之间具有多个隐藏层。与浅层ANN相似,深度神经网络能够对复杂的非线性关系建模。和大多数机器学习算法通过生成符合训练数据的模型进而在以生成的模型对输入数据进行预测一样,深度学习算法,也需要通过深度神经网络的模型训练,来找到符合的模型参数值,以使深度学习算法模型可以提供准确的预测。
其中,一种深度学习神经网络训练方法的过程,包括了前向传播(forwardpasspropagation)和后向传播(backpropagation)的使用。其中,前向传播通过的损失值(loss)来评估模型性能,而反向传播则用于生成对应当前权重参数的梯度。当输入数据输入神经网络时,它会通过网络逐层向前传播,直到到达输出层。将输出层的输出与使用损失函数得到的期望输出对比,并为输出层中的每个神经元计算一个误差值。将误差值后向传播,直至使每个神经元都有着一个关联的误差值,其将大致代表其对原始输出的贡献。反向传播使用这些误差值来计算对应网络中权重参数的损失函数梯度。而上述的梯度,被用于更新权重参数,并在其过程中最小化损失函数。
而深度神经网络模型的训练,通常采用数据并行的模式,即生成多份模型副本,并将样本分别输入上述各模型副本进行训练。那么,在训练过程中,则需要将为同一批次样本在不同模型副本项下生成的梯度进行梯度聚合,以实现该批次处理过程的迭代。目前,深度学习框架通常采用多GPU来加速的。而现有的参数聚合/梯度聚合方法,通常也是被用于多GPU训练场景的。事实上,一台典型的机器设备就可能包括多个本地GPU,它们通过PCIe总线或NVLink等其他标准的总线定向地与机器设备的CPU、网卡等网络设备连接;并且,其中的一些机器设备中,其本地GPU还若干个为一组分属于机器设备中不同的节点(例如NUMA节点);而一个NUMA节点,通常包括一个属于自己的CPU,以及内存条等。在生产环境下,为了提高训练效率,深度神经网络模型的训练往往更是部署在多台如前面所述的机器设备组成的集群上的。
在数据并行训练模式下,每一次迭代的参数更新(梯度聚合),特别是多机多卡(GPU卡)集群场景下的参数更新(梯度聚合),在现有技术中主要采用如下两种方式:
一、通过中心化的参数服务器(Parameter Server)承担了梯度的收集、平均和分发工作,基于上述通信模型的部署方式下,参数服务器的访问带宽容易成为瓶颈,严重影响多机多GPU集群的可扩展性;
二、去中心化的Ring-Allreduce方式,即一种基于环形拓扑的通信方式;在Ring-AllReduce方法中,通过其中的每个GPU都递次地向相邻GPU传送、收集相应的梯度片段以及同步收集的梯度片段,克服上述方式中参数服务器的通信瓶颈问题,但是在超大规模GPU集群场景下数据通信存在着很大的延时开销。
随着训练集群规模越来越大,当前的参数更新方法,具体而言即参数聚合方法(例如梯度聚合)遭到了扩展性、效率等诸多挑战。本发明各实施提供的神经网络参数(例如前面述及的梯度)聚合,将在一定程度上改善现有技术中用于深度神经网络模型训练的多机多卡集群的扩展性、参数更新效率等。
发明内容
有鉴于此,本发明提供一种基于神经网络的参数更新方法、分布式训练平台系统。其中,本发明拟提供一种基于神经网络的参数更新方法,和提供一种与之相关的分布式训练平台系统、装置及计算机软件存储介质。
一方面,本发明实施例提供一种基于神经网络的参数更新方法,用于多机多GPU集群场景下,特别是大规模GPU集群场景下,的不同GPU上神经网络模型副本的参数(例如梯度信息等)的更新。
上述的基于神经网络的参数更新的方法,包括:
根据GPU的物理拓扑以及不同机器设备和同一机器设备内的GPU间通信信道的不同,确定设备内和设备间GPU的分阶段聚合;其中,
1、设备内GPU间的参数聚合,包括:
对于任一设备,确定其中的一个GPU为首节点GPU(即Leader GPU);而其中运行的应用则使设备内的各个GPU以Allreduce方式进行设备内GPU节点间的参数聚合;
2、各个设备的首节点GPU间的基于矩阵拓扑的Allreduce参数聚合,包括:
将各个设备的首节点GPU分别视为单独的逻辑节点,构建一个矩阵拓扑,使其包括上述全部的首节点GPU;
1)在水平方向上执行reduce-scatter操作:
在矩阵的水平方向上,分别将各行的各个GPU上的参数集分别分成n份参数子集;其中,n对应水平方向上每行GPU的数量,也即矩阵的列数;使水平方向的各行GPU分别构成首尾相连的逻辑环;在第一次的迭代中,使各行中的各个GPU分别发送其列编号对应的参数子集给下游相邻节点GPU,并接收上游相邻节点GPU发来的参数子集,并与本GPU上与之(即接收的参数子集)对应的参数子集执行合并运算;在后续各次的迭代中,使各行中的各个GPU分别将其在上次迭代中合并的参数子集发送给下游相邻节点GPU,并接收上游相邻节点GPU发来的合并参数子集,并与本GPU上与之(即接收的合并参数子集)对应的参数子集执行合并运算;在经过n-1次迭代后,通过多次的参数子集合并分别使每行的各个GPU上的与该GPU下游相邻列编号对应的参数子集获得该行各个GPU上的对应参数子集的数据,即获得对应其下游相邻列编号的行GPU合并参数子集;
2)在垂直方向上分别对各列的行GPU合并参数子集执行all-reduce操作:
在矩阵的垂直方向上,分别使各列的GPU上的对应下游相邻列编号的行GPU合并参数子集执行all-reduce操作,使各列的各个GPU在执行all-reduce操作后分别获得整个矩阵各个GPU上的对应其下游相邻列编号的参数子集的数据,即获得对应其下游相邻列编号的矩阵GPU合并参数子集;
3)在水平方向上执行all-gather操作:
在经上述的垂直方向上的all-reduce操作使矩阵中的各个GPU分别获得对应其下游相邻列编号的矩阵GPU合并参数子集后,在水平方向上,使各个GPU沿着同一顺序将其上的对应其下游相邻列编号的矩阵GPU合并参数子集依次传递和复制给相邻节点GPU;经过n-1次迭代和标准化运算后,矩阵中的所有GPU的参数集达到完全一致的状态,即实现了各个设备的首节点GPU间的参数更新;
3、设备内首节点GPU向其他GPU的反向广播:
在上述的各个设备首节点GPU间的参数更新完成后,
对于任一设备,首节点GPU分别向设备内的其他各个GPU广播,复制同步其更新后的参数集到其他各个GPU,以实现集群全部GPU节点的参数更新。
另一方面,本发明实施例提供一种分布式训练平台系统。
结合第一方面,上述的分布式训练平台系统,包括:
多个计算模块;其中,这些实施例中的计算模块,分别对应第一方面述及的方法中的GPU,用于执行深度神经网络模型训练相关的计算等;
而在其执行分布式训练过程中,执行第一方面述及的参数更新方法,实现上述的各计算模块间的参数更新(也即参数聚合)。
再一方面,本发明实施例提供一种用于深度神经网络模型分布式训练的装置。
结合第一、第二方面,上述的分布式训练装置,包括:
不少于两台的计算设备;
以及它们之间的通信线缆、设备;其中,
每台上述的计算设备,包括处理器;而其中的处理器又包括第一方面述及的方法中的GPU;其中,
所述的处理器,用于执行程序代码,以实现第一方面述及的参数更新方法中的操作。
又一方面,本发明实施例提供一种计算机可读存储介质。
结合第一、第二、第三方面,上述的计算机可读存储介质,存储有用于神经网络参数更新的程序代码;上述的程序代码,包括用于执行实现第一方面述及的参数更新方法操作的指令。
上述实施例提供的基于神经网络的参数更新方法以及基于此的分布式训练平台系统、用于深度神经网络模型分布式训练的装置、储存有相关程序代码的计算机可读存储介质,均是通过其中的基于神经网络的参数更新方法,根据设备内和设备间GPU的分阶段聚合,以及在设备间首节点GPU(Leader GPU)采用高效的Allreduce方式进行参数聚合的,如此不仅避免了中心化的PS(Parameter Server)参数聚合通信模型对多机多GPU集群可扩展性的限制;也避免了去中心化的Ring-Allreduce方式在超大规模GPU集群需求下数据通信存在延时开销的问题。
下面通过附图、具体实施例对本发明的技术方案做进一步的描述。
附图说明
为更加清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明中一部分实施例或现有技术描述中涉及的附图做简单介绍。
图1为现有技术中基于中心化的PS(Parameter Server)参数聚合通信模型进行参数更新的示意图;
图2为本发明一些优选实施例提供的一种基于神经网络的参数更新方法的示意图。
具体实施方式
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
一般来说,深度神经网络模型的训练,通常采用数据并行的模式,即生成多份模型副本,并将样本分别输入上述各模型副本进行训练。那么,在训练过程中,则需要将为同一批次样本在不同模型副本项下生成的梯度进行梯度聚合,以实现该批次处理过程的迭代。而目前主流的深度学习框架,如Tensorflow、PyTorch等,通常都支持并推荐经采用多GPU来加速训练过程。一台用于典型的训练用机器设备,通常包括多个本地GPU,它们通过PCIe总线或NVLink等其他标准的总线定向地与机器设备的CPU、网卡等网络设备连接。而这些机器设备中又有一些机器设备被配置多个卡槽,而每个卡槽又被配置多个GPU,以提高接入数量,进而提高单机训练效率。
在数据并行训练模式下,GPU上的每一次迭代的参数更新(梯度聚合),特别是多机、多卡、多GPU卡集群场景下,的参数更新(梯度聚合),现有技术中主要包括:通过参数服务器(Parameter Server)专门承担梯度的收集、平均和分发工作中心化方案和基于环形拓扑使每个GPU(计算模块)都参与的去中心化方案(即Ring-Allreduce)。其中,如图1所示,通过中心化的参数服务器(Parameter Server)专门负责了梯度的收集、平均和参数分发工作,在小规模集群时或许还能勉强应付;但在集群的GPU数量增加时,参数服务器的访问带宽必然会成为瓶颈。这种通信方式将严重影响多机、多卡集群的可扩展性。而另外一种Ring-Allreduce的方式,虽然使其中的每个GPU都递次地向相邻GPU传送、收集相应的梯度片段以及同步收集的梯度片段,克服上述方式中参数服务器的通信瓶颈问题,但是在超大规模GPU集群场景下,其环形拓扑中的节点不可避免地增加,每个节点的吞吐耗时和各节点间的通信耗时叠加,必然带来数据通信存在着很大的延时开销。
于是,针对上述问题,本发明提出了一种基于神经网络的参数更新方法、以及与之相关的分布式训练平台系统、装置和存储相关程序代码的计算机软件存储介质。
以下为本发明的一些优选实施例。
这些优选实施例中的一些提供一种基于神经网络的参数更新方法,用于实现部署分布式训练任务的多机多GPU,特别是多机多卡的GPU间,高效的参数更新。如图2所示,该方法具体包括:
根据GPU的物理拓扑,特别是利用不同机器设备间的GPU通信一般基于设备间链路通信而同一机器设备内的GPU间通信一般基于PCIe总线或NVLink等其他标准的总线布局定向地连接通信的特点,确定设备内和设备间GPU的分阶段聚合;其中,
第1步即是设备内GPU间的参数聚合,其中包括:
对其中的每一台设备,确定其中的一个GPU为首节点GPU(即Leader GPU);而其中运行的应用使设备内的各个GPU以Allreduce方式聚合设备内GPU节点间的参数集;以使首节点GPU上也拥有本设备内其他GPU节点的参数集数据信息;
第2步则是对各个设备的首节点GPU经设备内参数聚合的参数集执行基于矩阵拓扑的Allreduce参数聚合,其中包括:
将各个设备的首节点GPU分别视为单独的逻辑节点,构建一个矩阵拓扑,使其包括上述全部的首节点GPU;假定矩阵为m×n的矩阵,即m行n列,m、n为任意正整数;
根据其所在行和列,依次标注各首节点GPU为(1,1)、(1,2)、……、(1,n)、(2,1)、……、(m,1)、……、(m,n);
然后执行如下操作:
1)在水平方向上(即行方向上)执行reduce-scatter操作:分别将各行的各个GPU上的参数集分别分成n份参数子集;使水平方向的各行GPU分别构成首尾GPU节点相连的逻辑环;对于每行中任一列编号为i的GPU(其中,i为小于或等于n的正整数),使其发送其第i份参数子集(即对应其列编号的参数子集)给下游相邻节点GPU(即本行列编号为i+1的GPU节点),并接收其上游相邻节点GPU(一般为列编号为i-1的GPU节点,但当本节点GPU的列编号为1时,其上游相邻节点GPU的列编号则为n)发来的参数子集,并与本GPU上与之(即接收的参数子集)对应的参数子集执行合并运算;并在后续各次的迭代中,是使列编号为i的GPU将其在上次迭代中合并的参数子集发送给下游相邻节点GPU,并接收上游相邻节点GPU发来的合并参数子集,并与本GPU上与之(即接收的合并参数子集)对应的参数子集执行合并运算;在经过n-1次迭代后,通过多次的参数子集合并,使得列编号为i的GPU获得该行各个GPU上的第i+1份(对应列编号i+1)的合并参数子集(其中,作为例外,当本节点GPU的列编号为n(即i=n)时,其获得该行各个GPU上的第1份的合并参数子集);
2)在垂直方向上分别对各列的GPU的行GPU合并参数子集执行all-reduce操作:在矩阵的垂直方向上,对任一列编号i的GPU,对同属一列的其上的对应份的行GPU合并参数子集执行all-reduce操作,使其分别获得整个矩阵各个GPU上对应份的参数子集的数据,即获得对应份的矩阵GPU合并参数子集;
3)在水平方向上执行all-gather操作:在水平方向上,使各行的各个GPU沿着同一顺序将其上的对应份的矩阵GPU合并参数子集依次传递和复制给相邻节点GPU;经过n-1次迭代和标准化运算后,矩阵中的所有GPU的参数集达到完全一致的状态,即实现了各个设备的首节点GPU间的参数更新;
第3步则是设备内首节点GPU向其他GPU的反向广播,其中包括:
在上述的各个设备首节点GPU间的参数更新完成后,
对于任一设备,首节点GPU同时分别向设备内的其他各个GPU广播,复制同步其参数集到其他各个GPU,覆盖其对应的原有参数集,实现集群全部GPU节点的参数更新。
在分布式训练过程中,跨设备的训练进程间都会将会产生大量网络通信,并且随着分布式训练集群规模越来越大,其中产生的网络通信成倍增加,逐渐成为制约深度学习分布式训练效率的主要因素。这主要是因为分布式训练过程中网络通信往往是基于TCP/IP协议实现的,而基于TCP/IP协议的传统网络通信,需要系统内核和网络协议栈接入,其中涉及大量不必要的数据拷贝,特别是随着样本数据集的爆炸性增长、样本数据集Batch Size的几何倍数增大,不仅是其本身通信效率低下,而且还将大量占用CPU资源。远程直接内存访问技术,即RDMA技术,则可以省去数据传输过程中不必要的数据拷贝;同时,由于其将数据读取等业务逻辑卸载到网卡中,故数据传输过程中也不再需要CPU参与。因此,较之传统网络通信,RDMA网络大大提升网络通信速度。因此,进一步地,在上述的优选实施例中的一些提供的一种基于神经网络的参数更新方法中,其中的不同设备的首节点GPU间的参数更新,采用RDMA网络通信。
在一些配置多(GPU)卡的设备中,为了提高设备内分布式处理效率,其中的GPU若干个为一组分属于机器设备中不同的节点(例如NUMA节点);而一个NUMA节点,通常包括一个属于自己的CPU,以及内存条等。因此,进一步地,在上述的优选实施例中的一些提供的一种基于神经网络的参数更新方法中,其中确定首节点GPU时,应当根据机器设备内的物理拓扑,选择与机器设备上用于跨设备通信的网络设备最近的、跳数最少的GPU作为该机器设备的首节点GPU。例如,优先选择能够直接对上述网络设备直接进行存取操作的GPU。
进一步地,在上述的优选实施例中的一些提供的一种基于神经网络的参数更新方法中,其中的设备内GPU间的参数聚合、不同设备的首节点GPU间在垂直方向上的all-reduce操作,其中的二者中任何一个都可以为是基于环形拓扑的Allreduce,或者是基于树形拓扑的Allreduce实现,例如常规树形拓扑、二项树形拓扑等。
NCCL是一种设备内多GPU通信框架,特别是在各大深度学习框架的多卡并行中经常被使用。NCCL能够充分使用CUDA P2P技术(GPU之间直接进行数据传送,不需要内存介入,免去GPU之间数据传送过程中的拷贝)以及CUDA IPC技术(对不支持P2P功能的GPU,提供了基于数据拷贝的GPU之间数据传输功能,快于其他方案中通常采用的内存中转速度快),能够更好地发挥GPU硬件性能。因此,为了调高设备内GPU间的参数聚合效率,进一步地,在上述的优选实施例中的一些提供的一种基于神经网络的参数更新方法中,其中的设备内GPU间的参数聚合采用NCCL通信框架。
进一步地,在上述的优选实施例中的一些提供的一种基于神经网络的参数更新方法中,其中的参数更新过程中的参数,包括神经网络的损失函数的梯度。
在上述优选实施例提供的基于神经网络的参数更新方法的基础上,本发明的另一些优选实施例提供一种分布式训练平台系统。该平台系统包括:
多个计算模块(worker);其数量根据部署任务和集群规模决定,通常数量非常大,有些集群规模可达数千之多;其中,这些计算模块,分别对应上述任一实施例述及方法中的GPU,用于执行深度神经网络模型训练相关的计算以及参与分阶段参数聚合等;
在其执行分布式训练过程中,执行上述任一实施例述及的参数更新方法,以实现上述的各计算模块间的参数更新(也即参数聚合)。
在上述优选实施例提供的基于神经网络的参数更新方法的基础上,本发明的再一些优选实施例提供一种用于深度神经网络模型分布式训练的装置。该装置包括:
不少于两台的计算设备,以及连接它们的通信线缆、网络设备(例如路由器)等;
其中的机器设备数量根据部署任务和集群规模决定,通常数量也非常大;其中,
每台的计算设备,包括处理器;而其中的处理器又包括上述任一实施例述及的方法中的GPU;其中的处理器,用于执行相关程序代码,实现上述任一实施例述及的参数更新方法中的操作。
在上述优选实施例提供的基于神经网络的参数更新方法的基础上,本发明的又一些优选实施例提供一种计算机可读存储介质,其上存储有用于神经网络参数更新的软件产品的程序代码;上述的程序代码,用于执行实现上述任一实施例述及的参数更新方法操作的指令。
以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此。

Claims (10)

1.一种基于神经网络的参数更新方法,其特征在于,
确定设备内、设备间GPU分阶段聚合;其中包括,
设备内GPU间的参数聚合:
对于任一设备,确定其中的一个GPU为首节点GPU;
使设备内的各个GPU以Allreduce方式进行参数聚合;
和之后的各个设备首节点GPU间的基于矩阵拓扑的Allreduce参数聚合:
构建一个矩阵拓扑,将其包括所述的各个首节点GPU;
1)在水平方向上执行reduce-scatter操作,使各行的各个GPU分别获得对应的行GPU合并参数子集;
2)在垂直方向上分别对各列的行GPU合并参数子集执行all-reduce操作,使各列的各个GPU分别获得对应的矩阵GPU合并参数子集;
3)在水平方向上执行all-gather操作,同步上述的矩阵GPU合并参数子集,以及标准化运算,使矩阵中的所有GPU的参数集达到完全一致的状态;
以及之后的使设备内首节点GPU将其更新后的参数集向其他GPU的反向广播,最终实现各个设备各个GPU间的参数更新。
2.根据权利要求1所述的基于神经网络的参数更新方法,其特征在于,
其中的不同设备的首节点GPU间的参数更新,采用RDMA网络通信。
3.根据权利要求1-2任一所述的基于神经网络的参数更新方法,其特征在于,
其中确定首节点GPU时,选择与用于跨设备通信的网络设备最近的、跳数最少的GPU作为该机器设备的首节点GPU。
4.根据权利要求3所述的基于神经网络的参数更新方法,其特征在于,
选择能够直接对所述网络设备直接进行存取操作的GPU,作为所述的首节点GPU。
5.根据权利要求1所述的基于神经网络的参数更新方法,其特征在于,
其中的设备内GPU间的参数聚合,
和/或不同设备的首节点GPU间在垂直方向上的all-reduce操作,
是基于环形拓扑的Allreduce,或者是基于树形拓扑的Allreduce实现的。
6.根据权利要求1所述的基于神经网络的参数更新方法,其特征在于,
其中的设备内GPU间的参数聚合采用NCCL通信框架。
7.根据权利要求1所述的基于神经网络的参数更新方法,其特征在于,
其中的参数,包括神经网络的损失函数的梯度。
8.一种分布式训练平台系统,其特征在于,包括:
多个计算模块;
所述的计算模块,分别对应权利要求1-7任一所述的基于神经网络的参数更新方法中的的GPU,包括用于执行模型训练相关的计算;
在其执行分布式训练过程中,执行权利要求1-7任一所述的基于神经网络的参数更新方法实现所述计算模块间的参数更新。
9.一种用于深度神经网络模型分布式训练的装置,其特征在于,包括:
不少于两台的计算设备;其中,
所述的各台计算设备,包括处理器;其中的处理器包括权利要求1-7任一所述的基于神经网络的参数更新方法中的GPU;
所述的处理器,用于执行程序代码,实现权利要求1-7任一所述的基于神经网络的参数更新方法中的操作。
10.一种计算机可读存储介质,其特征在于,包括:
存储有用于神经网络参数更新的程序代码;
所述的程序代码,包括用于执行实现权利要求1-7任一所述的基于神经网络的参数更新方法中操作的指令。
CN202010110959.6A 2020-02-21 2020-02-21 一种基于神经网络的参数更新方法、分布式训练平台系统 Pending CN113298222A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010110959.6A CN113298222A (zh) 2020-02-21 2020-02-21 一种基于神经网络的参数更新方法、分布式训练平台系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010110959.6A CN113298222A (zh) 2020-02-21 2020-02-21 一种基于神经网络的参数更新方法、分布式训练平台系统

Publications (1)

Publication Number Publication Date
CN113298222A true CN113298222A (zh) 2021-08-24

Family

ID=77317783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010110959.6A Pending CN113298222A (zh) 2020-02-21 2020-02-21 一种基于神经网络的参数更新方法、分布式训练平台系统

Country Status (1)

Country Link
CN (1) CN113298222A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210295168A1 (en) * 2020-03-23 2021-09-23 Amazon Technologies, Inc. Gradient compression for distributed training
CN113709240A (zh) * 2021-08-26 2021-11-26 上海燧原科技有限公司 初始化参数的集群同步方法、装置、设备、介质及系统
CN113849293A (zh) * 2021-11-30 2021-12-28 湖北芯擎科技有限公司 数据处理方法、装置、系统及计算机可读存储介质
CN116361037A (zh) * 2023-05-18 2023-06-30 之江实验室 一种分布式通信系统及方法
CN116962438A (zh) * 2023-09-21 2023-10-27 浪潮电子信息产业股份有限公司 一种梯度数据同步方法、系统、电子设备及可读存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210295168A1 (en) * 2020-03-23 2021-09-23 Amazon Technologies, Inc. Gradient compression for distributed training
CN113709240A (zh) * 2021-08-26 2021-11-26 上海燧原科技有限公司 初始化参数的集群同步方法、装置、设备、介质及系统
CN113849293A (zh) * 2021-11-30 2021-12-28 湖北芯擎科技有限公司 数据处理方法、装置、系统及计算机可读存储介质
CN116361037A (zh) * 2023-05-18 2023-06-30 之江实验室 一种分布式通信系统及方法
CN116361037B (zh) * 2023-05-18 2023-08-18 之江实验室 一种分布式通信系统及方法
CN116962438A (zh) * 2023-09-21 2023-10-27 浪潮电子信息产业股份有限公司 一种梯度数据同步方法、系统、电子设备及可读存储介质
CN116962438B (zh) * 2023-09-21 2024-01-23 浪潮电子信息产业股份有限公司 一种梯度数据同步方法、系统、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN113298222A (zh) 一种基于神经网络的参数更新方法、分布式训练平台系统
US10482380B2 (en) Conditional parallel processing in fully-connected neural networks
EP3540652B1 (en) Method, device, chip and system for training neural network model
CN110533183B (zh) 流水线分布式深度学习中异构网络感知的任务放置方法
Zhang et al. Asynchronous distributed ADMM for consensus optimization
CN110134636A (zh) 模型训练方法、服务器和计算机可读存储介质
Dokeroglu et al. A novel multistart hyper-heuristic algorithm on the grid for the quadratic assignment problem
CN111597055B (zh) 分布式数据处理系统、分布式计算任务部署系统及方法
Lee et al. Parallel deep convolutional neural network training by exploiting the overlapping of computation and communication
Alqahtani et al. Performance analysis and comparison of distributed machine learning systems
US20210200610A1 (en) System for efficient large-scale data distribution in distributed and parallel processing environment
CN115168281B (zh) 一种基于禁忌搜索算法的神经网络片上映射方法和装置
CN113297127A (zh) 一种大规模分布式训练集群的参数更新方法、平台系统
Cao et al. HADFL: Heterogeneity-aware decentralized federated learning framework
Bhuiyan et al. Fast parallel algorithms for edge-switching to achieve a target visit rate in heterogeneous graphs
Yu et al. A memory efficient maximal clique enumeration method for sparse graphs with a parallel implementation
Zeng et al. Effectively unified optimization for large-scale graph community detection
Raman et al. DS-MLR: exploiting double separability for scaling up distributed multinomial logistic regression
Ye et al. PSO-PS: Parameter synchronization with particle swarm optimization for distributed training of deep neural networks
Gu et al. Parallelizing machine learning optimization algorithms on distributed data-parallel platforms with parameter server
Said et al. Parallel enhanced hybrid evolutionary algorithm for continuous function optimization
US11886934B2 (en) Control of data transfer between processing nodes
Bautembach et al. Multi-gpu snn simulation with static load balancing
WO2022186808A1 (en) Method for solving virtual network embedding problem in 5g and beyond networks with deep information maximization using multiple physical network structure
Laili et al. Parallel transfer evolution algorithm

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