parameter server学习

关于parameter server的学习:

https://www.zybuluo.com/Dounm/note/517675

 

机器学习系统相比于其他系统而言,有一些自己的独特特点。例如:

  • 迭代性:模型的更新并非一次完成,需要循环迭代多次
  • 容错性:即使在每个循环中产生一些错误,模型最终仍能收敛
  • 参数收敛的非均匀性:有些参数几轮迭代就会收敛,而有的参数却需要上百轮迭代。

而且工业界需要训练大型的机器学习模型,一些广泛应用的特定的模型在规模上有两个特点:

  1. 参数很大,超过单个机器的容纳的能力(大型LR和神经网络)
  2. 训练数据太大,需要并行提速(大数据)

 

这篇文章讲的也很不错:

https://www.csdn.net/article/2015-05-21/2824742

 

降低网络通信开销

异步

灵活的数据一致性模型

 

选择性通信

缓冲与压缩

 

容灾

 

 

Efficient Communication:高效的通信

Elastic Scalability:使用一致性哈希算法

Fault Tolerance and Durability: 节点故障是不可避免的

Ease of Use:全局共享的参数可以被表示成各种形式

 

常用的过滤器有significantly modified filter,即只push大于某一门槛的entry。也有KKT filter,利用最优化问题的一些条件过滤掉对weights影响不大的entry。

 

2.4 实现

2.4.1 Vector Clock

2.4.3 Replication and Consistency

一致性哈希算法:即将数据按照某种hash算法映射到环上,然后将机器按照同样的hash算法映射到环上,将数据存储到环上顺时针最近的机器上。

 

posted @ 2018-09-07 13:51  blcblc  阅读(231)  评论(0编辑  收藏  举报