吴攀参与

腾讯AI Lab提出误差补偿式量化SGD:显著降低分布式机器学习的通信成本

在量子在分布式机器学习应用中,各个节点之间的通信效率往往会成为整体性能的关键制约因素,目前的常见解决方法是对节点之间的通信信息进行压缩,但这会引入量化误差。为了解决这一问题,腾讯 AI Lab 提出了一种误差补偿式量化随机梯度下降(ECQ-SGD)方法。该论文已被将于当地时间 7 月 10-15 日在瑞典斯德哥尔摩举办的 ICML 2018 接收,此次实验室共有 16 篇论文被收录。

在 ICML 2018 与 IJCAI 2018 大会期间(今年都在斯德哥尔摩),腾讯将举办 Tencent Academic and Industrial Conference (TAIC),诚邀全球顶尖 AI 学者、青年研究员与腾讯七大事业群专家团队探讨最前沿 AI 研究与应用。

由于数据近年来的爆炸式增长,很多不同领域都已经越来越关注大规模机器学习了,比如计算机视觉语音识别领域。在这些应用中,训练数据的量往往过于庞大,以至于难以通过单个计算节点实现有效的处理,所以分布式优化方法是这些应用中的一个核心构建模块。

数据并行化是一种常用的分布式学习框架,其中整个数据集会被分割和存储在一个集群中的多个节点上。每个节点都会计算各自的局部梯度并与其它节点交流梯度以更新模型参数。对于这样的学习系统,消耗的时间可大致归类为计算时间和通信时间。其中通信往往会成为性能的瓶颈,尤其是对于具有大量参数的大型集群和/或模型。

目前已有一些试图通过降低通信成本来提升分布式学习的效率的研究工作。某些方法关注的是将梯度量化为定点数(Zhou et al., 2016; Alistarh et al., 2017),这样需要传输的比特数就会少很多。还有一些研究探索过更为激进的量化方法,比如二元或三元表征(Seide et al., 2014; Strom, 2015; Wen et al., 2017)。还有方法是在通信过程中在梯度上施加稀疏性,这样每轮迭代中就仅有一小部分梯度在节点之间交换(Wangni et al., 2017; Lin et al., 2018)。

这些方法的基本思想基本都是将梯度压缩成某种特定的形式,让其中每一项都能使用远少于原来的 32 位浮点数的比特数表示。这样的压缩会在优化过程中引入额外的随机噪声,即量化误差,这会减缓收敛速度,甚至导致发散。1Bit-SGD(Seide et al., 2014)采用了误差反馈方案,即使用上一轮迭代的量化误差来补偿当前的局部梯度,之后再将其输入量化函数。尽管该方法的提出者表示这有助于改善收敛行为,但却没有给出理论分析来证明其有效性。

在本论文中,我们提出了误差补偿式量化随机梯度下降(ECQ-SGD)方法。我们的算法也使用了误差反馈方案,但我们会累积所有之前的量化误差,而不是像 1Bit-SGD 一样只使用上一轮迭代的量化误差。尽管实验评估表明这种修改能实现比很多基准方法更快更稳定的收敛,但为这种现象提供理论保证却并不简单。

Alistarh et al., 2017 已经证明,对于他们提出的 QSGD 算法,达到特定次优间隙(sub-optimality gap)所需的迭代数量正比于随机量化梯度的方差界限。但是,这不能解释我们的方法的收敛行为,因为我们的量化梯度是对原始梯度的有偏估计,这与 QSGD 的情况不同。实际上,由于使用的是累积的量化误差,我们的量化梯度的方差界限甚至比 QSGD 的还大。为了解决这一问题,我们从另一个角度给出了收敛性分析,并且证明了在合适的超参选择下,我们的算法比 QSGD 具有更紧致的最坏情况误差界限(worst-case error bound)。事实证明,我们提出的误差反馈方案可以很好地抑制量化误差对误差界限的贡献;正如我们在实验中观察到的那样,这能实现比 QSGD 更小的次优间隙。

算法 1:误差补偿式量化 SGD

在量化完成之后,总体通信成本会降至 32+dr 比特(r ≪ 32),远少于原来的 32 位全精度梯度所需的 32d 比特;其中 d 是原向量的维度;,其中 s 是非零量化级别的数量:s 越大,则量化越细粒度,通信成本也就越高。

图 2:损失函数值与当前迭代解到最优解距离的比较(左图:Syn-256;中图:Syn-512;右图:Syn-1024)。

图 3:在 Syn-20K 数据集上各阶段所消耗的时间以及测试损失(括号中)的比较。QSGD 和 ECQ-SGD 的数字后缀表示非零量化级别的数量 s。这里的总时间是 1000 次迭代所消耗的时间。

图 6:在 ILSVRC-12 数据集上训练 ResNet-50 模型时,使用不同数量的 GPU 的吞吐量比较。

论文:误差补偿式量化 SGD 及其在大规模分布式优化中的应用(Error Compensated Quantized SGD and its Applications to Large-scale Distributed Optimization)

论文地址:https://arxiv.org/abs/1806.08054

摘要:大规模分布式优化对很多不同应用而言都很重要。对于基于数据并行的分布式学习,节点之间的梯度通信往往会成为性能的瓶颈。我们在本论文中提出了可提升训练效率的误差补偿式量化随机梯度下降算法。该方法通过量化局部梯度来降低通信开销,并且使用累积的量化误差来加快收敛速度。此外,我们还提供了对其收敛行为的理论分析,并展示了其相对于其它竞争方法的优势。我们进行了大量实验,结果表明我们的算法在不降低表现水平的情况下能将梯度压缩高达两个数量级。

理论SGD腾讯AI LabICML 2018ICML论文
2
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

随机梯度下降技术

梯度下降(Gradient Descent)是遵循成本函数的梯度来最小化一个函数的过程。这个过程涉及到对成本形式以及其衍生形式的认知,使得我们可以从已知的给定点朝既定方向移动。比如向下朝最小值移动。 在机器学习中,我们可以利用随机梯度下降的方法来最小化训练模型中的误差,即每次迭代时完成一次评估和更新。 这种优化算法的工作原理是模型每看到一个训练实例,就对其作出预测,并重复迭代该过程到一定的次数。这个流程可以用于找出能导致训练数据最小误差的模型的系数。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

推荐文章
暂无评论
暂无评论~