姓名:姬文浩 学号:22011210610 学院:通信工程学院
一、概述
聚合也是分布式机器学习特有的逻辑,因为分布式机器学习的方法五花八门,所以聚合本身的逻辑也多种多样。不同的分布式机器学习算法,聚合的内容和执行主体不尽相同。从聚合的内容来看,有些算法聚合的是模型(例如在数据并行的模式下),而有些算法聚合的是数据(例如在模型并行或者某些基于数据交换的分布式学习模式下)。从聚合执行的主体来看,有时是由全局服务器来完成的,有时则是由各个工作节点自己来完成的。在由全局服务器来完成聚合的情况下,有些算法聚合的对象是全部工作节点的信息,而有些算法则为了更加快捷和鲁棒只聚合部分工作节点的信息。
有效的聚合往往会带来更好的加速效果。通常我们对聚合方法有以下需求:1.聚合本身的时间代价比较少,这样给整个学习流程带来的额外负担较小;2.聚合算法合理、有效,整体的收敛性仍然能保持与单机算法大体-致。
二、基于模型加和的聚合方法
2.1 基于全部模型加和的聚合
最常用的模型聚合方法就是在参数与服务器段将来自不同工作节点的模型或者模型更新进行加权求和。
模型平均(MA)是一种非常简单的模型聚合方法",这种方法在收到所有工作节点的模型之后,将这些模型的参数进行平均,得到新的全局模型。BMUFE 方法在MA的基础上加人了冲量概念,每次从各个工作节点得到更新的模型以后,首先计算出平均参数,再用中量更新的模式对其进行调整。最终的更新既包含当前迭代块中产生的总体模型修改(团w),也包含前面更新积累的冲量。BMUF的目的是保持单机算法中冲量的作用,使每次梯度更新能够在整个优化过程中起作用,使更新的总体方向更加平稳、快速。ADMM方法则是通过解一个全局一致性的优化问题,把来自所有工作节点的模型聚合成为一个全局模型。
同步随机梯度下降法(SSGD) 将参数的平均换成了梯度的平均。K机并行的同步随机梯度下降法在逻辑上等价于小批量扩大K倍的单机随机梯度下降法。小批量的大小对随机梯度下降法的优化过程有很大影响,因此,在实践中,需要调整同步随机梯度下降法的学习率来抵消小批量大小的变化。
弹性平均随机梯度下降法(EASCD)对模型平均的结果做了进一步处理,从而保持各个工作节点的多样性。具体而言,EASGD引入了所谓的弹性机制,将工作节点的模型平均值与当前服务器端的参数再进行一次线性的加和。从某种意义上讲,弹性平均在当的全局根型和工作市点的最重之间建行权量。一方面探索新模型,另一方面保留一定的历史状态。
一方面保留一定的历史状态。以上这些方法的共同特点是采用(或者部分采用)了加和形式的聚合方式,这些加和方法运算复杂度低。逻辑简单,不会对整个分布式训练过程带来过多的额外压力。
2.2 基于部分模型加和的聚合
上一小节提到的聚合方法都是将所有节点的模型聚合到处。当这类方法以同步并行的机制运行时,少量速度慢的机器可能会拖累甚至阻塞整个系统的学习进度。为了解决这个问题,研究人员提出了基于部分模型加和的聚合方法。-一个极端的例子是采用异步通信,每次全局模型仅需要与一个工作节点的训练结果进行聚合。除此之外,本小节再介绍三种方法;带备份节点的同步随机梯度下降法、异步ADMM算法以及去中心化方法。对于带备份节点的同步随机梯度下降法和异步ADMM算法,在同步并行过程中,只要有足够多的工作节点完成了计算任务,就将这部分的数据或模型聚合起来,实现分布式机器学习的一-次信息整合。而去中心化方法仅需与其连接的邻居节点通信,便可完成聚合。