机器学习系统--Parameter Server

介绍分布式机器学习系统架构-- Parameter Server。

Parameter Server简介

是一个以参数为中心的机器学习系统。

Observations

  • 某些learning算法的模型复杂,参数很大
    • Complex Models with Billions and Trillions of Parameters
    • e.g. LDA
  • 某些Learning过程呈现线性,需要同步
    • Sequential ML jobs require barriers and hurt performance by blocking
    • BSP model是我们想要的,但如何平衡性能?
  • 容错很重要,尤其是参数的容错
    • At scale, Fault Tolerance is required as these jobs run in a cloud where machines are unreliable and jobs can be preempted
    • 大规模的机器学习算法参数很多,需要进行容错

设计思路

  • 参数与训练数据分开存放
    • Server:负责参数
    • Worker:负责训练数据
  • 提供同步计算与异步计算模式
    • 灵活的consistency
    • 用户选择
  • 参数看作key-value pair进行备份
    • Consistent hashing

体系架构

image-20190104195804671

  • 主节点用来存放参数
  • 取参数是按需pull,再将更新后的参数放回去

计算模式

Asynchronous tasks and Dependency

image-20190104195952007

Flexible Consistency

  • Up to the algorithm designer to choose the flexible consistency model
    • 其实让编程变得更复杂
  • Trade-off between Algorithm Efficiency and System Performance
    • 计算考虑
      • 异步可能是错的
    • 性能方面
      • 异步更好

容错机制

使用一致性哈希和备份的方式

  • 为什么不能用zookeeper?
    • 数据量太大
  • 前提:这个model是key-value pair,才能够被hash

讨论

  • GraphLab和PS中sequential一样吗?
    • GraphLab强调数据点之间的顺序计算关系
    • PS不考察训练数据点之间的关系,强调多次迭代之间的顺序关系
  • GraphLab中的consistency和PS中的 consistency是一样的吗?
    • GraphLab中的consistency解决可串行问题
    • PS中的consistency解决同步/异步计算问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值