一种梯度数据同步方法、系统、电子设备及可读存储介质技术方案

技术编号:39243408 阅读:14 留言:0更新日期:2023-10-30 11:55
本发明专利技术公开了一种梯度数据同步方法、系统、电子设备及可读存储介质,涉及分布式集群领域,为解决特定逻辑拓扑的方案无法在随机网络中取得好的数据同步性能的问题,该方法包括:获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;将物理拓扑关系中的各物理拓扑节点一一映射到逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系;计算当前数据同步算法基于每一映射拓扑关系进行梯度数据同步时的通信开销,将通信开销最小的映射拓扑关系确定为最优映射拓扑关系;基于最优映射拓扑关系和当前数据同步算法进行梯度数据同步。本发明专利技术能够提高任意一种随机网络中的梯度数据同步通信的效率,提高网络带宽利用率。络带宽利用率。络带宽利用率。

【技术实现步骤摘要】
一种梯度数据同步方法、系统、电子设备及可读存储介质


[0001]本专利技术涉及分布式集群领域,特别涉及一种梯度数据同步方法、系统、电子设备及可读存储介质。

技术介绍

[0002]随着深度神经网络的模型尺寸越来越大,分布式模型训练应运而生。目前的分布式模型训练方案有数据并行和模型并行两种,其中最常用且应用最广泛的是数据并行方案。数据并行又分为同步数据并行和异步数据并行两种,同步数据并行,即在所有加速设备计算完批数据梯度后,进行梯度数据同步(即统一将多个梯度聚合在一起或求均值),然后利用同步后的梯度数据更新共享模型参数,这种方案可以减少用于计算梯度的权重的陈旧性,使模型最终能够达到较高的收敛精度,因此获得了广泛的应用。
[0003]现有的梯度数据同步方案大都是用户针对分布式训练集群,根据经验选择一种逻辑拓扑对已有的数据同步算法进行优化改进,如基于环形(ring)拓扑的梯度数据同步方法、基于树(tree)拓扑的梯度数据同步方法等。但是随着训练规模的扩大,可用的训练环境变得越来越多样化,因此,分布式系统的物理拓扑可能是任意一种随机网络拓扑,而传统的基于特定逻辑拓扑的方案并不能在任意一种给定的随机网络中都取得好的数据同步性能,导致梯度数据同步效率低,无法充分利用网络带宽。
[0004]因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。

技术实现思路

[0005]本专利技术的目的是提供一种梯度数据同步方法、系统、电子设备及可读存储介质,提高任意一种随机网络中的梯度数据同步通信的效率,提高网络带宽利用率。
[0006]为解决上述技术问题,本专利技术提供了一种梯度数据同步方法,包括:获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系;计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系;基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步。
[0007]在一示例性实施例中,获取当前数据同步算法对应的逻辑拓扑关系的过程包括:获取所述分布式训练集群的集群参数;所述集群参数包括节点数量;基于所述节点数量和当前数据同步算法生成逻辑拓扑关系。
[0008]在一示例性实施例中,当前数据同步算法为基于环形的全局规约算法、基于树的全局规约算法、减半加倍算法中的一个;基于所述节点数量和当前数据同步算法生成逻辑拓扑关系的过程包括:
若当前数据同步算法为基于环形的全局规约算法,生成包括N个节点的环状逻辑拓扑关系,N为所述节点数量;和/或,若当前数据同步算法为基于树的全局规约算法,生成包括N个节点的树状逻辑拓扑关系,N为所述节点数量;和/或,若当前数据同步算法为减半加倍算法,生成包括N个节点的随机序列作为逻辑拓扑关系。
[0009]在一示例性实施例中,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:对所述物理拓扑关系中的各物理拓扑节点进行编号及排列组合,得到多个节点组合方式;按各所述节点组合方式,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系。
[0010]在一示例性实施例中,计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系的过程包括:获取第一映射拓扑关系,计算当前数据同步算法基于所述第一映射拓扑关系进行梯度数据同步时的第一通信开销,将所述第一通信开销赋值给当前最小通信开销;所述第一映射拓扑关系为任一个所述映射拓扑关系;获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销;当前第二映射拓扑关系为未完成通信开销计算的任一个所述映射拓扑关系;若所述第二通信开销小于当前最小通信开销,将所述第二通信开销赋值给当前最小通信开销;判断所有所述映射拓扑关系是否均完成通信开销计算;若否,重复所述获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销的操作;若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
[0011]在一示例性实施例中,所述获取第一映射拓扑关系,计算当前数据同步算法基于所述第一映射拓扑关系进行梯度数据同步时的第一通信开销,将所述第一通信开销赋值给当前最小通信开销的同时,所述梯度数据同步方法还包括:令计数器的当前计数值加1,所述计数器的初始计数值为0;将所述第二通信开销赋值给当前最小通信开销的同时,所述梯度数据同步方法还包括:令计数器的当前计数值加1;判断所有所述映射拓扑关系是否均完成通信开销计算的过程包括:判断所述计数器的当前计数值是否大于映射拓扑关系的总数;若是,判定所有所述映射拓扑关系均完成通信开销计算;
若否,判定存在未完成通信开销计算的映射拓扑关系。
[0012]在一示例性实施例中,按各所述节点组合方式,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系之后,所述梯度数据同步方法还包括:将所有所述映射拓扑关系存储到内存中;所述获取第一映射拓扑关系的过程包括:从所述内存中获取第一映射拓扑关系;所述获取当前第二映射拓扑关系的过程包括:从所述内存中获取当前第二映射拓扑关系。
[0013]在一示例性实施例中,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将所述初始映射拓扑关系作为参考映射拓扑关系;确定至少两个待交换节点,交换两个所述待交换节点在所述参考映射拓扑关系中的位置,得到目标映射拓扑关系;若所述目标映射拓扑关系满足更新条件,将所述目标映射拓扑关系作为所述参考映射拓扑关系,重复所述确定至少两个待交换节点,交换两个所述待交换节点在所述参考映射拓扑关系中的位置,得到目标映射拓扑关系的操作。
[0014]在一示例性实施例中,所述计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系的过程包括:计算当前数据同步算法基于所述参考映射拓扑关系进行梯度数据同步时的第一通信开销;计算当前数据同步算法基于目标映射拓扑关系进行梯度数据同步时的第二通信开销;将所述第一通信开销和所述第二通信开销中的较小值作为当前最小通信开销;判断是否完成预设数量的映射拓扑关系的通信开销计算;若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。
[0015]在一示例性实施例中,所述更新条件为所述第二通信开销小于所述第一通信开销。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种梯度数据同步方法,其特征在于,包括:获取分布式训练集群的物理拓扑关系及当前数据同步算法对应的逻辑拓扑关系;将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系;计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系;基于所述最优映射拓扑关系和当前数据同步算法进行梯度数据同步。2.根据权利要求1所述的梯度数据同步方法,其特征在于,获取当前数据同步算法对应的逻辑拓扑关系的过程包括:获取所述分布式训练集群的集群参数;所述集群参数包括节点数量;基于所述节点数量和当前数据同步算法生成逻辑拓扑关系。3.根据权利要求2所述的梯度数据同步方法,其特征在于,当前数据同步算法为基于环形的全局规约算法、基于树的全局规约算法、减半加倍算法中的一个;基于所述节点数量和当前数据同步算法生成逻辑拓扑关系的过程包括:若当前数据同步算法为基于环形的全局规约算法,生成包括N个节点的环状逻辑拓扑关系,N为所述节点数量;和/或,若当前数据同步算法为基于树的全局规约算法,生成包括N个节点的树状逻辑拓扑关系,N为所述节点数量;和/或,若当前数据同步算法为减半加倍算法,生成包括N个节点的随机序列作为逻辑拓扑关系。4.根据权利要求1所述的梯度数据同步方法,其特征在于,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:对所述物理拓扑关系中的各物理拓扑节点进行编号及排列组合,得到多个节点组合方式;按各所述节点组合方式,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系。5.根据权利要求4所述的梯度数据同步方法,其特征在于,计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系的过程包括:获取第一映射拓扑关系,计算当前数据同步算法基于所述第一映射拓扑关系进行梯度数据同步时的第一通信开销,将所述第一通信开销赋值给当前最小通信开销;所述第一映射拓扑关系为任一个所述映射拓扑关系;获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销;当前第二映射拓扑关系为未完成通信开销计算的任一个所述映射拓扑关系;若所述第二通信开销小于当前最小通信开销,将所述第二通信开销赋值给当前最小通
信开销;判断所有所述映射拓扑关系是否均完成通信开销计算;若否,重复所述获取当前第二映射拓扑关系,计算当前数据同步算法基于当前第二映射拓扑关系进行梯度数据同步时的第二通信开销的操作;若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。6.根据权利要求5所述的梯度数据同步方法,其特征在于,所述获取第一映射拓扑关系,计算当前数据同步算法基于所述第一映射拓扑关系进行梯度数据同步时的第一通信开销,将所述第一通信开销赋值给当前最小通信开销的同时,所述梯度数据同步方法还包括:令计数器的当前计数值加1,所述计数器的初始计数值为0;将所述第二通信开销赋值给当前最小通信开销的同时,所述梯度数据同步方法还包括:令计数器的当前计数值加1;判断所有所述映射拓扑关系是否均完成通信开销计算的过程包括:判断所述计数器的当前计数值是否大于映射拓扑关系的总数;若是,判定所有所述映射拓扑关系均完成通信开销计算;若否,判定存在未完成通信开销计算的映射拓扑关系。7.根据权利要求5所述的梯度数据同步方法,其特征在于,按各所述节点组合方式,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到多个映射拓扑关系之后,所述梯度数据同步方法还包括:将所有所述映射拓扑关系存储到内存中;所述获取第一映射拓扑关系的过程包括:从所述内存中获取第一映射拓扑关系;所述获取当前第二映射拓扑关系的过程包括:从所述内存中获取当前第二映射拓扑关系。8.根据权利要求1所述的梯度数据同步方法,其特征在于,将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到至少一个映射拓扑关系的过程包括:将所述物理拓扑关系中的各物理拓扑节点一一映射到所述逻辑拓扑关系中的各逻辑拓扑节点,得到初始映射拓扑关系,将所述初始映射拓扑关系作为参考映射拓扑关系;确定至少两个待交换节点,交换两个所述待交换节点在所述参考映射拓扑关系中的位置,得到目标映射拓扑关系;若所述目标映射拓扑关系满足更新条件,将所述目标映射拓扑关系作为所述参考映射拓扑关系,重复所述确定至少两个待交换节点,交换两个所述待交换节点在所述参考映射拓扑关系中的位置,得到目标映射拓扑关系的操作。9.根据权利要求8所述的梯度数据同步方法,其特征在于,所述计算当前数据同步算法基于每一所述映射拓扑关系进行梯度数据同步时的通信开销,将所述通信开销最小的所述映射拓扑关系确定为最优映射拓扑关系的过程包括:计算当前数据同步算法基于所述参考映射拓扑关系进行梯度数据同步时的第一通信开销;
计算当前数据同步算法基于目标映射拓扑关系进行梯度数据同步时的第二通信开销;将所述第一通信开销和所述第二通信开销中的较小值作为当前最小通信开销;判断是否完成预设数量的映射拓扑关系的通信开销计算;若是,将当前最小通信开销对应的映射拓扑关系确定为最优映射拓扑关系。10.根据权利要求9所述的梯度数据同步方法,其特征在于,所述更新条件为所述第二通信开销小于所述第一通信开销。11.根据权利要求9所述的梯度数据同步方法,其特征在于,将所述第一通信开销和所述第二通信开销中的较小值作为当前最小通信开销的同时,所述梯度数据同步方法还包括:令计数器的当前计数值加1,所述计数器的初始计数值为0;判断是否完成预设数量的映射拓扑关系的通信开销计算的过程包括:判断所述计数器的当前计数值是否大于最大比较次数;若是,判定完成预设数量的映射拓扑关系的通信开销计算;若否,判定未完成所述预设数量的映射拓扑关系的通信开销计算。...

【专利技术属性】
技术研发人员:郭振华曹芳王丽唐轶男高开
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1