壁钟收敛时间和通信负载是参数服务器设置中随机梯度下降(SGD)的分布式实现的关键性能度量。通信 - 自适应分布式ADAM(CADA)已被提议通过自适应选择减少沟通负荷的方式。 CADA在存在陷阱器的壁时钟收敛时间方面进行性能退化。本文提出了一种名为基于分组的CADA(G-CADA)的小说方案,该方案保留了CADA的优势在减少通信负荷时,同时提高了工人额外储存成本的稳健性。 G-CADA将工人分配到分配相同数据分片的工人组。组在每次迭代时自适应地安排组,并且服务器仅等待每个所选组中最快的工作者。我们提供分析和实验结果,以便在其他基准方案中详细说明G-CADA的壁钟时间和通信负载和计算负荷的显着增益。
translated by 谷歌翻译
我们考虑主人想要在$ n $ Workers上运行分布式随机梯度下降(SGD)算法的设置,每个算法都有一个数据子集。分布式SGD可能会遭受散乱者的影响,即导致延迟的缓慢或反应迟钝的工人。文献中研究的一种解决方案是在更新模型之前等待每次迭代的最快$ k <n $工人的响应,其中$ k $是固定的参数。 $ k $的价值的选择提供了SGD的运行时(即收敛率)与模型错误之间的权衡。为了优化误差折衷,我们研究了在整个算法的运行时,以自适应〜$ k $(即不同的$ k $)调查分布式SGD。我们首先设计了一种自适应策略,用于改变$ k $,该策略根据我们得出的墙壁通行时间的函数,基于上限的上限来优化这种权衡。然后,我们建议并实施一种基于统计启发式的自适应分布式SGD的算法。我们的结果表明,与非自适应实现相比,分布式SGD的自适应版本可以在更少的时间内达到较低的误差值。此外,结果还表明,自适应版本是沟通效率的,其中主人与工人之间所需的通信量小于非自适应版本的沟通量。
translated by 谷歌翻译
编码的计算技术为分布式计算中的贸易管理者提供鲁棒性。但是,大多数现有计划都需要精确地配置争吵行为,并忽略通过谋杀工人执行的计算。此外,这些方案通常被设计为准确地恢复所需的计算结果,而在许多机器学习和迭代优化算法中,已知更快的近似解决方案导致整体收敛时间的改善。在本文中,我们首先引入一种新的编码矩阵 - 向量乘法方案,称为组成的编码计算,其中部分恢复(CCPR),这有利于编码和未编码的计算方案的优点,并减少了计算时间和解码复杂度允许在准确性和计算速度之间进行权衡。然后,我们通过提出具有部分恢复的编码通信方案来扩展这种方法来分发更多一般计算任务,其中在传送之前编码由工人计算的子任务的结果。大型线性回归任务的数值模拟确认了所提出的分布式计算方案的优势,在计算准确性和延迟之间的权衡方面具有部分恢复。
translated by 谷歌翻译
我们考虑分布式SGD问题,其中主节点在$ n $工人之间分配梯度计算。通过将任务分配给所有工人,只等待$ k $最快的工人,主节点可以随着算法的发展而逐渐增加$ k $,可以权衡算法的错误。但是,这种策略被称为自适应$ k $ -sync,忽略了未使用的计算的成本和向揭示出散布行为的工人进行交流模型的成本。我们提出了一个成本效益的计划,将任务仅分配给$ k $工人,并逐渐增加$ k $。我们介绍了组合多臂匪徒模型的使用来了解哪些工人在分配梯度计算时最快。假设具有指数分布的响应时间以不同方式参数的工人,我们会以我们的策略的遗憾(即学习工人的平均响应时间花费的额外时间)提供经验和理论保证。此外,我们提出和分析适用于大量响应时间分布的策略。与自适应$ k $ -sync相比,我们的计划通过相同的计算工作和较小的下行链路通信在速度较低的情况下,误差大大降低。
translated by 谷歌翻译
大量的现代机器学习任务要求将大规模分布式簇作为训练管道的关键组成部分。但是,工人节点的异常拜占庭行为可能会使训练脱轨并损害推理的质量。这种行为可以归因于无意的系统故障或精心策划的攻击;结果,一些节点可能会将任意结果返回到协调培训的参数服务器(PS)。最近的工作考虑了广泛的攻击模型,并探索了强大的聚合和/或计算冗余以纠正扭曲的梯度。在这项工作中,我们考虑攻击模型从强大的攻击模型:$ q $无所不知的对手,对防御协议充分了解可以从迭代变为迭代变为弱者:$ q $随机选择的对手有限,勾结能力只会改变每一个,一次迭代很少。我们的算法依赖于冗余任务分配以及对抗行为的检测。对于强烈的攻击,我们证明,与先前的最新时间相比,扭曲梯度的比例从16 \%-99 \%降低。与最先进的攻击相比,我们在CIFAR-10数据集上的TOP-1分类准确性结果表明,在最复杂的攻击下,准确性(平均和弱方案平均)的优势(平均相对于强度和弱方案平均)。
translated by 谷歌翻译
SOTA decentralized SGD algorithms can overcome the bandwidth bottleneck at the parameter server by using communication collectives like Ring All-Reduce for synchronization. While the parameter updates in distributed SGD may happen asynchronously there is still a synchronization barrier to make sure that the local training epoch at every learner is complete before the learners can advance to the next epoch. The delays in waiting for the slowest learners(stragglers) remain to be a problem in the synchronization steps of these state-of-the-art decentralized frameworks. In this paper, we propose the (de)centralized Non-blocking SGD (Non-blocking SGD) which can address the straggler problem in a heterogeneous environment. The main idea of Non-blocking SGD is to split the original batch into mini-batches, then accumulate the gradients and update the model based on finished mini-batches. The Non-blocking idea can be implemented using decentralized algorithms including Ring All-reduce, D-PSGD, and MATCHA to solve the straggler problem. Moreover, using gradient accumulation to update the model also guarantees convergence and avoids gradient staleness. Run-time analysis with random straggler delays and computational efficiency/throughput of devices is also presented to show the advantage of Non-blocking SGD. Experiments on a suite of datasets and deep learning networks validate the theoretical analyses and demonstrate that Non-blocking SGD speeds up the training and fastens the convergence. Compared with the state-of-the-art decentralized asynchronous algorithms like D-PSGD and MACHA, Non-blocking SGD takes up to 2x fewer time to reach the same training loss in a heterogeneous environment.
translated by 谷歌翻译
这封信研究在包含中央服务器和多个工人的环境中分布了贝叶斯学习,专注于减轻摔跤手的影响问题。通过提出基于分组和编码的两种级体弹性解决方案,标准单次单次或令人尴尬地平行,称为共识Monte Carlo(CMC)是推广的。所提出的方法称为基于组的CMC(G-CMC)和编码的CMC(C-CMC),利用工人冗余计算,以便根据来自的部分输出来估算服务器上的全局后部样本工人。仿真结果表明,C-CMC可能占G-GCMC的少量工人,而G-CMC通常优选用于更大数量的工人。
translated by 谷歌翻译
We consider distributed learning in the presence of slow and unresponsive worker nodes, referred to as stragglers. In order to mitigate the effect of stragglers, gradient coding redundantly assigns partial computations to the worker such that the overall result can be recovered from only the non-straggling workers. Gradient codes are designed to tolerate a fixed number of stragglers. Since the number of stragglers in practice is random and unknown a priori, tolerating a fixed number of stragglers can yield a sub-optimal computation load and can result in higher latency. We propose a gradient coding scheme that can tolerate a flexible number of stragglers by carefully concatenating gradient codes for different straggler tolerance. By proper task scheduling and small additional signaling, our scheme adapts the computation load of the workers to the actual number of stragglers. We analyze the latency of our proposed scheme and show that it has a significantly lower latency than gradient codes.
translated by 谷歌翻译
Mini-batch stochastic gradient descent (SGD) is state of the art in large scale distributed training. The scheme can reach a linear speedup with respect to the number of workers, but this is rarely seen in practice as the scheme often suffers from large network delays and bandwidth limits. To overcome this communication bottleneck recent works propose to reduce the communication frequency. An algorithm of this type is local SGD that runs SGD independently in parallel on different workers and averages the sequences only once in a while. This scheme shows promising results in practice, but eluded thorough theoretical analysis.We prove concise convergence rates for local SGD on convex problems and show that it converges at the same rate as mini-batch SGD in terms of number of evaluated gradients, that is, the scheme achieves linear speedup in the number of workers and mini-batch size. The number of communication rounds can be reduced up to a factor of T 1/2 -where T denotes the number of total steps-compared to mini-batch SGD. This also holds for asynchronous implementations.Local SGD can also be used for large scale training of deep learning models. The results shown here aim serving as a guideline to further explore the theoretical and practical aspects of local SGD in these applications.
translated by 谷歌翻译
In distributed training of deep neural networks, parallel minibatch SGD is widely used to speed up the training process by using multiple workers. It uses multiple workers to sample local stochastic gradient in parallel, aggregates all gradients in a single server to obtain the average, and update each worker's local model using a SGD update with the averaged gradient. Ideally, parallel mini-batch SGD can achieve a linear speed-up of the training time (with respect to the number of workers) compared with SGD over a single worker. However, such linear scalability in practice is significantly limited by the growing demand for gradient communication as more workers are involved. Model averaging, which periodically averages individual models trained over parallel workers, is another common practice used for distributed training of deep neural networks since (Zinkevich et al. 2010) (McDonald, Hall, andMann 2010). Compared with parallel mini-batch SGD, the communication overhead of model averaging is significantly reduced. Impressively, tremendous experimental works have verified that model averaging can still achieve a good speed-up of the training time as long as the averaging interval is carefully controlled. However, it remains a mystery in theory why such a simple heuristic works so well. This paper provides a thorough and rigorous theoretical study on why model averaging can work as well as parallel mini-batch SGD with significantly less communication overhead.
translated by 谷歌翻译
二阶优化方法,尤其是D-KFAC(分布式Kronecker近似曲率)算法,在加速GPU簇上加速了深神经网络(DNN)训练方面已获得了吸引力。但是,现有的D-KFAC算法需要计算和传达大量二阶信息,即Kronecker因素(KFS),在预处理梯度之前,导致大量计算和通信开销以及高存储器足迹。在本文中,我们提出了DP-KFAC,这是一种新颖的分布式预处理方案,该方案将不同DNN层的KF构造任务分配给不同的工人。 DP-KFAC不仅保留了现有D-KFAC算法的收敛性属性,而且还可以带来三个好处:减少计算开销在构造KFS中,没有KFS的通信和低内存足迹。在64-GPU群集上进行的广泛实验表明,DP-KFAC将开销的计算开销降低了1.55 x-1.65x,通信成本降低2.79x-3.15x,并且内存足迹在每秒二阶更新中降低1.14x-1.47 x与最先进的D-KFAC方法相比。
translated by 谷歌翻译
最先进的机器学习模型在大规模分布式集群上常规培训。粗略地,当一些计算设备表现出异常(拜占庭)行为并将任意结果返回到参数服务器(PS)时,这种系统可能会受到损害。此行为可能归因于多种原因,包括系统故障和策划攻击。现有工作表明强大的聚合和/或计算冗余,以减轻扭曲渐变的效果。然而,当对手知道任务任务时,大多数这些方案都无效,并且可以明智地选择攻击的工人来诱导最大损害。我们所提出的方法ASPIS使用基于子集的分配为工作节点分配梯度计算,该分配允许对工作节点的行为进行多个一致性检查。通过中央节点检查计算出的梯度和后处理(在适当构造的图中的Clique-Conceping)允许有效的检测和随后从训练过程中排除对手。在弱势和强劲的攻击下,我们证明了拜占庭的复原力和检测保证,并广泛评估了各种大规模培训场景的系统。我们的实验的主要指标是测试准确性,与CIFAR-10数据集上的许多最先进的方法相比,我们表现出约30%的显着提高。相应减少损坏梯度的分数范围为16%至99%。
translated by 谷歌翻译
为了提高分布式学习的训练速度,近年来见证了人们对开发同步和异步分布式随机方差减少优化方法的极大兴趣。但是,所有现有的同步和异步分布式训练算法都遭受了收敛速度或实施复杂性的各种局限性。这激发了我们提出一种称为\ algname(\ ul {s} emi-as \ ul {yn}的算法} ent \ ul {s} earch),它利用方差减少框架的特殊结构来克服同步和异步分布式学习算法的局限性,同时保留其显着特征。我们考虑分布式和共享内存体系结构下的\ algname的两个实现。我们表明我们的\ algname算法具有\(o(\ sqrt {n} \ epsilon^{ - 2}( - 2}(\ delta+1)+n)\)\)和\(o(\ sqrt {n} {n} 2}(\ delta+1)d+n)\)用于实现\(\ epsilon \)的计算复杂性 - 分布式和共享内存体系结构分别在非convex学习中的固定点,其中\(n \)表示培训样本的总数和\(\ delta \)表示工人的最大延迟。此外,我们通过建立二次强烈凸和非convex优化的算法稳定性界限来研究\ algname的概括性能。我们进一步进行广泛的数值实验来验证我们的理论发现
translated by 谷歌翻译
分布式机器学习实现可扩展性和计算卸载,但需要大量的通信。因此,分布式学习设置中的沟通效率是一个重要的考虑因素,尤其是当通信是无线且采用电池驱动设备时。在本文中,我们开发了一种基于审查的重球(CHB)方法,用于在服务器工作者体系结构中分布式学习。除非其本地梯度与先前传播的梯度完全不同,否则每个工人的自我审查员。 HB学习问题的显着实际优势是众所周知的,但是尚未解决降低通信的问题。 CHB充分利用HB平滑来消除报告的微小变化,并证明达到了与经典HB方法相当的线性收敛速率,以平滑和强烈凸出目标函数。 CHB的收敛保证在理论上是合理的,对于凸和非凸案。此外,我们证明,在某些情况下,至少可以消除所有通信的一半,而不会对收敛率产生任何影响。广泛的数值结果验证了CHB在合成和真实数据集(凸,非凸和非不同情况)上的通信效率。鉴于目标准确性,与现有算法相比,CHB可以显着减少通信数量,从而实现相同的精度而不减慢优化过程。
translated by 谷歌翻译
我们研究了在$ n $工人上的分布式培训的异步随机梯度下降算法,随着时间的推移,计算和通信频率变化。在此算法中,工人按照自己的步调并行计算随机梯度,并在没有任何同步的情况下将其返回服务器。该算法的现有收敛速率对于非凸平的光滑目标取决于最大梯度延迟$ \ tau _ {\ max} $,并表明$ \ epsilon $ stationary点在$ \ mathcal {o} \!\左后达到(\ sigma^2 \ epsilon^{ - 2}+ \ tau _ {\ max} \ epsilon^{ - 1} \ right)$ iterations,其中$ \ sigma $表示随机梯度的方差。在这项工作(i)中,我们获得了$ \ Mathcal {o} \!\ left(\ sigma^2 \ epsilon^{ - 2}+ sqrt {\ tau _ {\ max} \ max} \ tau_ {avg} {avg} } \ epsilon^{ - 1} \ right)$,没有任何更改的算法,其中$ \ tau_ {avg} $是平均延迟,可以大大小于$ \ tau _ {\ max} $。我们还提供(ii)一个简单的延迟自适应学习率方案,在该方案下,异步SGD的收敛速率为$ \ Mathcal {o} \!\ left(\ sigma^2 \ epsilon^{ - 2} { - 2}+ \ tau_ {-2 avg} \ epsilon^{ - 1} \ right)$,并且不需要任何额外的高参数调整或额外的通信。我们的结果首次显示异步SGD总是比迷你批次SGD快。此外,(iii)我们考虑了由联邦学习应用激发的异质功能的情况,并通过证明与先前的作品相比对最大延迟的依赖性较弱,并提高收敛率。特别是,我们表明,收敛率的异质性项仅受每个工人内平均延迟的影响。
translated by 谷歌翻译
深度学习在广泛的AI应用方面取得了有希望的结果。较大的数据集和模型一致地产生更好的性能。但是,我们一般花费更长的培训时间,以更多的计算和沟通。在本调查中,我们的目标是在模型精度和模型效率方面提供关于大规模深度学习优化的清晰草图。我们调查最常用于优化的算法,详细阐述了大批量培训中出现的泛化差距的可辩论主题,并审查了解决通信开销并减少内存足迹的SOTA策略。
translated by 谷歌翻译
联合学习可以使远程工作人员能够协作培训共享机器学习模型,同时允许在本地保持训练数据。在无线移动设备的用例中,由于功率和带宽有限,通信开销是关键瓶颈。前工作已经利用了各种数据压缩工具,例如量化和稀疏,以减少开销。在本文中,我们提出了一种用于联合学习的预测编码的压缩方案。该方案在所有设备中具有共享预测功能,并且允许每个工作人员发送来自参考的压缩残余矢量。在每个通信中,我们基于速率失真成本选择预测器和量化器,并进一步降低熵编码的冗余。广泛的模拟表明,与其他基线方法相比,甚至更好的学习性能,通信成本可以减少高达99%。
translated by 谷歌翻译
We study the resilience to Byzantine failures of distributed implementations of Stochastic Gradient Descent (SGD). So far, distributed machine learning frameworks have largely ignored the possibility of failures, especially arbitrary (i.e., Byzantine) ones. Causes of failures include software bugs, network asynchrony, biases in local datasets, as well as attackers trying to compromise the entire system. Assuming a set of n workers, up to f being Byzantine, we ask how resilient can SGD be, without limiting the dimension, nor the size of the parameter space. We first show that no gradient aggregation rule based on a linear combination of the vectors proposed by the workers (i.e, current approaches) tolerates a single Byzantine failure. We then formulate a resilience property of the aggregation rule capturing the basic requirements to guarantee convergence despite f Byzantine workers. We propose Krum, an aggregation rule that satisfies our resilience property, which we argue is the first provably Byzantine-resilient algorithm for distributed SGD. We also report on experimental evaluations of Krum.
translated by 谷歌翻译
由于培训数据集的大小爆炸,分布式学习近年来受到了日益增长的兴趣。其中一个主要瓶颈是中央服务器和本地工人之间的沟通成本。虽然已经证明错误反馈压缩以通过随机梯度下降(SGD)降低通信成本,但在培训大规模机器学习方面广泛用于培训的通信有效的适应性梯度方法楷模。在本文中,我们提出了一种新的通信 - 压缩AMSGRAD,用于分布式非透明的优化问题,可提供有效的效率。我们所提出的分布式学习框架具有有效的渐变压缩策略和工人侧模型更新设计。我们证明所提出的通信有效的分布式自适应梯度方法会聚到具有与随机非凸化优化设置中的未压缩的vanilla amsgrad相同的迭代复杂度的一阶静止点。关于各种基准备份我们理论的实验。
translated by 谷歌翻译
许多组织使用配备有加速器的Compute集群,例如GPU和TPU,用于以分布式方式培训深入学习模型。培训是资源密集型的,消耗显着的计算,内存和网络资源。许多先前的作品探索如何减少培训资源占资源的占资源占用空间,而不会影响质量,但它们对瓶颈的子集(通常只有网络)限制了它们改善整体集群利用的能力。在这项工作中,我们利用深度学习工作负载的独特特征来提出结构化部分反向化(SPB),这是一种系统地控制分布式培训中个别工人的背包量的技术。这同时可以减少网络带宽,计算利用率和内存占用空间,同时保持模型质量。为了有效地利用SPB在集群层面的好处,我们介绍了一个SPB了解调度程序的jigsaw,它在深度学习培训(DLT)作业中进行迭代级别。我们发现拼图可以通过高达28 \%将大规模集群效率提高。
translated by 谷歌翻译