论文笔记——分布式深度学习框架下基于性能感知的DBS—SGD算法
论文笔记——分布式深度学习框架下基于性能感知的DBS—SGD算法
分布式深度学习框架下基于性能感知的DBS—SGD算法
这篇论文里各个细节都讲得特别清楚。
充分考虑了各个客户端端点的异构性,同时考虑了异步训练过程中梯度过时得到问题。
对各节点的minibatch进行动态分配,保证了节点间每次迭代更新的时间基本一致,进而降低了节点的平均梯度过时值。
分布式架构中的参数服务器
参数服务器的两个操作:
- sumGradients 接受各个节点计算好的梯度值并进行累加操作
- applyUpdate:用计算好的梯度值乘以学习率并更新全局参数
异步更新策略
异步更新中,全局更新过程
Top-k更新策略
参数服务器在收到k个参数后进行更新
之前一些论文中已经证明了batch_size的值是对神经网络性能产生影响的关键变量。
文中提出了一种动态调整各个节点batch_size值的方法。提出了DMB-SGD算法。
算法思想:
数据集使用MNIST和CIFAR-10