分布式机器学习(同步并行SGD算法的实现与复杂度分析(PySpark))

其中,SSGD算法每次依据来自 个不同的工作节点上的样本的梯度来更新模型,设每个工作节点上的小批量大小为 ,则该算法等价于批量大小为 的小批量随机梯度下降法。尽管梯度的计算可以被分摊到个计算节点上,然而梯度下降的迭代是串行的。每轮迭代中,Spark会执行同步屏障(synchronization barrier)来确保在各worker开始下一轮迭代前w已被更新完毕。如果存在掉队者(stragglers),其它worker就会空闲(idle)等待,直到下一轮迭代。

    推荐阅读