CN116258197B - 基于参数计算和通信调度的分布式训练加速方法和系统 - Google Patents

基于参数计算和通信调度的分布式训练加速方法和系统 Download PDF

Info

Publication number
CN116258197B
CN116258197B CN202310545694.6A CN202310545694A CN116258197B CN 116258197 B CN116258197 B CN 116258197B CN 202310545694 A CN202310545694 A CN 202310545694A CN 116258197 B CN116258197 B CN 116258197B
Authority
CN
China
Prior art keywords
gradient
layer
calculation
propagation
model
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
Application number
CN202310545694.6A
Other languages
English (en)
Other versions
CN116258197A (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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202310545694.6A priority Critical patent/CN116258197B/zh
Publication of CN116258197A publication Critical patent/CN116258197A/zh
Application granted granted Critical
Publication of CN116258197B publication Critical patent/CN116258197B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06N20/00Machine learning
    • 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

基于参数计算和通信调度的分布式训练加速方法和系统
技术领域
本发明属于分布式深度学习领域,更具体地,涉及基于参数计算和通信调度的分布式训练加速方法和系统。
背景技术
随着深度学习模型规模和数据规模的不断增加,单卡计算已经无法满足训练需求,主要表现在:(1)当模型参数量很大时,单卡内存不足以存下整个模型;(2)使用单卡训练时间周期长,难以进行快速迭代。为此,分布式训练相关技术和平台应运而生。数据并行是常见的分布式训练方法之一,其特点是:(1)每个计算节点拥有完整的模型副本;(2)在训练过程中,不同计算节点之间需要频繁地进行通信,以实时同步模型参数,并保证多副本参数的一致性。在运行过程中,随着计算节点的增加,通信开销会迅速增长;节点间的同步会导致大量计算资源处于等待状态,最终影响整个模型训练的性能。增加计算与通信耗时之间的覆盖度可以减少因通信同步导致的计算资源的闲置,从而减少每轮迭代的耗时,是常见的优化方法。
具体地,在单卡训练场景下,深度学习主要由前向传播和反向传播两个过程组成:在前向传播阶段,从模型的输入层开始,根据模型当前参数,逐层往后推进计算直至得到损失函数值;在反向传播阶段,从模型最后一层开始,从后往前反向计算各层参数的梯度,并根据优化算法更新参数。相比单卡训练场景,在分布式训练场景下,各节点完成参数更新后,还需要在不同计算节点之间进行参数同步。串行同步方式和计算没有任何重叠,因此耗时较高。现有优化通常基于无需等待的反向传播(Wait Free Back Propagation,WFBP)展开。 WFBP的基本思路是:在反向传播阶段,由于相邻两层的梯度计算和同步不存在依赖,因此每计算完一层参数的梯度后,可以开始该层梯度的同步,同时进行下一层参数的梯度计算,使得计算和通信可以并行执行。更进一步,由于模型中不同层的参数大小存在差异,对于参数量较大的层可以通过切分分批传输,对于参数量较小的层可以与其他层融合传输,以此加快通信时间。此外,在前向传播过程中,通过优先级调整各层的梯度传输顺序,可以减少前向传播阶段的计算等待时间,避免计算资源的闲置。
上述优化方法主要基于无需等待的反向传播展开,通过层优先级、梯度拆分或融合的方式增加计算和通信耗时的覆盖度,达到加速的效果。但是存在以下一些缺点:(1)在梯度拆分或融合策略中,依据启发式算法或经验设定梯度拆分或融合阈值,存在复杂度较高且不灵活问题;(2)未面向反向传播阶段的计算过程进行优化。
发明内容
本发明要克服现有技术的上述缺点,提供基于参数计算和通信调度的分布式训练加速方法。
本发明可以解决现有技术中存在的依据经验设定梯度拆分或融合阈值,且复杂度较高、不灵活问题,同时针对反向传播阶段的计算过程进行优化。
为实现上述目的,本发明采取的技术方案为:
基于参数计算和通信调度的分布式训练加速方法,包括以下一些步骤:
S1:模型预热,初始化用于梯度拆分或融合的判断阈值以及反向传播梯度计算顺序,然后对阈值和计算顺序进行枚举,根据实时反馈的训练情况,找到训练耗时最优的阈值和梯度计算顺序。
S2:各个计算节点同步获取最新版本的模型参数,逐层进行前向传播并得到损失函数值。
S3:根据前向传播的结果,从后往前逐层进行反向传播计算,并根据步骤S1中得到的反向传播计算调度策略,对梯度计算顺序进行调整。
S4:反向传播过程中各层梯度计算完成后,根据步骤S1中的阈值,对梯度采取拆分或融合后进行同步。
S5:完成反向传播计算及同步过程,再次进入步骤S2,进入新一轮迭代,直至模型收敛。
下面对上述步骤做更详细的说明。
步骤S1具体为:模型预热过程通过对梯度拆分或融合的阈值以及反向传播梯度计算顺序的枚举并结合实时训练情况的监控来找到最佳的阈值和计算顺序,该过程包含两个步骤,具体如下:
S11:通过枚举产生最优的梯度拆分或融合阈值
S12:通过枚举产生最优的反向传播阶段梯度计算调整层序号K。
所述步骤S11的具体过程如下:
S111:初始化阈值,每次枚举将阈值增加该值的10%,即经过n轮枚举后,阈值大小为/>,当n=100时,停止枚举。
S112:梯度同步过程中,将阈值同梯度数据进行对比,如果梯度数据大于该值,则将梯度拆分为若干个大小的块后进行传输;如果梯度数据小于该值,则将当前层梯度与后续层梯度合并后进行传输。
S113:记录每轮迭代的耗时,选择耗时最低的枚举值作为梯度拆分或融合的判断阈值。
所述步骤S12的具体过程如下:
S121:根据损失函数从最后一层开始从后往前逐层计算每一层的误差项,其中L表示模型层序号,误差项/>用于计算当前层的梯度/>和上一层的误差项/>
S122:调整梯度计算顺序,原有梯度计算顺序为,通过枚举梯度计算调整层序号K,新的梯度计算顺序调整为/>,即先计算第/>层的梯度,再计算第/>层的梯度,其中L表示模型的层数。
S123:记录每次新梯度计算顺序的单轮迭代耗时,最后从所有梯度计算顺序中选择耗时最优的方案,确定最优的反向传播阶段梯度计算调整层序号。
步骤S2具体为:各个计算节点同步获取最新版本的模型参数,通过在模型每层设置的局部同步标志位来控制最新的参数是否获取,如果局部同步标志位为0,表示参数同步过程仍在进行中,需要等待同步过程完成;反之,如果局部同步标志位为1,则可以开始执行该层的前向传播计算。每层的前向传播计算完成后,将局部同步标志位重新置为0,用于阻塞下轮迭代的启动。如此逐层向后推进,直到计算得到本轮迭代的损失函数值。
步骤S3具体为:根据前向传播结果,从后往前逐层进行反向传播计算,梯度计算顺序按照步骤S12中得到的顺序执行,假如步骤S12中最优梯度计算调整层序号为,那么梯度计算顺序为/>
步骤S4具体为:执行梯度同步过程,反向传播各层梯度计算完成后,根据梯度数据大小与步骤S11中得到的阈值比较,决定采取梯度拆分或融合的方式进行传输。具体的同步过程如下:
S41:如果梯度数据大于阈值,则将梯度拆分为若干个大小的块,每个块赋予该层梯度的优先级,并存入用于传输的优先级队列;
S42:如果梯度数据小于阈值,则将该层梯度同后续层梯度猴合并,为合并的梯度赋予后续层梯度的优先级,并存入用于传输的优先级队列;
S43:从优先级队列中根据梯度优先级依次取出梯度数据用于传输;每一层梯度同步完成后,将局部同步标志位置为1。
步骤S5具体为:完成反向传播计算和梯度同步过程后,进入下一轮迭代,从步骤S2开始循环执行上述过程,直到模型收敛。
本发明还涉及一种基于参数计算和通信调度的分布式训练加速系统,包括:
模型预热模块,用于初始化梯度拆分或融合的判断阈值以及反向传播梯度计算顺序,然后对阈值和计算顺序进行枚举,根据实时反馈的训练情况,找到训练耗时最优的阈值和梯度计算顺序。
模型前向传播计算模块,用于各个计算节点同步获取最新版本的模型参数,逐层进行前向传播并得到损失函数值。
反向传播和梯度计算顺序调整模块,用于根据前向传播的结果,从后往前逐层进行反向传播计算,并根据模型预热模块得到的反向传播计算调度策略,对梯度计算顺序进行调整。
梯度同步模块,用于反向传播过程中各层梯度计算完成后,根据模型预热模块的阈值,对梯度采取拆分或融合后进行同步。
迭代模块,用于完成反向传播计算及同步过程,再次进入模型参数前向传播计算模块,进入新一轮迭代,直至模型收敛。
本发明还涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的基于参数计算和通信调度的分布式训练加速方法。
本发明还涉及一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本发明的基于参数计算和通信调度的分布式训练加速方法。
本发明具有以下有益效果:优化了反向传播计算过程,进一步提前了高优先级层的梯度传输开始时间,以及前向传播时间,从而加大了通信和计算的覆盖度;通过实时监控训练情况的方式得到反向传播计算调整顺序,动态得到梯度拆分或融合的判断阈值,相比现有技术采用的复杂启发式算法更加简单高效。
附图说明
图1为基于本发明方法的分布式深度学习训练全流程图,含模型预热、前向传播、反向传播、梯度同步过程;
图2为本发明的预热阶段反向传播梯度计算顺序调整过程的流程图;
图3为本发明的预热阶段梯度拆分或融合的阈值动态选择过程的流程图;
图4为ResNet50反向传播梯度计算顺序优化和基于优先级的梯度拆分或融合传输示意图。
图5是本发明的系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。
实施例1
如图1所示,本发明公开了基于参数计算和通信调度的分布式训练加速方法。方法涉及两块核心工作,一是梯度拆分或融合阈值的生成,二是反向传播计算阶段的梯度计算顺序的调整。前者通过枚举产生动态的阈值,使得模型训练可以更好的适应网络环境;后者通过调整梯度产生的顺序,使得模型靠前层的梯度可以更早的被同步,进而更早的开始该层下轮前向传播的开始时间。通过两者的有机结合,进一步增加了计算和通信的覆盖度,提升训练性能。包括以下步骤:
步骤S1:模型预热,初始化用于梯度拆分或融合的判断阈值以及反向传播梯度计算顺序,然后对阈值和计算顺序进行枚举,根据实时反馈的训练情况,找到训练耗时最优的阈值和梯度计算顺序。
所述步骤S1中, 梯度拆分或融合的阈值确定过程如图2所示,梯度拆分或融合根据梯度数据的大小与网络性能相关的特定阈值比较得到,如果梯度的大小超过设定阈值,那么将梯度进行切分,剩余部分进行暂存,并根据梯度优先级(越靠前的层优先级越高)进行传输;如果梯度大小小于设定阈值,暂缓该层的传输,待下一层梯度更新后,合并进行传输。初始化阈值,此后每次增加该值的10%,经过n轮尝试后,阈值变为/>,当n=100时,停止枚举,每轮迭代过程中记录该轮迭代的耗时,选择耗时最小的阈值作为最终的方案。
所述步骤S1中,反向传播梯度计算顺序调整过程如图3所示,根据损失函数从最后一层开始从后往前逐层计算每一层的误差项,其中L表示模型层序号,误差项/>用于计算当前层的梯度/>和上一层的误差项/>。调整梯度计算顺序,原有梯度计算顺序为,通过枚举梯度计算调整层序号K,新的梯度计算顺序调整为/>,即先计算第/>层的梯度,再计算第/>层的梯度,其中L表示模型的层数。记录每次新梯度计算顺序下单轮迭代的耗时,最后从所有梯度计算顺序中选择耗时最优的方案,确定最优的反向传播阶段梯度计算调整层序号。
步骤S2:各个计算节点同步获取最新版本的模型参数,逐层进行前向传播并得到损失函数值。
所述步骤S2中,开始进行下一轮迭代的前向传播时,需要确定各层的参数已完成更新,该确认过程包括了该层梯度传输已完成,且根据梯度完成了参数更新。常见分布式深度学习框架在反向传播完成后,通过全局同步屏障来保证所有层参数完成更新。全局同步屏障的存在将导致前向传播不能马上展开,影响加速效果。本方法通过失效全局同步屏障,并设置局部同步标志位来确定每层前向传播前置依赖是否完成,具体来说当每层的局部同步标志位置为1时,该层下轮的前向传播可以执行,执行完成后,将标志位重置为0;否则,该层前向传播被阻塞。根据局部同步标志位,依次完成各层的前向传播,最后得到损失函数值。
步骤S3:根据前向传播的结果,从后往前逐层进行反向传播计算,并根据S1中得到的反向传播计算调度策略,对梯度计算顺序进行调整。
所述步骤S3中,通过步骤S1预热过程得到的反向传播计算顺序展开梯度计算,具体来说,假如步骤S12中最优梯度计算调整层序号为,那么梯度计算顺序为
步骤S4:反向传播过程中各层梯度计算完成后,根据S1中的阈值,对梯度采取拆分或融合后进行同步。
所述步骤S4中,通过反向传播计算顺序调整得到新的梯度生产顺序,在各层梯度计算完成后,采用步骤S11中得到的梯度拆分或融合阈值,根据梯度数据量大小与该阈值对比,决定进行拆分或融合传输,即当梯度大于阈值时,切分梯度,并根据梯度优先级进行抢占式传输;若梯度小于阈值,则延迟当前梯度传输,与后续层的梯度合并后再进行传输。当前层梯度传输完成后,可以立即更新参数,并设置局部同步标志位为1,以告知下轮迭代该层前向传播前置依赖准备就绪。
步骤S5:完成反向传播计算及同步过程,再次进入S2,进入新一轮迭代,直至模型收敛。
所述步骤S5中,由于全局同步屏障的存在,需要将该同步屏障失效,使得各层的反向传播结束后可以快速开始前向传播,通过局部同步标志位来控制前向传播是否开始。所有层反向传播计算完成意味着当前轮迭代的结束,下轮迭代开始,再次进入步骤S2,直到最终模型收敛。
从框架层面,不涉及具体模型,将本发明加以应用。以目前最常用的AI框架之一PyTorch举例,介绍本发明的工作流程。
步骤S1模型预热阶段,所述步骤S11中,初始化梯度拆分或融合阈值,此后每次枚举增大该值的10%;当梯度尺寸大于阈值时,将梯度拆分并存入优先级队列;当梯度尺寸小于阈值时,等待后续层梯度计算完成后,合并梯度并将该梯度的优先级设置为当前层优先级,存入优先级队列。然后基于优先级进行传输。通过计时器得到每种阈值单轮迭代的耗时,并记录耗时最低的方案。经过预热阶段,得到了反向传播计算阶段的梯度计算调整顺序以及梯度拆分或融合的阈值。
步骤S1模型预热阶段,所述步骤S12中,通过PyTorch提供的“钩子”机制,调整反向传播梯度计算顺序,枚举需要调整的层序号K,梯度执行顺序为,记录每种顺序下单轮迭代耗时,选取最优的调整层序号K。
步骤S2执行前向传播,PyTorch中每轮迭代结束存在一个全局同步屏障,通过钩子机制,将该全局同步屏障失效,并在各层设置局部同步标志位来控制前向传播执行,具体来说当某层的局部同步标志位为1时,表示上轮该层反向传播计算、梯度传输、参数更新过程已完成,可以开始当前轮的前向传播。前向传播完成后,重置局部同步标志位为0。
步骤S3所有层的前向传播结束,开始反向传播过程,根据步骤S12中得到最优梯度计算顺序,通过钩子机制,梯度计算顺序,使得与预热阶段得到的最优梯度计算顺序一致。
步骤S4在每一层的梯度计算完成后,基于无需等待的思想开始传输梯度,根据步骤S11中得到的阈值,判断梯度尺寸同阈值的大小,如果大于阈值,将梯度进行拆分;如果梯度小于阈值,则等待后续层梯度计算完成后合并,然后按照梯度优先级依次同步梯度。每层的传输完成后,将局部同步标志位置为1,表明该层下轮前向传播的前置依赖已完成。
步骤S5所有层反向传播结束代表当前轮迭代完成,然后重新开始新一轮模型迭代,直到模型最终趋于收敛。
实施例2
应用本发明的基于参数计算和通信调度的分布式训练加速方法的图像分类方法。不失一般性的,采用ResNet50作为训练模型,训练数据集采用ImageNet;在单机8卡配置上训练,即8个计算节点,梯度同步会在8个节点上进行。
步骤S0:将初始模型以及数据同步分发至8个计算节点。
步骤S11:枚举确定梯度拆分或融合阈值,每次增大初始值的10%,一共枚举100轮,对于尺寸大于阈值的梯度,进行拆分;反之将梯度同后续层的梯度进行合并,然后按照设定的优先级进行传输,同时记录每轮迭代的耗时,选择最优耗时的阈值最为最终的拆分或融合阈值;
步骤S12:枚举确定反向传播梯度计算顺序。ResNet50模型一共有50层,假设枚举的层序号是K,那么计算顺序为,与此同时,通过计时模块记录单轮迭代耗时,选择最优的调整序号。
步骤S2:各个计算节点同步获取最新版本的模型参数,逐层进行前向传播并得到损失函数值。确定梯度计算顺序以及阈值后,开始正常模型迭代:在前向传播过程中,通过局部同步标志位来控制前向传播执行,具体来说当某层的局部同步标志位为1时,表示上轮该层反向传播计算、梯度传输、参数更新过程已完成,可以开始当前轮的前向传播。前向传播完成后,重置局部同步标志位为0。
步骤S3:根据前向传播的结果,从后往前逐层进行反向传播计算,并根据步骤S12中得到的反向传播计算调度策略,对梯度计算顺序进行调整,假设在步骤S12中得到的最优调整层序号是25,如图4所示,误差项的计算顺序保持不变,从最后一层开始逐层往前计算。梯度的最优计算顺序调整为,即先逆序计算模型第50到第26层的梯度,再按顺序计算模型第1层到第25层的梯度。
步骤S4:反向传播过程中各层梯度计算完成后,根据步骤S11中得到的阈值,对梯度进行传输。基于无需等待的反向传播思想开始传输梯度,根据模型预热阶段得到的阈值,判断梯度尺寸同阈值的大小,如果大于阈值,将梯度进行拆分;如果梯度小于阈值,则等待后续层梯度计算完成后合并,然后根据梯度优先级依次同步梯度。每层梯度的传输完成后,将局部同步标志位置为1,表明该层下轮前向传播的前置依赖已完成。
步骤S5:完成反向传播计算及梯度同步过程后,再次进入步骤S2,进入新一轮迭代。
步骤S6:经过多轮迭代训练后,ResNet50模型的损失函数值趋于稳定,模型收敛,训练过程完成。在最优的反向传播梯度计算顺序以及梯度拆分或融合阈值设置下,ResNet50模型的整体训练速度得到一定程度的提升。
实施例3
参照图5,本发明还涉及一种基于参数计算和通信调度的分布式训练加速系统,包括:
模型预热模块,用于初始化梯度拆分或融合的判断阈值以及反向传播梯度计算顺序,然后对阈值和计算顺序进行枚举,根据实时反馈的训练情况,找到训练耗时最优的阈值和梯度计算顺序。
模型前向传播计算模块,用于各个计算节点同步获取最新版本的模型参数,逐层进行前向传播并得到损失函数值。
反向传播和梯度计算顺序调整模块,用于根据前向传播的结果,从后往前逐层进行反向传播计算,并根据模型预热模块得到的反向传播计算调度策略,对梯度计算顺序进行调整。
梯度同步模块,用于反向传播过程中各层梯度计算完成后,根据模型预热模块的阈值,对梯度采取拆分或融合后进行同步。
迭代模块,用于完成反向传播计算及同步过程,再次进入模型参数前向传播计算模块,进入新一轮迭代,直至模型收敛。
本发明实施例还涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的基于参数计算和通信调度的分布式训练加速方法。
本发明实施例还涉及一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本发明的基于参数计算和通信调度的分布式训练加速方法。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (3)

1.应用基于参数计算和通信调度的分布式训练加速方法的图像分类方法,采用ResNet50作为训练模型,训练数据集采用ImageNet;在单机8卡配置上训练,即8个计算节点,梯度同步会在8个节点上进行;
步骤S0:将初始模型以及数据同步分发至8个计算节点;
步骤S1.1:枚举确定梯度拆分或融合阈值,每次增大初始值的10%,一共枚举100轮,对于尺寸大于阈值的梯度,进行拆分;反之将梯度同后续层的梯度进行合并,然后按照设定的优先级进行传输,同时记录每轮迭代的耗时,选择最优耗时的阈值最为最终的拆分或融合阈值;
步骤S1.2:枚举确定反向传播梯度计算顺序;ResNet50模型一共有50层,假设枚举的层序号是K,那么计算顺序为,与此同时,通过计时模块记录单轮迭代耗时,选择最优的调整序号;
步骤S2:各个计算节点同步获取最新版本的模型参数,逐层进行前向传播并得到损失函数值;确定梯度计算顺序以及阈值后,开始正常模型迭代:在前向传播过程中,通过局部同步标志位来控制前向传播执行,具体来说当某层的局部同步标志位为1时,表示上轮该层反向传播计算、梯度传输、参数更新过程已完成,可以开始当前轮的前向传播;前向传播完成后,重置局部同步标志位为0;
步骤S3:根据前向传播的结果,从后往前逐层进行反向传播计算,并根据步骤S12中得到的反向传播计算调度策略,对梯度计算顺序进行调整,假设在步骤S12中得到的最优调整层序号是25,误差项的计算顺序保持不变,从最后一层开始逐层往前计算;梯度的最优计算顺序调整为,即先逆序计算模型第50到第26层的梯度,再按顺序计算模型第1层到第25层的梯度;
步骤S4:反向传播过程中各层梯度计算完成后,根据步骤S11中得到的阈值,对梯度进行传输;基于无需等待的反向传播思想开始传输梯度,根据模型预热阶段得到的阈值,判断梯度尺寸同阈值的大小,如果大于阈值,将梯度进行拆分;如果梯度小于阈值,则等待后续层梯度计算完成后合并,然后根据梯度优先级依次同步梯度;每层梯度的传输完成后,将局部同步标志位置为1,表明该层下轮前向传播的前置依赖已完成;
步骤S5:完成反向传播计算及梯度同步过程后,再次进入步骤S2,进入新一轮迭代;
步骤S6:经过多轮迭代训练后,ResNet50模型的损失函数值趋于稳定,模型收敛,训练过程完成;在最优的反向传播梯度计算顺序以及梯度拆分或融合阈值设置下,ResNet50模型的整体训练速度得到提升。
2.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1所述的图像分类方法。
3.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1所述的图像分类方法。
CN202310545694.6A 2023-05-16 2023-05-16 基于参数计算和通信调度的分布式训练加速方法和系统 Active CN116258197B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310545694.6A CN116258197B (zh) 2023-05-16 2023-05-16 基于参数计算和通信调度的分布式训练加速方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310545694.6A CN116258197B (zh) 2023-05-16 2023-05-16 基于参数计算和通信调度的分布式训练加速方法和系统

Publications (2)

Publication Number Publication Date
CN116258197A CN116258197A (zh) 2023-06-13
CN116258197B true CN116258197B (zh) 2023-09-08

Family

ID=86686533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310545694.6A Active CN116258197B (zh) 2023-05-16 2023-05-16 基于参数计算和通信调度的分布式训练加速方法和系统

Country Status (1)

Country Link
CN (1) CN116258197B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116644803B (zh) * 2023-07-27 2023-11-03 浪潮电子信息产业股份有限公司 分布式协同训练控制方法、系统、装置、设备及存储介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111178446A (zh) * 2019-12-31 2020-05-19 歌尔股份有限公司 一种基于神经网络的目标分类模型的优化方法、装置
CN111210020A (zh) * 2019-11-22 2020-05-29 清华大学 一种加速分布式机器学习的方法及系统
CN111461290A (zh) * 2020-03-11 2020-07-28 北京百度网讯科技有限公司 模型参数更新方法及装置
CN111858072A (zh) * 2020-08-06 2020-10-30 华中科技大学 一种大规模分布式深度学习的资源管理方法及系统
CN112686383A (zh) * 2020-12-30 2021-04-20 中山大学 一种通信并行的分布式随机梯度下降的方法、系统及装置
CN112784968A (zh) * 2021-01-29 2021-05-11 东南大学 一种加速分布式深度神经网络训练的混合流水线并行方法
CN112862088A (zh) * 2021-01-18 2021-05-28 中山大学 一种基于流水线环形参数通信的分布式深度学习方法
CN113824650A (zh) * 2021-08-13 2021-12-21 上海光华智创网络科技有限公司 一种分布式深度学习系统中的参数传输调度算法及系统
CN114240836A (zh) * 2021-11-12 2022-03-25 杭州迪英加科技有限公司 一种鼻息肉病理切片分析方法、系统和可读存储介质
CN114358317A (zh) * 2022-03-22 2022-04-15 合肥本源量子计算科技有限责任公司 基于机器学习框架的数据分类方法及相关设备
CN114970830A (zh) * 2022-06-09 2022-08-30 中国人民解放军国防科技大学 一种面向数据并行分布式深度学习训练加速的灵活通信方法
CN115550173A (zh) * 2022-09-23 2022-12-30 北京天数微芯半导体科技有限公司 一种基于wfbp和链路特性的动态计算通信调度方法
CN115587625A (zh) * 2022-09-22 2023-01-10 浙江大学 一种在特征空间内进行多维时序数据建模的神经网络方法及装置
EP4134876A1 (en) * 2021-08-09 2023-02-15 Commissariat à l'Energie Atomique et aux Energies Alternatives Method and device for hebbian masked machine learning
CN115859117A (zh) * 2022-12-22 2023-03-28 湖南大学 改进深度学习模型分布式数据并行训练效率的方法和系统

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111210020A (zh) * 2019-11-22 2020-05-29 清华大学 一种加速分布式机器学习的方法及系统
CN111178446A (zh) * 2019-12-31 2020-05-19 歌尔股份有限公司 一种基于神经网络的目标分类模型的优化方法、装置
CN111461290A (zh) * 2020-03-11 2020-07-28 北京百度网讯科技有限公司 模型参数更新方法及装置
CN111858072A (zh) * 2020-08-06 2020-10-30 华中科技大学 一种大规模分布式深度学习的资源管理方法及系统
CN112686383A (zh) * 2020-12-30 2021-04-20 中山大学 一种通信并行的分布式随机梯度下降的方法、系统及装置
CN112862088A (zh) * 2021-01-18 2021-05-28 中山大学 一种基于流水线环形参数通信的分布式深度学习方法
CN112784968A (zh) * 2021-01-29 2021-05-11 东南大学 一种加速分布式深度神经网络训练的混合流水线并行方法
EP4134876A1 (en) * 2021-08-09 2023-02-15 Commissariat à l'Energie Atomique et aux Energies Alternatives Method and device for hebbian masked machine learning
CN113824650A (zh) * 2021-08-13 2021-12-21 上海光华智创网络科技有限公司 一种分布式深度学习系统中的参数传输调度算法及系统
CN114240836A (zh) * 2021-11-12 2022-03-25 杭州迪英加科技有限公司 一种鼻息肉病理切片分析方法、系统和可读存储介质
CN114358317A (zh) * 2022-03-22 2022-04-15 合肥本源量子计算科技有限责任公司 基于机器学习框架的数据分类方法及相关设备
CN114970830A (zh) * 2022-06-09 2022-08-30 中国人民解放军国防科技大学 一种面向数据并行分布式深度学习训练加速的灵活通信方法
CN115587625A (zh) * 2022-09-22 2023-01-10 浙江大学 一种在特征空间内进行多维时序数据建模的神经网络方法及装置
CN115550173A (zh) * 2022-09-23 2022-12-30 北京天数微芯半导体科技有限公司 一种基于wfbp和链路特性的动态计算通信调度方法
CN115859117A (zh) * 2022-12-22 2023-03-28 湖南大学 改进深度学习模型分布式数据并行训练效率的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MG-WFBP: Merging Gradients Wisely for Efficient Communication in Distributed Deep Learning;S. Shi et al;《IEEE Transactions on Parallel and Distributed Systems》;1903-1917 *

Also Published As

Publication number Publication date
CN116258197A (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
CN108829441B (zh) 一种分布式深度学习的参数更新优化系统
JP4781089B2 (ja) タスク割り当て方法およびタスク割り当て装置
CN115248728B (zh) 面向智能计算的分布式训练任务调度方法、系统和装置
CN116258197B (zh) 基于参数计算和通信调度的分布式训练加速方法和系统
CN110442579B (zh) 一种状态树数据存储方法、同步方法及设备和存储介质
CN108009642B (zh) 分布式机器学习方法和系统
US10402235B2 (en) Fine-grain synchronization in data-parallel jobs for distributed machine learning
CN111274036A (zh) 一种基于速度预测的深度学习任务的调度方法
CN116166405B (zh) 异构场景下的神经网络任务调度策略确定方法及装置
US20040268335A1 (en) Modulo scheduling of multiple instruction chains
CN112862088A (zh) 一种基于流水线环形参数通信的分布式深度学习方法
CN114968559B (zh) 基于lsf的多主机多gpu分布式布置深度学习模型的方法
CN107220111B (zh) 一种基于任务窃取的任务调度方法及系统
CN112862112A (zh) 联邦学习方法、存储介质、终端、服务器、联邦学习系统
CN111539534B (zh) 一种基于强化学习的通用分布式图处理方法及系统
CN111106960B (zh) 一种虚拟网络的映射方法、映射装置及可读存储介质
CN115994567A (zh) 一种深度神经网络模型并行计算任务异步调度方法
US11356334B2 (en) Communication efficient sparse-reduce in distributed machine learning
CN114970830A (zh) 一种面向数据并行分布式深度学习训练加速的灵活通信方法
CN111597035B (zh) 基于多线程的仿真引擎时间推进方法及系统
CN112463340A (zh) 基于tensorflow的多任务弹性调度方法及系统
Briceño et al. Robust static resource allocation of DAGs in a heterogeneous multicore system
CN116582407A (zh) 一种基于深度强化学习的容器化微服务编排系统及方法
CN115550173A (zh) 一种基于wfbp和链路特性的动态计算通信调度方法
US11455533B2 (en) Information processing apparatus, control method, and non-transitory computer-readable storage medium for storing information processing program

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