学位论文简介
深度学习强大的自动表征能力使得计算机视觉、社交网络、自然语言处理等领域取得实质性突破。数据、模型和算力是促进深度学习技术发展的三大核心因素。目前数据集和模型规模呈指数级增长,硬件算力的发展速度相形见绌。为了弥补算力供不应求的问题,堆叠多个硬件加速器并行计算是支撑大规模深度学习模型训练的必要手段。在此环境下,现有技术并行模式单一、计算资源利用率不足、存储需求过高且不具有灵活性。本文以大规模深度学习模型训练为研究对象,探索分布式模型分区、通信压缩以及内存优化技术,主要创新点如下:
(1)面向大规模深度学习模型的混合并行训练策略。分布式训练是支撑大规模深度学习模型的核心技术之一,现有的数据并行和模型并行方法通常面临通信或内存瓶颈而无法满足训练需求,而层间流水线并行由于负载不均衡难以实现较高的计算资源利用率。为此,通过分析模型训练时的不同并行模式下的计算与通信开销以及通信时机,建立成本模型,并基于动态规划算法搜索高效的混合并行分区以及对应的计算设备分配方案。在多个基准深度学习模型和不同的分布式环境上与目前先进的层内并行和层间并行方法对比,实验结果验证了所提算法的有效性与灵活性。
(2)面向大规模Transformer模型的层内并行优化策略。Transformer模型参数众多且结构单一的特点使得层内模型并行成为其分布式训练的首选并行模式。目前的层内模型并行技术未能充分挖掘计算与通信操作细粒度的并行性,且未利用通信数据的分布特征,从而面临显著的通信开销。为此,在层内模型并行基础之上引入细粒度的流水行执行策略,并设计动态规划算法搜索最优的操作分区,以最大化计算与通信重叠。随后,探索了一种混合通信压缩机制,其结合Token级的Top-k稀疏化和分段量化方法最小化通信数据量。最后,在多种不同Transformer模型配置下与基准层内模型并行方法进行对比,在维持相当的模型准确性和收敛性的条件下所提算法显著提升了训练性能。
(3)面向大规模深度学习模型的异构训练策略。GPU内存容量是限制大规模深度学习模型持续扩展的关键因素之一。目前大规模深度学习模型训练过程中主要内存消耗从激活张量转移到了参数张量,现有针对模型参数的GPU内存卸载方法仍维持较高的GPU内存需求,或采用过于激进的卸载方式导致显著的数据传输开销。为此,首先引入参数分桶机制最大化PCIe带宽利用率。其次,考虑GPU计算与内存拷贝的异步执行,设计贪心算法确定卸载参数对象以及卸载与预取时机,并通过重建模型计算图以使卸载策略在运行时生效。基于已确定的卸载策略,提出了参数预分配算法,使得训练过程中不会共存的参数复用同一块GPU内存空间,解决了内存碎片化问题。最后,在多种不同规模的Bert和GPT模型上验证了所提算法的灵活性与有效性。
主要学术成果
[1] Zihao Zeng, Chubo Liu, Zhuo Tang, Wanli Chang, Kenli Li. Training Acceleration for Deep Neural Networks: A Hybrid Parallelization Strategy. The 58th ACM Design Automation Conference (DAC)(在线发表,第一作者,CCF A 类会议)
[2] Zihao Zeng, Chubo Liu, Zhuo Tang, Kenli Li, Keqin Li. AccTFM: An Effective Intra-Layer Model Parallelization Strategy for Training Large-Scale Transformer-Based Models. IEEE Transactions on Parallel and Distributed Systems (TPDS)(在线发表,第一作者,CCF A 类期刊)