论文部分内容阅读
深度神经网络的训练任务通常具备计算和存储密集的特性,往往需要依赖于 GPU集群中大量 GPU 计算以及显存资源,并通过分布式训练以提升训练效率。传统分布式训练中数据并行的方式因参数同步存在巨大通信开销,而模型并行则由于计算依赖性导致 GPU 利用率较低,均影响了分布式训练的效率。为此,最新的流水线分布式训练在模型并行基础上,通过分时注入训练数据的方式显著增加 GPU 利用率。然而,在现有的GPU集群中执行流水线分布式训练时,一方面,GPU之间网络带宽异构使得流水线模式下执行模型划分与任务放置存在较大难点,另一方面,GPU显存资源短缺给流水线模式下训练较大的深度神经网络造成了极大的限制。
针对上述问题,本硕士论文主要围绕 GPU 集群环境下基于流水线的分布式深度学习开展训练优化,对如何进一步提高训练效率和提升支持训练模型的大小进行研究,以实现在GPU集群中更快地分布式训练更大的深度学习模型。具体内容包括:
首先,针对GPU集群中GPU之间异构的网络难以实现流水线模式下负载均衡的模型划分与任务放置,研究异构网络感知的模型划分与任务放置机制。基于网络异构的GPU集群环境以及流水线分布式并行执行的特点,实现流水线模式下GPU之间负载均衡的模型划分与任务放置机制,以减少 GPU 资源空闲,提升流水线训练整体吞吐率,最小化模型训练时间。
其次,针对在流水线模式下由于缓存多个版本的中间结果及模型参数造成的 GPU显存不足,研究开销平衡驱动的显存重计算优化机制。根据对流水线模式下显存占用数据分析,设计出流水线各阶段开销平衡的显存重计算机制,以支持大神经网络模型的流水线分布式执行,同时最大程度地保障流水线吞吐率受到重计算开销影响最小。
最后,设计并实现 GPU 集群环境下基于流水线的分布式深度学习训练优化系统。本文基于东南大学云计算平台中真实的GPU集群环境,将理论研究成果与实践相结合,设计并实现了原型系统,并进行了部署和实验。实验结果表明,本文所提出的 GPU 集群环境下基于流水线的分布式深度学习训练优化机制不仅能提升分布式训练效率,同时能保证超大神经网络执行流水线分布式训练,实现了高加速比、低显存利用率的分布式训练。
针对上述问题,本硕士论文主要围绕 GPU 集群环境下基于流水线的分布式深度学习开展训练优化,对如何进一步提高训练效率和提升支持训练模型的大小进行研究,以实现在GPU集群中更快地分布式训练更大的深度学习模型。具体内容包括:
首先,针对GPU集群中GPU之间异构的网络难以实现流水线模式下负载均衡的模型划分与任务放置,研究异构网络感知的模型划分与任务放置机制。基于网络异构的GPU集群环境以及流水线分布式并行执行的特点,实现流水线模式下GPU之间负载均衡的模型划分与任务放置机制,以减少 GPU 资源空闲,提升流水线训练整体吞吐率,最小化模型训练时间。
其次,针对在流水线模式下由于缓存多个版本的中间结果及模型参数造成的 GPU显存不足,研究开销平衡驱动的显存重计算优化机制。根据对流水线模式下显存占用数据分析,设计出流水线各阶段开销平衡的显存重计算机制,以支持大神经网络模型的流水线分布式执行,同时最大程度地保障流水线吞吐率受到重计算开销影响最小。
最后,设计并实现 GPU 集群环境下基于流水线的分布式深度学习训练优化系统。本文基于东南大学云计算平台中真实的GPU集群环境,将理论研究成果与实践相结合,设计并实现了原型系统,并进行了部署和实验。实验结果表明,本文所提出的 GPU 集群环境下基于流水线的分布式深度学习训练优化机制不仅能提升分布式训练效率,同时能保证超大神经网络执行流水线分布式训练,实现了高加速比、低显存利用率的分布式训练。