姓名:姬文浩 学号:22011210610 学院:通信工程学院
一、带备份节点的同步随机梯度下降法
带备份节点的同步随机梯度下降法的设计思路和通用MapReduce系统中的备份节点有些类似。在MapReduce系统中,当我们发现某个节点比较慢的时候,系统会启动一个额外的节点作为其备份,形成某种竞争关系,谁先结束就采用谁的计算结果。类似的思想可以应用到同步随机梯度下降法的训练过程中,在聚合梯度时,仅聚合一定比例的梯度,防止计算很慢的节点拖累聚合的效率。带备份节点的同步随机梯度下降法采用了用空间换时间的思想:用K(1+a) 个工作节点来保证每次取前K个工作节点作为聚合对象时会保持比较高的效率,其中a表示备份节点与实际工作节点的比例。实际中,。的大小可以根据系统的状况和资源进行调节。在文献[6]的实验中,使用了a=5%也就是100个工作节点外加5个备份节点。
带备份节点的同步随机梯度下降法在实际应用中是行之有效的。在对ImageNet数集进行分布式深层神经网络训练的实验中,与同步随机梯度下降法相比,带备份节的同步随机梯度下降法可以获得明显的加速。在工作节点数目少于100的情形下,带份节点的同步随机梯度下降法几乎可以取得与异步随机梯度下降法(ASGD) 相同的度。当然,当节点数目进一步扩大到200时,它与异步随机梯度下降法在效宰方面还存在一定差距的。同时,带备份节点的同步随机梯度下降法可以达到与同步随机梯度下降法类似的精度,比异步随机梯度下降法的精度要更好调节。
二、异步ADMM算法
如前文所述,ADMM算法使用了对偶交量。和人米控制各个工作节点的学习过程,使得模型的参数尽可能达到全局致。 全局对偶变量;的更新由主节点完成;主节点需要等待所有工作节点都完成本地的优化并把模型发送过来以后才能进行有关的更新。这个过程同样会被速度比较慢的工作节点所拖累。而解决这个问题的常用手段就是采取异步的并行模式。但由于ADMM需要求解一个全局优化的问题,因此无法简单地将其异步并行。最近,研究人员提出了一一种基于局部同步的异步ADMM(AADMM)实现。这种方法在思想上比较接近于带备份的同步随机梯度下降法,同时它还考虑到异步延迟的问题,在并行机制中加人了对最慢工作节点最大延迟的控制。
假设集群中有K个工作节点,异步ADMM算法在收集各工作节点本地模型的时候不强制要求得到所有工作节点的响应,而是设置一个最少同步工作节点数K(K。<K)。也就是说只需要收到人个工作节点推送来的模型。就可以进行。的聚合和分发了。间时,异步ADMM算法控制最大延迟,以避免从速度过慢的工作节点上学习到不准确的信息。值得注意的是,在异步ADMM算法中,各个工作节点是否会参与到最后的模型聚合中是不确定的,因此我们不能任意选择某个工作节点作为主节点来处理z的更新。基于这种考虑,异步ADMM比较适合在参数服务器的框架下实现,利用参数服务器来实现身合逻辑以及其他一些信息管理逻辑(比如设置和跟踪每个工作节点的时钟周期等)。
三、去中心化方法
此和提到了几种部分加和的模型聚合力值。这些方法虽然摆脱了对全局工作节点同步步的依赖,但是却和全局加和一样仍然以中心化的模式进行,需型个中心(如参数服务器)来协调模型聚合的过程。
这种中心化的模式存在自身的弊端。首先,当网络传输代价比较大时,中心化模式容易在中心节点处形成瓶颈,在网络连接情况比较差的时候尤为明显。其次,中心化模式对系统的稳定性要求更高,因为它要求中心节点能够稳定地聚合和分发模型,一且中心节点出错,整个任务必然失败。
为了解决这些问题,人们研究了去中心化的分布式机器学习方法,通过对比中心化网络与去中心化网络两种不同的拓扑结构。去中心化方法的思路是让每个工作节I有更多的自主性,使模型的维护和更新更加分散化,易于扩展。具体而言,每个工作点可以根据自己的需求来选择性地仅与少数其他节点通信。