昇腾社区首页
中文
注册

Gloo存档落盘优化

背景与挑战

在大规模集群下,Gloo通信存在规模限制和稳定性问题。一方面,容易出现Gloo通信组创建失败的情况;另一方面,与HCCL通信相比,Gloo通信较慢。

解决方案

基于以上考虑,设计了Gloo通信优化方案。
  • 采用HCCL通信组替换Gloo通信组,实现在原有功能基础上的替代。
  • 采用切片方式减少单次通信的数据量,避免通信量过大导致的显存消耗。

使用场景

当Gloo通信频繁出现建链失败时,模型启动效率较低,此时需要通过替换Gloo通信组来提升效率。

使用方法

  • 在训练脚本中加入如下参数以启用该特性。
     --disable-gloo-group
  • (可选)在脚本中定义如下参数,设置DP组保存和加载分布式优化器状态时的通信量大小。
     --hccl-slice-size  N

    该参数的有效区间为 (0, bucket_size/dp],其中bucket_size为分布式优化器中每个桶的大小。建议在显存允许的情况下,尽量增大该参数,以提高通信效率。

使用效果

建链失败率降低,稳定性增加。开启该特性后,分布式优化器状态保存和加载的通信效率在一定范围内得到提升,且显存也将增加。显存的增加量为 hccl_slice_size * (2 * dp + 1) * 4B。