计算机工程与科学 ›› 2022, Vol. 44 ›› Issue (07): 1191-1198.
王笑雨,董德尊
WANG Xiao-yu,DONG De-zun
摘要: 聚合通信操作在分布式训练中应用广泛,特别是AllReduce操作被用于同步每个节点上模型的参数。为了获得更高的精度,数据集和神经网络模型的规模越来越大,节点间的通信开销在训练过程中占比很大且已成为训练加速的瓶颈。目前已有许多针对这一场景下聚合操作的优化工作,但都聚焦于操作的合理使用而不是其本身,例如通信调度和梯度量化。事实上,聚合操作与分布式训练应用之间存在许多不相匹配的地方,比如后者不要求所有节点同时同步梯度,而前者却需要。这使得针对分布式训练中聚合通信的研究是有必要的。然而发现目前分布式训练中的通信框架结构复杂、代码量大,对开展相关工作来说是不合适的。为了解决这一问题,设计并实现了一个轻量级的聚合通信库,以方便分析和改进分布式训练中的聚合操作。它支持主流框架和网络,并且架构简洁。这便于研究人员实现自定义通信操作,并能应用到主流的实验环境中以产生较广的影响。在多种情况下分别通过纯聚合操作和分布式深度学习应用来评估所设计的聚合通信库。实验结果显示,该库可以实现与MPI相近的性能,可以作为分析和研究分布式训练中梯度同步的聚合通信库。