使用ps实现异步梯度下降。
14年提出的。
异步 vs 同步
可以看出异步运行效率非常高。
异步梯度下降的流程
ps架构流程
- worker:
- 首先从参数服务器拉取最新的参数;
- 然后用自己节点上的数据计算梯度;
- 最后把梯度推给参数服务器
- 参数服务器:
- 接收到worker计算的梯度;
- 更新参数。
如果某个work慢非常多也是会有问题的。
如下,如果worker3很慢,那他的权重其实是最开始的,那么算出来的梯度如果同步到服务器中去,那就好有问题。
重要概念
- 通信:共享内存vs .消息传递。.
- 体系结构:客户机-服务器vs . s点对点。.
- 同步:批量同步vs .异步。.
- 并行:数据并行(更流行)vs . s模型并行,
并行编程模型
MapReduce:消息传递、客户端-服务器和同步。.
参数Server:消息传递、客户机-服务器和异步。.
分散:消息传递,点对点,同步或异步。
并行计算和分布式计算
其实没有明显的技术;