论文部分内容阅读
近年来,以机器学习为代表的人工智能技术已被成功地应用到计算机视觉、语音处理、自然语言处理等多个领域。同时,随着应用场景的日益复杂,人们往往需要使用海量的训练数据与大规模的机器学习模型来达成目标。在大规模机器学习任务中,仅使用单台机器进行模型训练已经很难满足人们的需求,使用多台机器联合工作的分布式机器学习技术已成为解决该类任务的主流方案。多数机器学习任务的训练过程中,每一轮迭代都需要所有训练样本参与训练。对于拥有大量训练样本的任务,一轮迭代就需要消耗大量时间。除此之外,多台机器在分布式训练过程中不可避免的需要进行通信来交换信息,这会带来额外的通信开销。所以在分布式训练中,计算开销和通信开销都会对训练的速度产生影响。我们在前期的研究中提出了自适应采样算法ADASS,能够降低训练过程中的计算开销。本文将ADASS算法引入分布式机器学习,设计了结合自适应采样的分布式机器学习算法ADASS-DML。同时,本文还设计了用于减小ADASS-DML通信开销的算法,为分布式机器学习提供了一套计算和通信同时高效的解决方案。具体来说,本文包括以下三个创新点:一、本文将自适应采样应用到分布式机器学习中,在当前常用的通信框架(包括参数服务器框架和Ring All Reduce框架)下设计并实现了结合自适应采样的分布式机器学习算法ADASS-DML。该算法能根据实时的训练情况,自适应地挑选部分重要的训练样本去参与下一轮迭代,从而在不牺牲模型准确率的情况下加速分布式机器学习的训练过程。本文通过在真实数据集上的实验验证了ADASS-DML算法的有效性,并比较了两种通信框架下ADASS-DML算法的训练速度。随后发现即使在训练速度较快的Ring All Reduce框架下,通信开销仍是影响分布式训练效率的瓶颈之一,为此本文又设计了以下两种通信压缩算法来解决这一问题。二、在Ring All Reduce框架中,工作节点之间通信的梯度通常是32比特的浮点数。目前在其他通信框架上已有一些量化算法能将通信的张量用更低的比特表示以降低通信开销,但这些算法不能直接应用于Ring All Reduce框架。因此,本文在Ring All Reduce框架下设计并实现了结合自适应采样的量化算法Q-ADASS。在真实数据集上的实验表明,Q-ADASS算法能在进行自适应采样的同时使用低比特表示通信的张量,并且不对最终模型的准确率产生影响。三、量化算法带来的通信压缩效果还不能完全解决ADASS-DML算法中的通信开销问题。本文针对Ring All Reduce框架的特点设计并实现了一种结合自适应采样的随机稀疏算法RS-ADASS。该算法在每次模型同步时不需要通信完整的梯度,只需要通信梯度的少部分维度。在真实数据集上的实验表明,该算法能进一步减少训练的通信开销,且不会降低最终模型的准确率。