Hop: Heterogeneity-aware Decentralized Training

Posted lucifer1997

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hop: Heterogeneity-aware Decentralized Training相关的知识,希望对你有一定的参考价值。

郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文。

ASPLOS 2019

技术图片

 

Abstract

  最近的研究表明,在机器学习的背景下,去中心化的算法比集中式的算法能提供更好的性能。这两种方法的主要区别在于它们不同的通信模式,它们都容易在异构环境中性能下降。尽管人们一直致力于支持集中式算法来对抗异构性,但在去中心化算法中很少有人涉及到这个问题。

  本文提出了第一个考虑异构的去中心化训练协议Hop。基于我们所发现的去中心化训练的一个独特特性,即迭代间隔,我们提出了一种基于队列的同步机制,该机制可以有效地实现去中心化训练中的备份workers和有界失效。为了应对确定性的减速,我们提出跳过迭代,以便进一步减轻较慢的workers的影响。我们构建了一个基于TENSORFLOW的Hop原型实现。在CNN和SVM上的实验结果表明,在异构环境下,该方法比标准的去中国化训练有明显的加速效果。

 

1. Introduction

  机器学习(ML)已被证明是从数据中自动提取信息的有效方法。在语音识别[13]、图像分类[27]、自然语言处理[7]等多个领域,机器学习都取得了巨大的成功。获得有用的ML模型需要长时间的大数据集训练。随着模型和数据量的不断增加,分布式训练是目前解决多计算节点加速问题的有效方法。

  分布式训练中最常用的算法是随机梯度下降(SGD)。它是一种迭代算法,在每次迭代中计算一小部分数据上的梯度,并相应地修改模型参数,直到收敛。在分布式环境下存在两种方法来执行SGD算法-集中式和去中心化式。

  在集中式方法中,名为参数服务器(PS)的中心节点负责维护参数,而名为worker的其他机器负责计算。目前可用的协议主要有块同步并行(Bulk Synchronous Parallel, BSP)[8,29,32]、陈旧同步并行(Stale Synchronous Parallel, SSP)[14,25,30]和异步协同[5,9,23]。在去中心化方法中,每台机器根据指定的通信图维护自己版本的参数和坐标,该通信图可以是密集的,如所有Reduce[2,6,31]或稀疏的[17,20,21,28]。

以上是关于Hop: Heterogeneity-aware Decentralized Training的主要内容,如果未能解决你的问题,请参考以下文章

HTTP请求转发那些事:你可能不知道的Hop-by-hop Headers和End-to-end Headers

CentOS6.5升级GCC4.8

Kettle手册(六)- Hop小记

BGP-20190320-next-hop-self

Euclidean, Manhattan, hop-count distance 区别

scss 模块mixin - ukázkamodulovéhopřístupu