码迷,mamicode.com
首页 > 其他好文 > 详细

十分钟了解分布式计算:Petuum

时间:2014-06-14 20:39:34      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   com   width   

Petuum是一个分布式机器学习专用计算框架,本文介绍其架构,并基于文章 More Effective Distributed ML via a Stale Synchronous Parallel Parameter Server,NIPS 2013 重点探讨其核心内容SSP协议。

主要思想

Parameter server提供了一个易于读写Global模型参数的接口,而SSP协议允许distributed workers读写本地缓存中stale版本的参数(而不是每次都花大量时间时间等待central storage传回最新参数)。更进一步,通过限制参数的stale程度,SSP模型提供了机器学习算法的正确性保证。bubuko.com,布布扣

Stale Synchronous Parallel (SSP)
  1. 并行机器学习面临着两个挑战:集群本身的Unequal performance machines和网络通信上的Low bandwidth, High delay问题。集群越大,线性扩展的代价就越大,网络通信会占据时间开销的主要部分。bubuko.com,布布扣
  2. BSP和Asynchronous协议各有缺点bubuko.com,布布扣bubuko.com,布布扣
  3. SSP协议的好处在于,faster worker会遇到参数版本过于stale的问题,导致每一步迭代都需要网络通信,从而达到了平衡计算和网络通信时间开销的效果。bubuko.com,布布扣
  4. Petuum提供了分布式共享global模型参数的接口,使得很容易可以将多线程版本算法修改为Petuum版本。bubuko.com,布布扣
  5. SSP放宽一致性约束后,结果可以达到更好。bubuko.com,布布扣
    但还不够激动人心,因此改进的空间也很大。bubuko.com,布布扣
  6. Asynchronous的问题在于,整体对参数的更新量delta_w=delta_w1+delta_w2+...(delta_wi表示单个worker i根据部分数据计算的参数更新量),delta_wi之间应该是不能跨迭代次数的(而SSP则是放宽了这种约束),因此Asynchronous并没有收敛的保证。而SSP是有收敛的保证的,论文提供了一个bound。bubuko.com,布布扣
  7. 对于非凸问题来说,BSP和SSP有可能收敛到的最优解不一样。对于非凸优化问题(比如说神经网络),有大量局部最优解,随机梯度下降(可以跳出局部最优解)比批量梯度下降效果要更好。LDA本身也是非凸优化问题,不过如果采用变分法就会目标函数变成凸优化。
Structure-aware dynamic scheduler (STRADS)bubuko.com,布布扣
  1. STRADS负责模型的并行,涉及到参数的partition。
  2. LDA(主题参数,归属主题(混合概率),隐变量)和DL模型(分层参数)的参数具有天然的分块,可能会好做一些。
Fault tolerance
  1. Petuum的Fault tolerance功能非常简单,通过在Parameter Sever上taking snapshots,将参数备份到持久化存储,而结点的故障恢复是没有支持的。

十分钟了解分布式计算:Petuum,布布扣,bubuko.com

十分钟了解分布式计算:Petuum

标签:style   blog   http   color   com   width   

原文地址:http://www.cnblogs.com/wei-li/p/3786411.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!