parameter_server架构

Parameter Server架构

现在的机器学习系统,但凡是大一点的公司,恐怕都在用分布式了。而在分布式机器学习领域,最出名的恐怕就是少帅的PS框架了。 读了一些原始论文,我试着来理解一下。

本片博客是论文笔记性质,特此声明。

起源

现在的大数据机器学习系统,通常数据在1TB到1PB之间,参数范围在109和1012左右。再这样的量级下,如果想进行分布式,很多算法的参数只能在各个节点上进行分布式。从而,产生了三个挑战。

  • 访问这些参数需要很大的网络带宽
  • 很多算法是序列性的,同步会影响性能
  • 在大规模下,错误容忍是很重要的。

从而,就诞生了各种各样的分布式机器学习系统,而本文所提出的PS架构,属于第三代。这种设计有两种好处:

  • 通过将机器学习系统的共同之处模块化,使得每个应用所需的代码更加的简洁
  • 作为一个系统级别共享平台优化方法,PS结构能够支持很多种算法。

从而,PS架构有五个特点:

  • 高效的通信:异步通信不会拖慢计算
  • 弹性一致:将模型一致这个条件放宽松,允许在算法收敛速度和系统性能之间做平衡。
  • 扩展性强:增加节点无需重启网络
  • 错误容忍:机器错误恢复时间短,Vector Clock容许网络错误
  • 易用性: 全局共享的参数使用向量和矩阵表示,而这些又可以用高性能多线程库进行优化。

ToDo……

参考文献

[1]. Li M, Andersen D G, Park J W, et al. Scaling distributed machine learning with the parameter server[C]//11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14). 2014: 583-598.

你可能感兴趣的:(分布式,机器学习)