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。
父主题: 差异化能力支持