论文部分内容阅读
近年来,为了提升模型性能,深度学习模型的规模和训练数据集不断地增大。然而,基于大规模数据的模型训练面临着收敛缓慢、计算耗时的问题,这对优化算法和硬件计算能力提出了巨大的挑战。并行分布式训练是从硬件计算的角度出发,利用多核/众核处理器、集群或云的计算能力,加速模型训练,减少优化算法的计算时间。高效的并行分布式训练是模型特征与硬件计算结构的协同设计。对于单计算卡上的并行训练,主流的并行算法以矩阵计算为核心,其并行性能依赖于所调用的矩阵计算库。对于多图形处理器(Graphic Processing Uint,GPU)上的分布式训练,同步数据并行算法虽然收敛性能好,但它的分布式加速比受模型结构和计算特征的影响,亟待优化和提升。围绕上述问题,从以下三个方面开展研究。
从并行训练的硬件体系结构方面考虑,探索集成众核架构(Many-core Integrated Core,MIC)协处理器对深度学习模型的并行加速能力。考虑到MIC卡具有线程级和单指令多数据流的并行特征,提出了基于小批量(mini-batch)和神经元的两级并行算法,加速无监督深度自编码器模型的训练。为优化并行算法性能,设计计算与传输覆盖策略隐藏CPU与MIC间的数据传输,采用梯度重计算策略减少内存开销,利用原子操作减少线程同步开销。实验结果表明,与基于矩阵计算的并行方法相比,基于小批量和神经元的并行算法加速比稳定,与单核CPU训练相比,取得了4.5倍的加速比。
从分布式训练的网络通信开销方面考虑,通过对单机多GPU环境中,不同结构的深度学习模型采用同步数据并行分布式训练时加速比的观察,全连接神经网络的梯度交换面临着严重的网络开销问题,极大降低了分布式训练的性能。基于这一观察,提出基于模型平均的分布式训练框架,各子模型以较低的频率同步,从而减少网络开销。该框架实现了四种模型平均算法,支持随机采样和置乱切分的数据划分方法,通过多个流实现多GPU的并行,设计数据流和计算流策略来实现数据传输与计算的覆盖。基于多GPU的拓扑结构,设计树规约的参数交换机制。实验结果表明,与单GPU并行训练相比,基于模型平均的并行算法在两块GPU上取得了1.6倍的加速比。与同步数据并行相比,它取得了17倍的加速比。
从分布式训练算法设计方面考虑,研究基于复合深度学习模型的并行算法。推荐系统是复合深度学习模型的典型应用场景,以手游中商品推荐为例,构建基于长短记忆网络、自编码器和注意力网络的复合推荐框架,以满足该场景对用户兴趣和推荐结果可解释性的需求。其中,长短记忆网络用于建模用户的即时兴趣,自编码器用于特征向量的编码,注意力网络为推荐结果的可解释性提供指导。为加速模型训练,考虑到各子模型的计算特征,提出基于层划分的模型并行算法。与单GPU训练相比,在四块GPU上训练取得了2.6倍的加速比。
综上所述,围绕着深度学习的并行分布式训练机制,分别从面向深度自编码器的并行训练、面向全连接深度学习模型的分布式训练和面向复合深度学习模型的分布式训练开展研究,设计并行分布式算法和框架,充分发挥硬件的计算能力,加速深度学习模型的训练。
从并行训练的硬件体系结构方面考虑,探索集成众核架构(Many-core Integrated Core,MIC)协处理器对深度学习模型的并行加速能力。考虑到MIC卡具有线程级和单指令多数据流的并行特征,提出了基于小批量(mini-batch)和神经元的两级并行算法,加速无监督深度自编码器模型的训练。为优化并行算法性能,设计计算与传输覆盖策略隐藏CPU与MIC间的数据传输,采用梯度重计算策略减少内存开销,利用原子操作减少线程同步开销。实验结果表明,与基于矩阵计算的并行方法相比,基于小批量和神经元的并行算法加速比稳定,与单核CPU训练相比,取得了4.5倍的加速比。
从分布式训练的网络通信开销方面考虑,通过对单机多GPU环境中,不同结构的深度学习模型采用同步数据并行分布式训练时加速比的观察,全连接神经网络的梯度交换面临着严重的网络开销问题,极大降低了分布式训练的性能。基于这一观察,提出基于模型平均的分布式训练框架,各子模型以较低的频率同步,从而减少网络开销。该框架实现了四种模型平均算法,支持随机采样和置乱切分的数据划分方法,通过多个流实现多GPU的并行,设计数据流和计算流策略来实现数据传输与计算的覆盖。基于多GPU的拓扑结构,设计树规约的参数交换机制。实验结果表明,与单GPU并行训练相比,基于模型平均的并行算法在两块GPU上取得了1.6倍的加速比。与同步数据并行相比,它取得了17倍的加速比。
从分布式训练算法设计方面考虑,研究基于复合深度学习模型的并行算法。推荐系统是复合深度学习模型的典型应用场景,以手游中商品推荐为例,构建基于长短记忆网络、自编码器和注意力网络的复合推荐框架,以满足该场景对用户兴趣和推荐结果可解释性的需求。其中,长短记忆网络用于建模用户的即时兴趣,自编码器用于特征向量的编码,注意力网络为推荐结果的可解释性提供指导。为加速模型训练,考虑到各子模型的计算特征,提出基于层划分的模型并行算法。与单GPU训练相比,在四块GPU上训练取得了2.6倍的加速比。
综上所述,围绕着深度学习的并行分布式训练机制,分别从面向深度自编码器的并行训练、面向全连接深度学习模型的分布式训练和面向复合深度学习模型的分布式训练开展研究,设计并行分布式算法和框架,充分发挥硬件的计算能力,加速深度学习模型的训练。