基于MXNet和Horovod的分布式深度神经网络训练通信分析与优化
作者单位:国防科技大学
学位级别:硕士
导师姓名:廖湘科;董德尊
授予年度:2021年
学科分类:12[管理学] 1201[管理学-管理科学与工程(可授管理学、工学学位)] 081104[工学-模式识别与智能系统] 08[工学] 0835[工学-软件工程] 0811[工学-控制科学与工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:分布式深度学习 通信测量工具 通信优化 Horovod MXNet
摘 要:分布式深度神经网络训练已被广泛部署在大规模计算集群上,训练过程中梯度和参数的密集通信和同步代价正成为分布式深度学习训练的性能瓶颈。有效地测量通信过程,理解训练整体流程对于发现和优化此类通信瓶颈至关重要,然而,现有的许多通信测量工具和通信优化方法仍然存在严重的局限性。本文在分布式深度学习通信优化领域进行了两项研究。一、优化深度学习框架MXNet中的通信测量工具。二、解决流行通信框架Horovod使用TCP协议时的通信瓶颈。首先,本文首次尝试在深度学习框架MXNet中提出一种开源的、细粒度的、用户友好的通信测量工具v Sketch DLC。现有的许多通信测量工具,如MXNet profiler,不能同时满足三个要求,即细粒度地测量低层次的通信操作,占用尽量少的计算资源,和提供便于用户分析的综合测量结果,因此用户难以快速发现通信瓶颈。v Sketch DLC可以追踪深度学习框架和通信库接口之间的低层通信事件,捕获设备间的端到端通信。它支持以标准格式生成通信记录,因此用户只需使用Chrome Trace Viewer等标准可视化工具即可分析通信记录。此外,v Sketch DLC还能够使测量行为不影响训练性能。我们进行了大量实验以验证v Sketch DLC对MXNet的有效性。实验结果表明,v Sketch DLC使用户可以通过友好的交互分析通信记录,观察不同通信之间的关系,从时间、迭代、DNN层等多个角度识别潜在的训练瓶颈,以寻求提高训练性能的途径。其次,本文从分布式训练的整体角度出发对现有公有云上Horovod框架中的通信瓶颈进行优化。在公有云GPU集群上进行分布式深度学习训练是最受推荐的做法之一,现有的公有云GPU数据中心,如Amazon EC2和Alibaba GPU云,通常配备商品高速以太网和TCP网络。然而,在这种配置的公有云上,当前最流行的分布式通信框架之一Horovod难以取得与集群配置相匹配的性能。这与Horovod难以很好地利用CPU资源来缓解TCP协议栈开销有关,此时只对上层算法进行优化或提升网络性能都无法解决通信瓶颈。本文首次尝试改进Horovod的消息传递接口,解决在基于TCP的公有云GPU集群中部署Horovod时计算和通信能力不匹配的问题。我们提出了Fast Horovod,利用更多低成本的辅助CPU通信进程并行传输消息来加快通信速度,提升对高成本GPU资源和网络带宽资源的利用率,实现具有成本效益的分布式训练。实验结果表明,Fast Horovod可以在配备TCP的公有云集群上明显加速分布式训练中的通信,其分别使训练Alex Net和VGG16模型的速度提高了64.5%和72.6%。