CN116962438B - 一种梯度数据同步方法、系统、电子设备及可读存储介质 - Google Patents
一种梯度数据同步方法、系统、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116962438B CN116962438B CN202311220016.9A CN202311220016A CN116962438B CN 116962438 B CN116962438 B CN 116962438B CN 202311220016 A CN202311220016 A CN 202311220016A CN 116962438 B CN116962438 B CN 116962438B
- Authority
- CN
- China
- Prior art keywords
- mapping
- data synchronization
- topological relation
- topological
- communication overhead
- 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
- 238000000034 method Methods 0.000 title claims abstract description 196
- 238000013507 mapping Methods 0.000 claims abstract description 604
- 238000004891 communication Methods 0.000 claims abstract description 474
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 206
- 238000012549 training Methods 0.000 claims abstract description 173
- 230000001360 synchronised effect Effects 0.000 claims abstract description 49
- 230000008569 process Effects 0.000 claims description 91
- 238000004364 calculation method Methods 0.000 claims description 65
- 238000004590 computer program Methods 0.000 claims description 13
- 230000009467 reduction Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000009191 jumping Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种梯度数据同步方法、系统、电子设备及可读存储介质,涉及分布式集群领域,为解决特定逻辑拓扑的方案无法在随机网络中取得好的数据同步性能的问题,该方法包括:获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系;计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销,将通信开销最小的映射拓扑关系确定为最优映射拓扑关系;基于最优映射拓扑关系和当前数据同步算法进行梯度数据同步。本发明能够提高任意一种随机网络中的梯度数据同步通信的效率,提高网络带宽利用率。
Description
技术领域
本发明涉及分布式集群领域,特别涉及一种梯度数据同步方法、系统、电子设备及可读存储介质。
背景技术
随着深度神经网络的模型尺寸越来越大,分布式模型训练应运而生。目前的分布式模型训练方案有数据并行和模型并行两种,其中最常用且应用最广泛的是数据并行方案。数据并行又分为同步数据并行和异步数据并行两种,同步数据并行,即在所有加速设备计算完批数据梯度后,进行梯度数据同步(即统一将多个梯度聚合在一起或求均值),然后利用同步后的梯度数据更新共享模型参数,这种方案可以减少用于计算梯度的权重的陈旧性,使模型最终能够达到较高的收敛精度,因此获得了广泛的应用。
现有的梯度数据同步方案大都是用户针对分布式训练集群,根据经验选择一种逻辑拓扑对已有的数据同步算法进行优化改进,如基于环形(ring)拓扑的梯度数据同步方法、基于树(tree)拓扑的梯度数据同步方法等。但是随着训练规模的扩大,可用的训练环境变得越来越多样化,因此,分布式系统的物理拓扑可能是任意一种随机网络拓扑,而传统的基于特定逻辑拓扑的方案并不能在任意一种给定的随机网络中都取得好的数据同步性能,导致梯度数据同步效率低,无法充分利用网络带宽。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种梯度数据同步方法、系统、电子设备及可读存储介质,提高任意一种随机网络中的梯度数据同步通信的效率,提高网络带宽利用率。
为解决上述技术问题,本发明提供了一种梯度数据同步方法,包括:
获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;
将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系;
计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系;
基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
在一示例性实施例中,获取当前数据同步算法对应的逻辑拓扑关系的过程包括:
获取所述分布式训练集群的集群参数;所述集群参数包括节点数量;
基于所述节点数量和当前数据同步算法生成逻辑拓扑关系。
在一示例性实施例中,当前数据同步算法为基于环形的全局规约算法、基于树的全局规约算法、减半加倍算法中的一个;
基于所述节点数量和当前数据同步算法生成逻辑拓扑关系的过程包括:
若当前数据同步算法为基于环形的全局规约算法,生成包括N个节点的环状逻辑拓扑关系,N为所述节点数量;
和/或,
若当前数据同步算法为基于树的全局规约算法,生成包括N个节点的树状逻辑拓扑关系,N为所述节点数量;
和/或,
若当前数据同步算法为减半加倍算法,生成包括N个节点的随机序列作为逻辑拓扑关系。
在一示例性实施例中,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
对所述物理拓扑关系中的各物理拓扑节点进行编号及排列组合,得到多个节点组合方式;
按各所述节点组合方式,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系。
在一示例性实施例中,计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系的过程包括:
获取第一映射拓扑关系,计算当前数据同步算法基于所述第一映射拓扑关系进行梯度数据同步时的第一通信开销,将所述第一通信开销赋值给当前最小通信开销;所述第一映射拓扑关系为任一个所述映射拓扑关系;
获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销;当前第二映射拓扑关系为未完成通信开销计算的任一个所述映射拓扑关系;
若所述第二通信开销小于当前最小通信开销,将所述第二通信开销赋值给当前最小通信开销;
判断所有所述映射拓扑关系是否均完成通信开销计算;
若否,重复所述获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销的操作;
若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
在一示例性实施例中,所述获取第一映射拓扑关系,计算当前数据同步算法基于所述第一映射拓扑关系进行梯度数据同步时的第一通信开销,将所述第一通信开销赋值给当前最小通信开销的同时,所述梯度数据同步方法还包括:
令计数器的当前计数值加1,所述计数器的初始计数值为0;
将所述第二通信开销赋值给当前最小通信开销的同时,所述梯度数据同步方法还包括:
令计数器的当前计数值加1;
判断所有所述映射拓扑关系是否均完成通信开销计算的过程包括:
判断所述计数器的当前计数值是否大于映射拓扑关系的总数;
若是,判定所有所述映射拓扑关系均完成通信开销计算;
若否,判定存在未完成通信开销计算的映射拓扑关系。
在一示例性实施例中,按各所述节点组合方式,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系之后,所述梯度数据同步方法还包括:
将所有所述映射拓扑关系存储到内存中;
所述获取第一映射拓扑关系的过程包括:
从所述内存中获取第一映射拓扑关系;
所述获取当前第二映射拓扑关系的过程包括:
从所述内存中获取当前第二映射拓扑关系。
在一示例性实施例中,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将所述初始映射拓扑关系作为参考映射拓扑关系;
确定至少两个待交换节点,交换两个所述待交换节点在所述参考映射拓扑关系中的位置,得到目标映射拓扑关系;
若所述目标映射拓扑关系满足更新条件,将所述目标映射拓扑关系作为所述参考映射拓扑关系,重复所述确定至少两个待交换节点,交换两个所述待交换节点在所述参考映射拓扑关系中的位置,得到目标映射拓扑关系的操作。
在一示例性实施例中,所述计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系的过程包括:
计算当前数据同步算法基于所述参考映射拓扑关系进行梯度数据同步时的第一通信开销;
计算当前数据同步算法基于目标映射拓扑关系进行梯度数据同步时的第二通信开销;
将所述第一通信开销和所述第二通信开销中的较小值作为当前最小通信开销;
判断是否完成预设数量的映射拓扑关系的通信开销计算;
若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
在一示例性实施例中,所述更新条件为所述第二通信开销小于所述第一通信开销。
在一示例性实施例中,将所述第一通信开销和所述第二通信开销中的较小值作为当前最小通信开销的同时,所述梯度数据同步方法还包括:
令计数器的当前计数值加1,所述计数器的初始计数值为0;
判断是否完成预设数量的映射拓扑关系的通信开销计算的过程包括:
判断所述计数器的当前计数值是否大于最大比较次数;
若是,判定完成预设数量的映射拓扑关系的通信开销计算;
若否,判定未完成所述预设数量的映射拓扑关系的通信开销计算。
在一示例性实施例中,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将所述初始映射拓扑关系作为参考映射拓扑关系之后,所述梯度数据同步方法还包括:
将所述参考映射拓扑关系存储到内存中;
所述交换两个所述待交换节点在所述参考映射拓扑关系中的位置,得到目标映射拓扑关系之后,所述梯度数据同步方法还包括:
将所述目标映射拓扑关系存储到内存中;
将所述第一通信开销和所述第二通信开销中的较小值作为当前最小通信开销之后,所述梯度数据同步方法还包括:
在所述内存中删除所述第一通信开销和所述第二通信开销中的较大值对应的映射拓扑关系。
在一示例性实施例中,计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销的过程包括:
确定当前数据同步算法进行梯度数据同步时的各个执行阶段;
基于所述映射拓扑关系,确定各个所述执行阶段的通信节点对;所述通信节点对包括由至少一条物理链路连接的两个逻辑拓扑节点;
根据每一所述执行阶段的各个所述通信节点对的通信开销,确定所述执行阶段的通信开销;
将各个所述执行阶段的总通信开销作为当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销。
在一示例性实施例中,根据每一所述执行阶段的各个所述通信节点对的通信开销,确定所述执行阶段的通信开销的过程包括:
确定每一所述执行阶段的各个所述通信节点对的通信开销中的最大通信开销;
将所述最大通信开销作为所述执行阶段的通信开销。
在一示例性实施例中,确定每一所述执行阶段的各个所述通信节点对的通信开销中的最大通信开销之前,所述梯度数据同步方法还包括:
当每一所述执行阶段的各个所述通信节点对中存在目标节点对,计算所述目标节点对通过每条所述物理链路连接时对应的初始通信开销;所述目标节点对包括由多条物理链路连接的两个逻辑拓扑节点;
确定所述目标节点对的所有所述初始通信开销中的最小通信开销;
将所述最小通信开销作为所述目标节点对的通信开销。
在一示例性实施例中,获取分布式训练集群的物理拓扑关系之后,所述梯度数据同步方法还包括:
基于所述分布式训练集群的物理拓扑关系,确定所述分布式训练集群中的各个物理拓扑节点之间的物理链路;
为各个所述物理链路设置权值,得到加权物理拓扑关系;
将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
将所述加权物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系。
在一示例性实施例中,确定所述分布式训练集群中的各个物理拓扑节点之间的物理链路之后,为各个所述物理链路设置权值之前,所述梯度数据同步方法还包括:
获取每一所述物理链路的延时和带宽;
为各个所述物理链路设置权值的过程包括:
基于每一所述物理链路的所述延时和所述带宽为所述物理链路设置权值。
在一示例性实施例中,基于每一所述物理链路的所述延时和所述带宽为所述物理链路设置权值的过程包括:
基于第一关系式为所述物理链路设置权值,所述第一关系式为Q=a+1/B;
其中,Q为所述物理链路的权值,a为所述物理链路的延时,B为所述物理链路的带宽。
在一示例性实施例中,基于所述映射拓扑关系,确定各个所述执行阶段的通信节点对之后,根据每一所述执行阶段的各个所述通信节点对的通信开销,确定所述执行阶段的通信开销之前,所述梯度数据同步方法还包括:
根据连接所述通信节点对的两个节点的物理链路的所述权值确定所述通信节点对的通信开销。
在一示例性实施例中,所述获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系的过程包括:
当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令;
若是,获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;
所述梯度数据同步方法还包括:
若当前梯度数据同步指令非所述分布式训练集群的所述分布式训练的过程中第一次发起的梯度数据同步指令,获取所述最优映射拓扑关系,基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
在一示例性实施例中,基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步之后,所述梯度数据同步方法还包括:
判断所述分布式训练是否结束;
若否,执行所述当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令的操作;
若是,获取所述分布式训练集群对应的分布式训练结果。
为解决上述技术问题,本发明还提供了一种梯度数据同步系统,包括:
第一获取模块,用于获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;
映射模块,用于将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系;
计算模块,用于计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系;
数据同步模块,用于基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
为解决上述技术问题,本发明还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任意一项所述的梯度数据同步方法的步骤。
为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述的梯度数据同步方法的步骤。
本发明提供了一种梯度数据同步方法,在进行分布式训练时,首先获取分布式训练集群的物理拓扑关系,生成与当前数据同步算法相对应的逻辑拓扑关系,对物理拓扑关系中的各物理拓扑节点和逻辑拓扑关系中的各逻辑拓扑节点进行映射,得到多个映射拓扑关系,然后基于通信开销最小的映射拓扑关系进行梯度数据同步,将现有的数据同步算法更好的映射到随机物理拓扑中,提高任意一种随机网络中的梯度数据同步通信的效率,提高网络带宽利用率。本发明还提供了一种梯度数据同步系统、电子设备及计算机可读存储介质,具有和上述梯度数据同步方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种已有的同步数据并行处理方法的流程图;
图2为本发明所提供的一种梯度数据同步方法的步骤流程图;
图3为一种分布式训练集群的架构图;
图4为另一种分布式训练集群的架构图;
图5为本发明所提供的一种逻辑拓扑关系的示意图;
图6为本发明所提供的另一种逻辑拓扑关系的示意图;
图7为本发明所提供的一种最优映射拓扑关系的确定方法的步骤流程图;
图8为本发明所提供的另一种最优映射拓扑关系的确定方法的步骤流程图;
图9为本发明所提供的一种分布式训练集群的并行分布式训练方法的步骤流程图;
图10为本发明所提供的一种梯度数据同步系统的结构示意图。
具体实施方式
本发明的核心是提供一种梯度数据同步方法、系统、电子设备及可读存储介质,提高任意一种随机网络中的梯度数据同步通信的效率,提高网络带宽利用率。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一方面,本发明提供了一种梯度数据同步方法,为便于理解本发明的方案,对本发明所提供的一种梯度数据同步方法所适用的同步数据并行分布式处理方案进行说明,请参照图1,图1为一种已有的同步数据并行处理方案的流程图,每次迭代训练开始后,首先获取当前迭代过程中所需的训练数据,假设分布式训练集群中有N个节点,则训练数据平均分为N份,每个加速器节点上获取一份训练数据,并基于该训练数据进行前向计算并获取预测值,再进行反向计算获取梯度数据,等各个加速器节点都获取到梯度数据后进行加速器节点间的梯度数据同步,得到同步后的平均梯度,用平均梯度更新模型参数,至此完成一次迭代训练,然后判断整个训练过程是否满足结束条件,若否,则启动下一次迭代训练过程,若是,则直接结束训练。本发明所提供的一种梯度数据同步方法应用于上述分布式训练过程的加速器节点间的梯度数据同步过程,解决如何将现有的一些常用高效的数据同步算法更好的映射到随机物理拓扑中,提高梯度数据同步效率的问题。
请参照图2,图2为本发明所提供的一种梯度数据同步方法的步骤流程图,该梯度数据同步方法包括:
S101:获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;
请参照图3和图4,图3和图4均示出了一种分布式训练集群的架构图,分布式训练集群中包括多个加速器节点,图3和图4中各示出了8个加速器节点,包括加速器0至加速器7,当然,加速器节点的个数根据分布式训练集群的规模确定即可,图3和图4中所示的加速器节点的个数仅做示意,梯度数据在各个加速器节点之间进行同步,其中,加速器节点包括但不限于GPU节点、MLU加速卡、T20加速卡以及FPGA等。获取分布式训练集群的物理拓扑关系,物理拓扑关系用于表征分布式训练集群中各个物理拓扑节点及各个物理拓扑节点之间的连接关系,图3、图4中所示的加速器节点即物理拓扑节点,各个物理拓扑节点之间的连接关系即各个加速器节点之间的连接关系。本实施例中的当前数据同步算法可以选择分布式训练中基础数据同步算法,如基于环形的全局规约算法(基于Ring的allreduce算法)、基于树的全局规约算法(基于tree的allreduce算法)、减半加倍算法中的一个,当前数据同步算法可以基于用户输入的选择指令确定。
可以理解的,基于不同的数据同步算法生成的逻辑拓扑关系不同,示例性地,若当前数据同步算法为基于环形的全局规约算法,则生成的的逻辑拓扑关系为环状,若当前数据同步算法为基于树的全局规约算法,则生成的的逻辑拓扑关系为树状,在一示例性实施例中,获取当前数据同步算法对应的逻辑拓扑关系的过程包括:获取分布式训练集群的集群参数,集群参数包括节点数量,基于节点数量和当前数据同步算法生成逻辑拓扑关系,若集群规模包括N个节点,当用户指定的是基于Ring的allreduce算法时,则生成一个有N个节点的环形拓扑,当用户指定的是基于树的allreduce算法时,生成一个包含N个节点的树拓扑,当用户指定的是减半加倍算法时,生成一个随机序列作为初始逻辑拓扑,示例性地,假设N=4,分别为A、B、C、D,当用户指定的是基于Ring的allreduce算法时,则生成的逻辑拓扑关系的示意图参照图5所示,当用户指定的是基于tree的allreduce算法时,则生成的逻辑拓扑关系的示意图参照图6所示。
S102:将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系;
可以理解,物理拓扑关系中的物理拓扑节点的数量和逻辑拓扑关系中的逻辑拓扑节点的数量是相同的,每一个物理拓扑节点可以和任意一个逻辑拓扑节点进行一一对应的映射,示例性地,假设物理拓扑节点包括P1和P2,逻辑拓扑节点包括L1和L2,P1可以与L1进行映射,P1也可以与L2进行映射,如果P1可以与L1进行映射,那么P2和L2进行映射,如果P1和L2进行映射,那么P2和L1进行映射,保证各个物理拓扑节点和各个逻辑拓扑节点为一一对应的映射关系即可,由于映射方案不同,因此,可以得到多个映射拓扑关系。
S103:计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销,将通信开销最小的映射拓扑关系确定为最优映射拓扑关系;
可以理解,由于映射拓扑关系有多个,在不同映射拓扑关系中,分布式训练集群中的各个节点连接关系不同,如在第i个映射拓扑关系Ti中,分布式训练集群中的节点A和节点B连接,在第i+1个映射拓扑关系Ti+1中,分布式训练集群中的节点A和节点C连接。由于各个节点的连接关系不同,因此当前数据同步算法基于不同的映射拓扑关系进行梯度数据同步时所需要的通信开销不同,本实施例中的通信开销指梯度数据同步通信时花费的时间。本实施例中,分别计算当前数据同步算法基于各个映射拓扑关系Ti进行梯度数据同步时的通信开销Ci,将通信开销Ci中的最小值对应的映射拓扑关系,确定为最优映射拓扑关系。
S104:基于最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
在进行分布式训练时,基于上述步骤获取的最优映射拓扑关系和当前数据同步算法进行梯度数据同步,通信开销小,从而提高梯度数据同步效率,加快分布式模型训练过程。可以理解,在进行分布式训练中需要多次梯度数据同步,仅在第一次梯度数据同步时按上述方案获取最优映射拓扑关系,后续梯度数据同步时直接使用最优映射拓扑关系即可,无需再次计算。
可见,本实施例中,在进行分布式训练时,首先获取分布式训练集群的物理拓扑关系,生成与当前数据同步算法相对应的逻辑拓扑关系,对物理拓扑关系中的各物理拓扑节点和逻辑拓扑关系中的各逻辑拓扑节点进行映射,得到多个映射拓扑关系,然后基于通信开销最小的映射拓扑关系进行梯度数据同步,将现有的数据同步算法更好的映射到随机物理拓扑中,提高任意一种随机网络中的梯度数据同步通信的效率,提高网络带宽利用率。
在上述实施例的基础上:
在一示例性实施例中,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
对物理拓扑关系中的各物理拓扑节点进行编号及排列组合,得到多个节点组合方式;
按各节点组合方式,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系。
本实施例中,根据当前数据同步算法和集群规模生成逻辑拓扑关系L,假设分布式训练集群中包括N个物理拓扑节点,对N个物理拓扑节点从1到N进行编号,并进行排列组合,得到N!个不同的节点组合方式,按照各节点组合方式将物理拓扑节点和逻辑拓扑节点一一映射,得到N!个映射拓扑关系。
在一示例性实施例中,计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销,将通信开销最小的映射拓扑关系确定为最优映射拓扑关系的过程包括:
获取第一映射拓扑关系,计算当前数据同步算法基于第一映射拓扑关系进行梯度数据同步时的第一通信开销,将第一通信开销赋值给当前最小通信开销;第一映射拓扑关系为任一个映射拓扑关系;
获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销;当前第二映射拓扑关系为未完成通信开销计算的任一个映射拓扑关系;
若第二通信开销小于当前最小通信开销,将第二通信开销赋值给当前最小通信开销;
判断所有映射拓扑关系是否均完成通信开销计算;
若否,重复获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销的操作;
若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
本实施例中,首先从N!个映射拓扑关系中选择任意一个映射拓扑关系作为第一映射拓扑关系T1,对第一映射拓扑关系T1进行通信开销计算,即计算当前数据同步算法基于第一映射拓扑关系T1进行梯度数据同步时的第一通信开销C1,将C1赋值为当前最小通信开销Cmin,将T1赋值给最佳通信拓扑Topt,然后再从除第一映射拓扑关系T1之外的,即N!-1个映射拓扑关系中选择一个映射拓扑关系作为当前第二映射拓扑关系Ti,对当前第二映射拓扑关系Ti进行通信开销计算,计算当前数据同步算法基于当前第二映射拓扑关系Ti进行梯度数据同步时的第二通信开销Ci,比较Ci和Cmin的值,如果Ci小于Cmin,则将Ci赋值给Cmin,将Ti赋值给Topt,如果Ci小于或等于Cmin,则不进行赋值处理,此时,从未进行通信开销计算的所有映射拓扑关系中,选择一个映射拓扑关系作为新的当前第二映射拓扑关系Ti,对新的当前第二映射拓扑关系Ti进行通信开销计算,计算当前数据同步算法基于当前第二映射拓扑关系Ti进行梯度数据同步时的第二通信开销Ci,比较Ci和Cmin的值,如果Ci小于Cmin,则将Ci赋值给Cmin,将Ti赋值给Topt,如果Ci小于或等于Cmin,则不进行赋值处理,以此类推,直至所有映射拓扑关系均完成一次通信开销计算及通信开销比较的操作,将此时的Topt确定为最优映射拓扑关系。
在一示例性实施例中,获取第一映射拓扑关系,计算当前数据同步算法基于第一映射拓扑关系进行梯度数据同步时的第一通信开销,将第一通信开销赋值给当前最小通信开销的同时,梯度数据同步方法还包括:
令计数器的当前计数值加1,计数器的初始计数值为0;
将第二通信开销赋值给当前最小通信开销的同时,梯度数据同步方法还包括:
令计数器的当前计数值加1;
判断所有映射拓扑关系是否均完成通信开销计算的过程包括:
判断计数器的当前计数值是否大于映射拓扑关系的总数;
若是,判定所有映射拓扑关系均完成通信开销计算;
若否,判定存在未完成通信开销计算的映射拓扑关系。
请参照图7,图7为本发明所提供的一种最优映射拓扑关系的确定方法的步骤流程图,包括:
S201:初始化计数器counter的值为0,counter用来记录已经处理的映射拓扑关系的个数;
S202:根据当前数据同步算法和集群规模生成逻辑拓扑关系L;
S203:对集群中的N个物理拓扑节点从1到N进行编号,并进行排列组合,得到N!个不同的节点组合方式;
S204:按照各节点组合方式将物理拓扑节点和逻辑拓扑节点一一映射,得到N!个映射拓扑关系;
S205:获取映射拓扑关系T1,计算基于映射拓扑关系T1的通信开销C1, 并将C1赋值给Cmin,将T1赋值给Topt,令计数器counter加1,其中Topt和Cmin分别表示最佳映射拓扑和其通信开销;
S206:判断计算器counter的值是否大于N!,即是否遍历计算完所有映射拓扑关系的通信开销,若是,说明所有的映射拓扑关系已全部处理完成,可获取最佳拓扑关系Topt;若否,则说明映射拓扑尚未处理完成,跳转到S207;
S207:获取下一个映射拓扑关系Ti,并计算基于该映射拓扑关系Ti的通信开销Ci;
S208:比较Ci的值是否小于Cmin,若是,则将Ci赋值给Cmin,将Ti赋值给Topt,然后将计数器counter加1,并跳转到S206;若否,则直接将计数器counter的值加1,并跳转到206。
可以理解,本实施例通过对所有潜在映射拓扑关系进行比较,最终可获取到全局最佳拓扑。
在一示例性实施例中,按各节点组合方式,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系之后,梯度数据同步方法还包括:
将所有映射拓扑关系存储到内存中;
获取第一映射拓扑关系的过程包括:
从内存中获取第一映射拓扑关系;
获取当前第二映射拓扑关系的过程包括:
从内存中获取当前第二映射拓扑关系。
本实施例中,在获取到N!个映射拓扑关系后,将N!个映射拓扑关系均存入内存中,后续从内存中获取所需的映射拓扑关系即可。可以理解,本实施例所提供的方案适用于训练集群环境中节点相对较少且服务器内存充足的情况。
在一示例性实施例中,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将初始映射拓扑关系作为参考映射拓扑关系;
确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系;
若目标映射拓扑关系满足更新条件,将目标映射拓扑关系作为参考映射拓扑关系,重复确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系的操作。
在一示例性实施例中,计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销,将通信开销最小的映射拓扑关系确定为最优映射拓扑关系的过程包括:
计算当前数据同步算法基于参考映射拓扑关系进行梯度数据同步时的第一通信开销;
计算当前数据同步算法基于目标映射拓扑关系进行梯度数据同步时的第二通信开销;
将第一通信开销和第二通信开销中的较小值作为当前最小通信开销;
判断是否完成预设数量的映射拓扑关系的通信开销计算;
若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
在一示例性实施例中,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将初始映射拓扑关系作为参考映射拓扑关系之后,梯度数据同步方法还包括:
将参考映射拓扑关系存储到内存中;
交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系之后,梯度数据同步方法还包括:
将目标映射拓扑关系存储到内存中;
将第一通信开销和第二通信开销中的较小值作为当前最小通信开销之后,梯度数据同步方法还包括:
在内存中删除第一通信开销和第二通信开销中的较大值对应的映射拓扑关系。
考虑到在集群规模很大时,若将所有潜在的映射拓扑关系均存储入内存,可能会占用大量的内存空间,因此,本实施例提供了另一种确定最优映射拓扑关系的方案,在分布式训练最开始的时候,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到一个初始映射拓扑关系,将初始映射拓扑关系作为参考映射拓扑关系,并存储在内存中,通过交换参考映射拓扑关系中任意两个不同物理节点的位置的方式来生成一种新的映射拓扑关系,即确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系,分别计算初始映射拓扑关系和目标映射拓扑关系的通信开销,若目标映射拓扑关系的通信开销小于之前参考映射拓扑关系的通信开销,则令目标映射拓扑关系取代之前的初始映射拓扑关系作为参考通信拓扑关系,并销毁初始映射拓扑关系,否则仍使初始映射拓扑关系作为参考通信拓扑关系,销毁目标映射拓扑关系,即保留通信开销小的映射拓扑关系,销毁通信开销大的映射拓扑关系,反复多次执行上述过程,最终获取一个最佳映射拓扑关系,在本实施例的方案中,内存中始终只存储最多两个映射拓扑,可大幅减少内存空间占用,在集群规模较大时,保证当前数据同步算法的性能。
在一示例性实施例中,将第一通信开销和第二通信开销中的较小值作为当前最小通信开销的同时,梯度数据同步方法还包括:
令计数器的当前计数值加1,计数器的初始计数值为0;
判断是否完成预设数量的映射拓扑关系的通信开销计算的过程包括:
判断计数器的当前计数值是否大于最大比较次数;
若是,判定完成预设数量的映射拓扑关系的通信开销计算;
若否,判定未完成预设数量的映射拓扑关系的通信开销计算。
请参照图8,图8为本发明所提供的另一种最优映射拓扑关系的确定方法的步骤流程图,包括:
S301:初始化计数器counter的值为0,最大比较次数max_count的值为M=1000,M的值可根据实际情况和经验进行更改。
S302:根据当前数据同步算法和集群规模生成逻辑拓扑L;
S303:将物理拓扑节点和逻辑拓扑节点随机一一映射,得到初始映射拓扑关系T1,将T1赋值给参考映射拓扑关系Topt;
S304:计算基于映射拓扑关系T1的通信开销C1,将C1赋值给最小通信开销Cmin;
S305:随机获取两个不同的物理节点作为待交换节点,交换这两个节点在参考映射拓扑关系Topt的位置,得到一个新的映射拓扑关系,即目标映射拓扑关系Tnew,并基于该映射拓扑关系计算通信开销Cnew;
S306:比较Cnew和Cmin的大小,取较小值对应的通信开销和映射拓扑关系分别赋值给Cmin和Topt,并将计算器counter加1;
S307:判断计算器counter是否大于等于预设的最大比较次数max_count,若是,则执行S308,若否,则返回S305;
S308:获取最佳映射拓扑关系Topt;以便后续基于最佳映射拓扑关系Topt进行梯度数据同步。
在一示例性实施例中,可以根据实际的分布式训练集群的环境对上述两种最优映射图拓扑关系的确定方案进行选择,假设训分布式练集群中物理节点数量为N,每个服务器的内存容量为Mm,采用键值对的方式存储映射拓扑关系,每个映射拓扑关系包含N个键值对,每个键值对占用内存空间为a,则存储一个映射拓扑关系需占用内存空间a×N,存储所有潜在的映射拓扑需占用空间 a×N×N!,设定当a×N×N!<Mm×50%,即当存储映射拓扑所占据的内存空间不超过服务器内存的一半时,采用第一种方案,而当a×N×N!>Mm×50%,即当存储映射拓扑所占据的内存空间超过服务器内存的一半时时,选择使用第二种方案来节省内存。
在一示例性实施例中,计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销的过程包括:
确定当前数据同步算法进行梯度数据同步时的各个执行阶段;
基于映射拓扑关系,确定各个执行阶段的通信节点对;通信节点对包括由至少一条物理链路连接的两个逻辑拓扑节点;
根据每一执行阶段的各个通信节点对的通信开销,确定执行阶段的通信开销;
将各个执行阶段的总通信开销作为当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销。
本实施例以一个映射拓扑关系为例进行说明,其他映射拓扑关系计算通信开销的方式同理。可以理解,每一数据同步算法在进行梯度数据同步时可以包括多个执行阶段,在不同的执行阶段,映射拓扑关系中的通信节点对不同,通信节点对包括由至少一条物理链路连接的两个逻辑拓扑节点,确定每一个执行阶段中,各个通信节点对的通信开销,考虑到一个通信节点对中的两个节点可能存在至少两个物理链路连接的情况,将这种通信节点对确定为目标节点对,也即目标节点对为具有至少两个物理链路的通信节点对,计算目标节点对通过每条物理链路连接时对应的初始通信开销,确定目标节点对的所有初始通信开销中的最小通信开销,将最小通信开销作为目标节点对的通信开销,确定每一执行阶段的各个通信节点对的通信开销后,选择通信开销中的最大通信开销作为执行阶段的通信开销,然后将所有执行阶段的通信开销求和,得到总通信开销作为当前数据同步算法基于该映射拓扑关系进行梯度数据同步时的通信开销。
在一示例性实施例中,获取分布式训练集群的物理拓扑关系之后,梯度数据同步方法还包括:
基于分布式训练集群的物理拓扑关系,确定分布式训练集群中的各个物理拓扑节点之间的物理链路;
为各个物理链路设置权值,得到加权物理拓扑关系;
将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
将加权物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系。
在一示例性实施例中,确定分布式训练集群中的各个物理拓扑节点之间的物理链路之后,为各个物理链路设置权值之前,梯度数据同步方法还包括:
获取每一物理链路的延时和带宽;
为各个物理链路设置权值的过程包括:
基于每一物理链路的延时和带宽为物理链路设置权值。
在一示例性实施例中,基于每一物理链路的延时和带宽为物理链路设置权值的过程包括:
基于第一关系式为物理链路设置权值,第一关系式为Q=a+1/B;
其中,Q为物理链路的权值,a为物理链路的延时,B为物理链路的带宽。
在一示例性实施例中,基于映射拓扑关系,确定各个执行阶段的通信节点对之后,根据每一执行阶段的各个通信节点对的通信开销,确定执行阶段的通信开销之前,梯度数据同步方法还包括:
根据连接通信节点对的两个节点的物理链路的权值确定通信节点对的通信开销。
可以理解,在获取分布式训练集群的物理拓扑关系之后,还会确定分布式训练集群中的各个物理拓扑节点之间的物理链路的带宽和延时,基于物理链路的带宽和延时得到物理链路的权值,将物理链路加上权值后,得到加权物理拓扑关系,上述加权处理可以在线下进行,在后续进行线上处理时,直接通过加权物理拓扑关系进行最优映射拓扑关系的确定。本实施例中,每个物理链路的权值由a+1/B确定,因此,权值可以提现物理链路对应的通信时间,因此,可基于权值进行后续的通信节点对的通信开销的计算,提高计算效率。
在一示例性实施例中,所述获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系的过程包括:
当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令;
若是,获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;
所述梯度数据同步方法还包括:
若当前梯度数据同步指令非所述分布式训练集群的所述分布式训练的过程中第一次发起的梯度数据同步指令,获取所述最优映射拓扑关系,基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
在一示例性实施例中,基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步之后,所述梯度数据同步方法还包括:
判断所述分布式训练是否结束;
若否,执行所述当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令的操作;
若是,获取所述分布式训练集群对应的分布式训练结果。
可以理解,本实施例所提供的梯度数据同步是在分布式训练集群的分布式训练的各次迭代中进行的,每次迭代中,均需要进行一次梯度数据同步,各个加速器节点基于训练数据计算自身训练过程中的梯度数据,然后将各个加速器节点的梯度数据在分布式训练集群中进行同步,其中,各个加速器节点获取到的训练数据为按照加速器节点数量对原始数据集划分后的得到的一份数据,可将原始数据集划分为K份数据,K为加速器节点的个数,每个加速器节点获取一份数据作为训练数据,原始数据集包括但不限于图像数据集、语音数据集、视频数据集、文字数据集。梯度数据同步的操作通过梯度数据同步指令触发,当前梯度数据同步指令后,判断是否为第一次接收到当前梯度数据同步指令,若是,则执行S101-S103的操作,以获取与该分布式训练集群所对应的面向随机网络的最优映射拓扑关系,如果判断当前梯度数据同步指令不是第一次接收到的当前梯度数据同步指令,则说明在本次迭代之前,已经获取过该分布式训练集群所对应的最优映射拓扑关系,此时,直接获取之前次迭代获取的最优映射拓扑关系,进行梯度数据同步即可,每次迭代中,执行完梯度数据同步之后,判断该分布式训练集群的分布式训练是否结束,若是,则获取该分布式训练集群对应的分布式训练结果,该分布式训练结果包括但不限于各个加速器节点上进行上述训练后得到的网络模型。
进一步的,请参照图9,图9为本发明所提供的一种分布式训练集群的并行分布式训练方法的步骤流程图,该分布式训练集群的并行分布式训练方法包括:
S401:根据延时和带宽计算物理拓扑关系中每条物理链路的权值获得加权物理拓扑关系;
S402:执行初始化操作,包括确定集群规模、加权物理拓扑关系和当前数据同步算法;
S403:当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令,若是,执行S404,若否,执行S405;
S404:将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系,计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销,将通信开销最小的映射拓扑关系确定为最优映射拓扑关系;
S405:基于最优映射拓扑关系执行指定的当前数据同步算法;
S406:判断分布式训练是否结束,若否,执行S403。
综上所述,本发明首先使用线下生成分布式训练集群的加权物理拓扑关系,然后开始线上分布式训练,在训练过程中第一次发起梯度数据同步指令时,生成最佳映射拓扑关系,该映射拓扑关系为指定算法的逻辑拓扑到实际物理拓扑的最佳映射,得到最佳映射拓扑关系后,即可根据此最佳映射拓扑关系实施指定的梯度数据同步算法,本发明可将现有的一些常用高效的数据同步算法更好的映射到随机物理拓扑中,提高梯度数据同步效率,进而提高数据中心资源利用率。
第二方面,请参照图10,图10为本发明所提供的一种梯度数据同步系统的结构示意图,该梯度数据同步系统包括:
第一获取模块11,用于获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;
映射模块12,用于将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系;
计算模块13,用于计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销,将通信开销最小的映射拓扑关系确定为最优映射拓扑关系;
数据同步模块14,用于基于最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
可见,本实施例中,在进行分布式训练时,首先获取分布式训练集群的物理拓扑关系,生成与当前数据同步算法相对应的逻辑拓扑关系,对物理拓扑关系中的各物理拓扑节点和逻辑拓扑关系中的各逻辑拓扑节点进行映射,得到多个映射拓扑关系,然后基于通信开销最小的映射拓扑关系进行梯度数据同步,将现有的数据同步算法更好的映射到随机物理拓扑中,提高任意一种随机网络中的梯度数据同步通信的效率,提高网络带宽利用率。
在一示例性实施例中,获取当前数据同步算法对应的逻辑拓扑关系的过程包括:
获取分布式训练集群的集群参数;集群参数包括节点数量;
基于节点数量和当前数据同步算法生成逻辑拓扑关系。
在一示例性实施例中,当前数据同步算法为基于环形的全局规约算法、基于树的全局规约算法、减半加倍算法中的一个;
基于节点数量和当前数据同步算法生成逻辑拓扑关系的过程包括:
若当前数据同步算法为基于环形的全局规约算法,生成包括N个节点的环状逻辑拓扑关系,N为节点数量;
和/或,
若当前数据同步算法为基于树的全局规约算法,生成包括N个节点的树状逻辑拓扑关系,N为节点数量;
和/或,
若当前数据同步算法为减半加倍算法,生成包括N个节点的随机序列作为逻辑拓扑关系。
在一示例性实施例中,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
对物理拓扑关系中的各物理拓扑节点进行编号及排列组合,得到多个节点组合方式;
按各节点组合方式,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系。
在一示例性实施例中,计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销,将通信开销最小的映射拓扑关系确定为最优映射拓扑关系的过程包括:
获取第一映射拓扑关系,计算当前数据同步算法基于第一映射拓扑关系进行梯度数据同步时的第一通信开销,将第一通信开销赋值给当前最小通信开销;第一映射拓扑关系为任一个映射拓扑关系;
获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销;当前第二映射拓扑关系为未完成通信开销计算的任一个映射拓扑关系;
若第二通信开销小于当前最小通信开销,将第二通信开销赋值给当前最小通信开销;
判断所有映射拓扑关系是否均完成通信开销计算;
若否,重复获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销的操作;
若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
在一示例性实施例中,获取第一映射拓扑关系,计算当前数据同步算法基于第一映射拓扑关系进行梯度数据同步时的第一通信开销,将第一通信开销赋值给当前最小通信开销的同时,梯度数据同步方法还包括:
令计数器的当前计数值加1,计数器的初始计数值为0;
将第二通信开销赋值给当前最小通信开销的同时,梯度数据同步方法还包括:
令计数器的当前计数值加1;
判断所有映射拓扑关系是否均完成通信开销计算的过程包括:
判断计数器的当前计数值是否大于映射拓扑关系的总数;
若是,判定所有映射拓扑关系均完成通信开销计算;
若否,判定存在未完成通信开销计算的映射拓扑关系。
在一示例性实施例中,按各节点组合方式,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系之后,梯度数据同步方法还包括:
将所有映射拓扑关系存储到内存中;
获取第一映射拓扑关系的过程包括:
从内存中获取第一映射拓扑关系;
获取当前第二映射拓扑关系的过程包括:
从内存中获取当前第二映射拓扑关系。
在一示例性实施例中,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将初始映射拓扑关系作为参考映射拓扑关系;
确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系;
若目标映射拓扑关系满足更新条件,将目标映射拓扑关系作为参考映射拓扑关系,重复确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系的操作。
在一示例性实施例中,计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销,将通信开销最小的映射拓扑关系确定为最优映射拓扑关系的过程包括:
计算当前数据同步算法基于参考映射拓扑关系进行梯度数据同步时的第一通信开销;
计算当前数据同步算法基于目标映射拓扑关系进行梯度数据同步时的第二通信开销;
将第一通信开销和第二通信开销中的较小值作为当前最小通信开销;
判断是否完成预设数量的映射拓扑关系的通信开销计算;
若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
在一示例性实施例中,更新条件为第二通信开销小于第一通信开销。
在一示例性实施例中,将第一通信开销和第二通信开销中的较小值作为当前最小通信开销的同时,梯度数据同步方法还包括:
令计数器的当前计数值加1,计数器的初始计数值为0;
判断是否完成预设数量的映射拓扑关系的通信开销计算的过程包括:
判断计数器的当前计数值是否大于最大比较次数;
若是,判定完成预设数量的映射拓扑关系的通信开销计算;
若否,判定未完成预设数量的映射拓扑关系的通信开销计算。
在一示例性实施例中,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将初始映射拓扑关系作为参考映射拓扑关系之后,梯度数据同步方法还包括:
将参考映射拓扑关系存储到内存中;
交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系之后,梯度数据同步方法还包括:
将目标映射拓扑关系存储到内存中;
将第一通信开销和第二通信开销中的较小值作为当前最小通信开销之后,梯度数据同步方法还包括:
在内存中删除第一通信开销和第二通信开销中的较大值对应的映射拓扑关系。
在一示例性实施例中,计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销的过程包括:
确定当前数据同步算法进行梯度数据同步时的各个执行阶段;
基于映射拓扑关系,确定各个执行阶段的通信节点对;通信节点对包括由至少一条物理链路连接的两个逻辑拓扑节点;
根据每一执行阶段的各个通信节点对的通信开销,确定执行阶段的通信开销;
将各个执行阶段的总通信开销作为当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销。
在一示例性实施例中,根据每一执行阶段的各个通信节点对的通信开销,确定执行阶段的通信开销的过程包括:
确定每一执行阶段的各个通信节点对的通信开销中的最大通信开销;
将最大通信开销作为执行阶段的通信开销。
在一示例性实施例中,确定每一执行阶段的各个通信节点对的通信开销中的最大通信开销之前,梯度数据同步方法还包括:
当每一执行阶段的各个通信节点对中存在目标节点对,计算目标节点对通过每条物理链路连接时对应的初始通信开销;目标节点对包括由多条物理链路连接的两个逻辑拓扑节点;
确定目标节点对的所有初始通信开销中的最小通信开销;
将最小通信开销作为目标节点对的通信开销。
在一示例性实施例中,获取分布式训练集群的物理拓扑关系之后,梯度数据同步方法还包括:
基于分布式训练集群的物理拓扑关系,确定分布式训练集群中的各个物理拓扑节点之间的物理链路;
为各个物理链路设置权值,得到加权物理拓扑关系;
将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
将加权物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系。
在一示例性实施例中,确定分布式训练集群中的各个物理拓扑节点之间的物理链路之后,为各个物理链路设置权值之前,梯度数据同步方法还包括:
获取每一物理链路的延时和带宽;
为各个物理链路设置权值的过程包括:
基于每一物理链路的延时和带宽为物理链路设置权值。
在一示例性实施例中,基于每一物理链路的延时和带宽为物理链路设置权值的过程包括:
基于第一关系式为物理链路设置权值,第一关系式为Q=a+1/B;
其中,Q为物理链路的权值,a为物理链路的延时,B为物理链路的带宽。
在一示例性实施例中,基于映射拓扑关系,确定各个执行阶段的通信节点对之后,根据每一执行阶段的各个通信节点对的通信开销,确定执行阶段的通信开销之前,梯度数据同步方法还包括:
根据连接通信节点对的两个节点的物理链路的权值确定通信节点对的通信开销。
在一示例性实施例中,所述获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系的过程包括:
当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令;
若是,获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;
数据同步模块14还用于:
若当前梯度数据同步指令非所述分布式训练集群的所述分布式训练的过程中第一次发起的梯度数据同步指令,获取所述最优映射拓扑关系,基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
在一示例性实施例中,所述梯度数据同步系统还包括:
训练管理模块,用于判断所述分布式训练是否结束,若否,执行所述当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令的操作,若是,获取所述分布式训练集群对应的分布式训练结果。
第三方面,本发明还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上文任意一个实施例所描述的梯度数据同步方法的步骤。
具体的,存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器执行存储器中保存的计算机程序时,可以实现以下步骤:获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系;计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销,将通信开销最小的映射拓扑关系确定为最优映射拓扑关系;基于最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
可见,本实施例中,在进行分布式训练时,首先获取分布式训练集群的物理拓扑关系,生成与当前数据同步算法相对应的逻辑拓扑关系,对物理拓扑关系中的各物理拓扑节点和逻辑拓扑关系中的各逻辑拓扑节点进行映射,得到多个映射拓扑关系,然后基于通信开销最小的映射拓扑关系进行梯度数据同步,将现有的数据同步算法更好的映射到随机物理拓扑中,提高任意一种随机网络中的梯度数据同步通信的效率,提高网络带宽利用率。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:获取分布式训练集群的集群参数;集群参数包括节点数量;基于节点数量和当前数据同步算法生成逻辑拓扑关系。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:若当前数据同步算法为基于环形的全局规约算法,生成包括N个节点的环状逻辑拓扑关系,N为节点数量;和/或,若当前数据同步算法为基于树的全局规约算法,生成包括N个节点的树状逻辑拓扑关系,N为节点数量;和/或,若当前数据同步算法为减半加倍算法,生成包括N个节点的随机序列作为逻辑拓扑关系。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:对物理拓扑关系中的各物理拓扑节点进行编号及排列组合,得到多个节点组合方式;按各节点组合方式,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:获取第一映射拓扑关系,计算当前数据同步算法基于第一映射拓扑关系进行梯度数据同步时的第一通信开销,将第一通信开销赋值给当前最小通信开销;第一映射拓扑关系为任一个映射拓扑关系;获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销;当前第二映射拓扑关系为未完成通信开销计算的任一个映射拓扑关系;若第二通信开销小于当前最小通信开销,将第二通信开销赋值给当前最小通信开销;判断所有映射拓扑关系是否均完成通信开销计算若否,重复获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销的操作;若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:令计数器的当前计数值加1,计数器的初始计数值为0;将第二通信开销赋值给当前最小通信开销的同时,梯度数据同步方法还包括:令计数器的当前计数值加1;判断所有映射拓扑关系是否均完成通信开销计算的过程包括:判断计数器的当前计数值是否大于映射拓扑关系的总数;若是,判定所有映射拓扑关系均完成通信开销计算;若否,判定存在未完成通信开销计算的映射拓扑关系。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:将所有映射拓扑关系存储到内存中;获取第一映射拓扑关系的过程包括:从内存中获取第一映射拓扑关系;获取当前第二映射拓扑关系的过程包括:从内存中获取当前第二映射拓扑关系。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将初始映射拓扑关系作为参考映射拓扑关系;确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系;若目标映射拓扑关系满足更新条件,将目标映射拓扑关系作为参考映射拓扑关系,重复确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系的操作。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:计算当前数据同步算法基于参考映射拓扑关系进行梯度数据同步时的第一通信开销;计算当前数据同步算法基于目标映射拓扑关系进行梯度数据同步时的第二通信开销;将第一通信开销和第二通信开销中的较小值作为当前最小通信开销;判断是否完成预设数量的映射拓扑关系的通信开销计算;若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将初始映射拓扑关系作为参考映射拓扑关系;确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系;若目标映射拓扑关系满足更新条件,将目标映射拓扑关系作为参考映射拓扑关系,重复确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系的操作;更新条件为第二通信开销小于第一通信开销。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:令计数器的当前计数值加1,计数器的初始计数值为0;判断是否完成预设数量的映射拓扑关系的通信开销计算的过程包括:判断计数器的当前计数值是否大于最大比较次数;若是,判定完成预设数量的映射拓扑关系的通信开销计算;若否,判定未完成预设数量的映射拓扑关系的通信开销计算。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:将参考映射拓扑关系存储到内存中;将目标映射拓扑关系存储到内存中;在内存中删除第一通信开销和第二通信开销中的较大值对应的映射拓扑关系。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:确定当前数据同步算法进行梯度数据同步时的各个执行阶段;基于映射拓扑关系,确定各个执行阶段的通信节点对;通信节点对包括由至少一条物理链路连接的两个逻辑拓扑节点;根据每一执行阶段的各个通信节点对的通信开销,确定执行阶段的通信开销;将各个执行阶段的总通信开销作为当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:确定每一执行阶段的各个通信节点对的通信开销中的最大通信开销;将最大通信开销作为执行阶段的通信开销。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:当每一执行阶段的各个通信节点对中存在目标节点对,计算目标节点对通过每条物理链路连接时对应的初始通信开销;目标节点对包括由多条物理链路连接的两个逻辑拓扑节点;确定目标节点对的所有初始通信开销中的最小通信开销;将最小通信开销作为目标节点对的通信开销。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:基于分布式训练集群的物理拓扑关系,确定分布式训练集群中的各个物理拓扑节点之间的物理链路;为各个物理链路设置权值,得到加权物理拓扑关系;将加权物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:获取每一物理链路的延时和带宽;基于每一物理链路的延时和带宽为物理链路设置权值。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:基于第一关系式为物理链路设置权值,第一关系式为Q=a+1/B;其中,Q为物理链路的权值,a为物理链路的延时,B为物理链路的带宽。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:根据连接通信节点对的两个节点的物理链路的权值确定通信节点对的通信开销。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令;若是,获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;若当前梯度数据同步指令非所述分布式训练集群的所述分布式训练的过程中第一次发起的梯度数据同步指令,获取所述最优映射拓扑关系,基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
在一示例性实施例中,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:判断所述分布式训练是否结束;若否,执行所述当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令的操作;若是,获取所述分布式训练集群对应的分布式训练结果。
在上述实施例的基础上,该电子设备还包括:
输入接口,与处理器相连,用于获取外部导入的计算机程序、参数和指令,经处理器控制保存至存储器中。该输入接口可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板。
显示单元,与处理器相连,用于显示处理器发送的数据。该显示单元可以为液晶显示屏或者电子墨水显示屏等。
网络端口,与处理器相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术、通用串行总线、高清多媒体接口、无线保真技术、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
第四方面,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上文任意一个实施例所描述的梯度数据同步方法的步骤。
该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系;计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销,将通信开销最小的映射拓扑关系确定为最优映射拓扑关系;基于最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
可见,本实施例中,在进行分布式训练时,首先获取分布式训练集群的物理拓扑关系,生成与当前数据同步算法相对应的逻辑拓扑关系,对物理拓扑关系中的各物理拓扑节点和逻辑拓扑关系中的各逻辑拓扑节点进行映射,得到多个映射拓扑关系,然后基于通信开销最小的映射拓扑关系进行梯度数据同步,将现有的数据同步算法更好的映射到随机物理拓扑中,提高任意一种随机网络中的梯度数据同步通信的效率,提高网络带宽利用率。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:获取分布式训练集群的集群参数;集群参数包括节点数量;基于节点数量和当前数据同步算法生成逻辑拓扑关系。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:若当前数据同步算法为基于环形的全局规约算法,生成包括N个节点的环状逻辑拓扑关系,N为节点数量;和/或,若当前数据同步算法为基于树的全局规约算法,生成包括N个节点的树状逻辑拓扑关系,N为节点数量;和/或,若当前数据同步算法为减半加倍算法,生成包括N个节点的随机序列作为逻辑拓扑关系。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:对物理拓扑关系中的各物理拓扑节点进行编号及排列组合,得到多个节点组合方式;按各节点组合方式,将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:获取第一映射拓扑关系,计算当前数据同步算法基于第一映射拓扑关系进行梯度数据同步时的第一通信开销,将第一通信开销赋值给当前最小通信开销;第一映射拓扑关系为任一个映射拓扑关系;获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销;当前第二映射拓扑关系为未完成通信开销计算的任一个映射拓扑关系;若第二通信开销小于当前最小通信开销,将第二通信开销赋值给当前最小通信开销;判断所有映射拓扑关系是否均完成通信开销计算若否,重复获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销的操作;若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:令计数器的当前计数值加1,计数器的初始计数值为0;将第二通信开销赋值给当前最小通信开销的同时,梯度数据同步方法还包括:令计数器的当前计数值加1;判断所有映射拓扑关系是否均完成通信开销计算的过程包括:判断计数器的当前计数值是否大于映射拓扑关系的总数;若是,判定所有映射拓扑关系均完成通信开销计算;若否,判定存在未完成通信开销计算的映射拓扑关系。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:将所有映射拓扑关系存储到内存中;获取第一映射拓扑关系的过程包括:从内存中获取第一映射拓扑关系;获取当前第二映射拓扑关系的过程包括:从内存中获取当前第二映射拓扑关系。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将初始映射拓扑关系作为参考映射拓扑关系;确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系;若目标映射拓扑关系满足更新条件,将目标映射拓扑关系作为参考映射拓扑关系,重复确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系的操作。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:计算当前数据同步算法基于参考映射拓扑关系进行梯度数据同步时的第一通信开销;计算当前数据同步算法基于目标映射拓扑关系进行梯度数据同步时的第二通信开销;将第一通信开销和第二通信开销中的较小值作为当前最小通信开销;判断是否完成预设数量的映射拓扑关系的通信开销计算;若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将初始映射拓扑关系作为参考映射拓扑关系;确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系;若目标映射拓扑关系满足更新条件,将目标映射拓扑关系作为参考映射拓扑关系,重复确定至少两个待交换节点,交换两个待交换节点在参考映射拓扑关系中的位置,得到目标映射拓扑关系的操作;更新条件为第二通信开销小于第一通信开销。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:令计数器的当前计数值加1,计数器的初始计数值为0;判断是否完成预设数量的映射拓扑关系的通信开销计算的过程包括:判断计数器的当前计数值是否大于最大比较次数;若是,判定完成预设数量的映射拓扑关系的通信开销计算;若否,判定未完成预设数量的映射拓扑关系的通信开销计算。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:将参考映射拓扑关系存储到内存中;将目标映射拓扑关系存储到内存中;在内存中删除第一通信开销和第二通信开销中的较大值对应的映射拓扑关系。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:确定当前数据同步算法进行梯度数据同步时的各个执行阶段;基于映射拓扑关系,确定各个执行阶段的通信节点对;通信节点对包括由至少一条物理链路连接的两个逻辑拓扑节点;根据每一执行阶段的各个通信节点对的通信开销,确定执行阶段的通信开销;将各个执行阶段的总通信开销作为当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:确定每一执行阶段的各个通信节点对的通信开销中的最大通信开销;将最大通信开销作为执行阶段的通信开销。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:当每一执行阶段的各个通信节点对中存在目标节点对,计算目标节点对通过每条物理链路连接时对应的初始通信开销;目标节点对包括由多条物理链路连接的两个逻辑拓扑节点;确定目标节点对的所有初始通信开销中的最小通信开销;将最小通信开销作为目标节点对的通信开销。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:基于分布式训练集群的物理拓扑关系,确定分布式训练集群中的各个物理拓扑节点之间的物理链路;为各个物理链路设置权值,得到加权物理拓扑关系;将加权物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:获取每一物理链路的延时和带宽;基于每一物理链路的延时和带宽为物理链路设置权值。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:基于第一关系式为物理链路设置权值,第一关系式为Q=a+1/B;其中,Q为物理链路的权值,a为物理链路的延时,B为物理链路的带宽。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:根据连接通信节点对的两个节点的物理链路的权值确定通信节点对的通信开销。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令;若是,获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;若当前梯度数据同步指令非所述分布式训练集群的所述分布式训练的过程中第一次发起的梯度数据同步指令,获取所述最优映射拓扑关系,基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
在一示例性实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:判断所述分布式训练是否结束;若否,执行所述当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令的操作;若是,获取所述分布式训练集群对应的分布式训练结果。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (23)
1.一种梯度数据同步方法,其特征在于,包括:
获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;
将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系;
计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系;
基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步;
将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
对所述物理拓扑关系中的各物理拓扑节点进行编号及排列组合,得到多个节点组合方式;
按各所述节点组合方式,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系。
2.根据权利要求1所述的梯度数据同步方法,其特征在于,获取当前数据同步算法对应的逻辑拓扑关系的过程包括:
获取所述分布式训练集群的集群参数;所述集群参数包括节点数量;
基于所述节点数量和当前数据同步算法生成逻辑拓扑关系。
3.根据权利要求2所述的梯度数据同步方法,其特征在于,当前数据同步算法为基于环形的全局规约算法、基于树的全局规约算法、减半加倍算法中的一个;
基于所述节点数量和当前数据同步算法生成逻辑拓扑关系的过程包括:
若当前数据同步算法为基于环形的全局规约算法,生成包括N个节点的环状逻辑拓扑关系,N为所述节点数量;
和/或,
若当前数据同步算法为基于树的全局规约算法,生成包括N个节点的树状逻辑拓扑关系,N为所述节点数量;
和/或,
若当前数据同步算法为减半加倍算法,生成包括N个节点的随机序列作为逻辑拓扑关系。
4.根据权利要求1所述的梯度数据同步方法,其特征在于,计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系的过程包括:
获取第一映射拓扑关系,计算当前数据同步算法基于所述第一映射拓扑关系进行梯度数据同步时的第一通信开销,将所述第一通信开销赋值给当前最小通信开销;所述第一映射拓扑关系为任一个所述映射拓扑关系;
获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销;当前第二映射拓扑关系为未完成通信开销计算的任一个所述映射拓扑关系;
若所述第二通信开销小于当前最小通信开销,将所述第二通信开销赋值给当前最小通信开销;
判断所有所述映射拓扑关系是否均完成通信开销计算;
若否,重复所述获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销的操作;
若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
5.根据权利要求4所述的梯度数据同步方法,其特征在于,所述获取第一映射拓扑关系,计算当前数据同步算法基于所述第一映射拓扑关系进行梯度数据同步时的第一通信开销,将所述第一通信开销赋值给当前最小通信开销的同时,所述梯度数据同步方法还包括:
令计数器的当前计数值加1,所述计数器的初始计数值为0;
将所述第二通信开销赋值给当前最小通信开销的同时,所述梯度数据同步方法还包括:
令计数器的当前计数值加1;
判断所有所述映射拓扑关系是否均完成通信开销计算的过程包括:
判断所述计数器的当前计数值是否大于映射拓扑关系的总数;
若是,判定所有所述映射拓扑关系均完成通信开销计算;
若否,判定存在未完成通信开销计算的映射拓扑关系。
6.根据权利要求4所述的梯度数据同步方法,其特征在于,按各所述节点组合方式,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系之后,所述梯度数据同步方法还包括:
将所有所述映射拓扑关系存储到内存中;
所述获取第一映射拓扑关系的过程包括:
从所述内存中获取第一映射拓扑关系;
所述获取当前第二映射拓扑关系的过程包括:
从所述内存中获取当前第二映射拓扑关系。
7.根据权利要求1所述的梯度数据同步方法,其特征在于,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将所述初始映射拓扑关系作为参考映射拓扑关系;
确定至少两个待交换节点,交换两个所述待交换节点在所述参考映射拓扑关系中的位置,得到目标映射拓扑关系;
若所述目标映射拓扑关系满足更新条件,将所述目标映射拓扑关系作为所述参考映射拓扑关系,重复所述确定至少两个待交换节点,交换两个所述待交换节点在所述参考映射拓扑关系中的位置,得到目标映射拓扑关系的操作。
8.根据权利要求7所述的梯度数据同步方法,其特征在于,所述计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系的过程包括:
计算当前数据同步算法基于所述参考映射拓扑关系进行梯度数据同步时的第一通信开销;
计算当前数据同步算法基于目标映射拓扑关系进行梯度数据同步时的第二通信开销;
将所述第一通信开销和所述第二通信开销中的较小值作为当前最小通信开销;
判断是否完成预设数量的映射拓扑关系的通信开销计算;
若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
9.根据权利要求8所述的梯度数据同步方法,其特征在于,所述更新条件为所述第二通信开销小于所述第一通信开销。
10.根据权利要求8所述的梯度数据同步方法,其特征在于,将所述第一通信开销和所述第二通信开销中的较小值作为当前最小通信开销的同时,所述梯度数据同步方法还包括:
令计数器的当前计数值加1,所述计数器的初始计数值为0;
判断是否完成预设数量的映射拓扑关系的通信开销计算的过程包括:
判断所述计数器的当前计数值是否大于最大比较次数;
若是,判定完成预设数量的映射拓扑关系的通信开销计算;
若否,判定未完成所述预设数量的映射拓扑关系的通信开销计算。
11.根据权利要求8所述的梯度数据同步方法,其特征在于,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将所述初始映射拓扑关系作为参考映射拓扑关系之后,所述梯度数据同步方法还包括:
将所述参考映射拓扑关系存储到内存中;
所述交换两个所述待交换节点在所述参考映射拓扑关系中的位置,得到目标映射拓扑关系之后,所述梯度数据同步方法还包括:
将所述目标映射拓扑关系存储到内存中;
将所述第一通信开销和所述第二通信开销中的较小值作为当前最小通信开销之后,所述梯度数据同步方法还包括:
在所述内存中删除所述第一通信开销和所述第二通信开销中的较大值对应的映射拓扑关系。
12.根据权利要求1所述的梯度数据同步方法,其特征在于,计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销的过程包括:
确定当前数据同步算法进行梯度数据同步时的各个执行阶段;
基于所述映射拓扑关系,确定各个所述执行阶段的通信节点对;所述通信节点对包括由至少一条物理链路连接的两个逻辑拓扑节点;
根据每一所述执行阶段的各个所述通信节点对的通信开销,确定所述执行阶段的通信开销;
将各个所述执行阶段的总通信开销作为当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销。
13.根据权利要求12所述的梯度数据同步方法,其特征在于,根据每一所述执行阶段的各个所述通信节点对的通信开销,确定所述执行阶段的通信开销的过程包括:
确定每一所述执行阶段的各个所述通信节点对的通信开销中的最大通信开销;
将所述最大通信开销作为所述执行阶段的通信开销。
14.根据权利要求13所述的梯度数据同步方法,其特征在于,确定每一所述执行阶段的各个所述通信节点对的通信开销中的最大通信开销之前,所述梯度数据同步方法还包括:
当每一所述执行阶段的各个所述通信节点对中存在目标节点对,计算所述目标节点对通过每条所述物理链路连接时对应的初始通信开销;所述目标节点对包括由多条物理链路连接的两个逻辑拓扑节点;
确定所述目标节点对的所有所述初始通信开销中的最小通信开销;
将所述最小通信开销作为所述目标节点对的通信开销。
15.根据权利要求12所述的梯度数据同步方法,其特征在于,获取分布式训练集群的物理拓扑关系之后,所述梯度数据同步方法还包括:
基于所述分布式训练集群的物理拓扑关系,确定所述分布式训练集群中的各个物理拓扑节点之间的物理链路;
为各个所述物理链路设置权值,得到加权物理拓扑关系;
将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
将所述加权物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系。
16.根据权利要求15所述的梯度数据同步方法,其特征在于,确定所述分布式训练集群中的各个物理拓扑节点之间的物理链路之后,为各个所述物理链路设置权值之前,所述梯度数据同步方法还包括:
获取每一所述物理链路的延时和带宽;
为各个所述物理链路设置权值的过程包括:
基于每一所述物理链路的所述延时和所述带宽为所述物理链路设置权值。
17.根据权利要求16所述的梯度数据同步方法,其特征在于,基于每一所述物理链路的所述延时和所述带宽为所述物理链路设置权值的过程包括:
基于第一关系式为所述物理链路设置权值,所述第一关系式为Q=a+1/B;
其中,Q为所述物理链路的权值,a为所述物理链路的延时,B为所述物理链路的带宽。
18.根据权利要求17所述的梯度数据同步方法,其特征在于,基于所述映射拓扑关系,确定各个所述执行阶段的通信节点对之后,根据每一所述执行阶段的各个所述通信节点对的通信开销,确定所述执行阶段的通信开销之前,所述梯度数据同步方法还包括:
根据连接所述通信节点对的两个节点的物理链路的所述权值确定所述通信节点对的通信开销。
19.根据权利要求1-18任意一项所述的梯度数据同步方法,其特征在于,所述获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系的过程包括:
当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令;
若是,获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;
所述梯度数据同步方法还包括:
若当前梯度数据同步指令非所述分布式训练集群的所述分布式训练的过程中第一次发起的梯度数据同步指令,获取所述最优映射拓扑关系,基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
20.根据权利要求19所述的梯度数据同步方法,其特征在于,基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步之后,所述梯度数据同步方法还包括:
判断所述分布式训练是否结束;
若否,执行所述当接收到当前梯度数据同步执行指令,判断当前梯度数据同步指令是否为所述分布式训练集群的分布式训练的过程中第一次发起的梯度数据同步指令的操作;
若是,获取所述分布式训练集群对应的分布式训练结果。
21.一种梯度数据同步系统,其特征在于,包括:
第一获取模块,用于获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;
映射模块,用于将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系;
计算模块,用于计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系;
数据同步模块,用于基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步;
将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:
对所述物理拓扑关系中的各物理拓扑节点进行编号及排列组合,得到多个节点组合方式;
按各所述节点组合方式,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系。
22.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1-20任意一项所述的梯度数据同步方法的步骤。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-20任意一项所述的梯度数据同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311220016.9A CN116962438B (zh) | 2023-09-21 | 2023-09-21 | 一种梯度数据同步方法、系统、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311220016.9A CN116962438B (zh) | 2023-09-21 | 2023-09-21 | 一种梯度数据同步方法、系统、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116962438A CN116962438A (zh) | 2023-10-27 |
CN116962438B true CN116962438B (zh) | 2024-01-23 |
Family
ID=88449668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311220016.9A Active CN116962438B (zh) | 2023-09-21 | 2023-09-21 | 一种梯度数据同步方法、系统、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116962438B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155929B (zh) * | 2023-10-31 | 2024-02-09 | 浪潮电子信息产业股份有限公司 | 分布式集群的通信方法、系统、电子设备及可读存储介质 |
CN118193221A (zh) * | 2024-04-07 | 2024-06-14 | 北京泛睿云图科技有限公司 | 基于移动芯片集群服务器的分布式训练方法、装置和设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7453824B1 (en) * | 2003-07-10 | 2008-11-18 | Sprint Communications Company L.P. | Method and system for identifying optimal mapping in a network |
WO2020172825A1 (zh) * | 2019-02-27 | 2020-09-03 | 华为技术有限公司 | 一种确定传输策略的方法及装置 |
CN112446484A (zh) * | 2019-08-31 | 2021-03-05 | 深圳致星科技有限公司 | 一种多任务训练集群智能网络系统及集群网络优化方法 |
CN113298222A (zh) * | 2020-02-21 | 2021-08-24 | 深圳致星科技有限公司 | 一种基于神经网络的参数更新方法、分布式训练平台系统 |
CN113515370A (zh) * | 2021-04-28 | 2021-10-19 | 之江实验室 | 一种面向大规模深度神经网络的分布式训练方法 |
WO2022083527A1 (zh) * | 2020-10-22 | 2022-04-28 | 北京灵汐科技有限公司 | 确定逻辑核布局的方法、模型训练方法、电子设备、介质 |
CN114884908A (zh) * | 2022-04-29 | 2022-08-09 | 浪潮电子信息产业股份有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN115328579A (zh) * | 2022-10-11 | 2022-11-11 | 山东海量信息技术研究院 | 神经网络训练的调度方法、系统及计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10728091B2 (en) * | 2018-04-04 | 2020-07-28 | EMC IP Holding Company LLC | Topology-aware provisioning of hardware accelerator resources in a distributed environment |
US11868880B2 (en) * | 2018-11-20 | 2024-01-09 | Microsoft Technology Licensing, Llc | Mitigating communication bottlenecks during parameter exchange in data-parallel DNN training |
WO2020160099A1 (en) * | 2019-01-29 | 2020-08-06 | Siemens Aktiengesellschaft | System for machine learning-based acceleration of a topology optimization process |
CN111930519B (zh) * | 2020-09-22 | 2020-12-15 | 北京一流科技有限公司 | 用于分布式数据处理的并行决策系统及其方法 |
-
2023
- 2023-09-21 CN CN202311220016.9A patent/CN116962438B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7453824B1 (en) * | 2003-07-10 | 2008-11-18 | Sprint Communications Company L.P. | Method and system for identifying optimal mapping in a network |
WO2020172825A1 (zh) * | 2019-02-27 | 2020-09-03 | 华为技术有限公司 | 一种确定传输策略的方法及装置 |
CN112446484A (zh) * | 2019-08-31 | 2021-03-05 | 深圳致星科技有限公司 | 一种多任务训练集群智能网络系统及集群网络优化方法 |
CN113298222A (zh) * | 2020-02-21 | 2021-08-24 | 深圳致星科技有限公司 | 一种基于神经网络的参数更新方法、分布式训练平台系统 |
WO2022083527A1 (zh) * | 2020-10-22 | 2022-04-28 | 北京灵汐科技有限公司 | 确定逻辑核布局的方法、模型训练方法、电子设备、介质 |
CN113515370A (zh) * | 2021-04-28 | 2021-10-19 | 之江实验室 | 一种面向大规模深度神经网络的分布式训练方法 |
CN114884908A (zh) * | 2022-04-29 | 2022-08-09 | 浪潮电子信息产业股份有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN115328579A (zh) * | 2022-10-11 | 2022-11-11 | 山东海量信息技术研究院 | 神经网络训练的调度方法、系统及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116962438A (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116962438B (zh) | 一种梯度数据同步方法、系统、电子设备及可读存储介质 | |
CN109408590B (zh) | 分布式数据库的扩容方法、装置、设备及存储介质 | |
CN105653689B (zh) | 一种用户传播影响力的确定方法和装置 | |
CN103229151A (zh) | 一种分区扩展方法及装置 | |
CN110362380A (zh) | 一种面向网络靶场的多目标优化虚拟机部署方法 | |
CN109871270B (zh) | 调度方案生成方法及装置 | |
CN112417036A (zh) | 分布式存储系统中处理对象的元数据的方法及装置 | |
CN116702885B (zh) | 同步数据并行训练控制方法、系统、装置、设备及介质 | |
CN111491382B (zh) | 卫星容量分配方法、装置和电子设备 | |
CN111563598A (zh) | 预估量子计算模拟时间的方法、系统 | |
CN111106960B (zh) | 一种虚拟网络的映射方法、映射装置及可读存储介质 | |
CN117785490B (zh) | 一种图神经网络模型的训练架构、方法、系统及服务器 | |
CN109510681B (zh) | 一种通信网络时间同步级数最小的基准节点选择方法 | |
CN113344074B (zh) | 模型训练方法、装置、设备及存储介质 | |
CN111160560A (zh) | 预估模拟量子计算所需资源的方法、系统 | |
CN108289115B (zh) | 一种信息处理方法及系统 | |
CN114020469A (zh) | 基于边缘节点的多任务学习方法、装置、介质与设备 | |
CN113992520B (zh) | 一种虚拟网络资源的部署方法和系统 | |
CN108965016B (zh) | 一种虚拟网络的映射方法及装置 | |
CN116737370A (zh) | 一种多资源调度方法、系统、存储介质及终端 | |
Zhou et al. | DRL-Based Workload Allocation for Distributed Coded Machine Learning | |
CN115879543A (zh) | 一种模型训练方法、装置、设备、介质及系统 | |
CN109543123A (zh) | 一种短网址生成方法、装置、系统、设备及可读存储介质 | |
CN116303418A (zh) | 基于物联网平台的海量规则处理方法、系统及存储介质 | |
CN114579311A (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 |