ps-lite是一个参数服务器(ps)的实现。在有参数服务器之前,其实也就5年前,大部分分布式机器学习算法都是靠定期同步来实现的,比如MPI的all_reduce,或者map-reduce的reduce。定期同步有2个问题:
- 什么时候同步取决于跑的最慢的进程
- 同步时不能干别的,只能同步
所以,后来async sgd出来之后,google提出了用参数服务器来避免所有进程在一个时间点上都停下来同步。而是利用参数服务器来共享参数,而每个训练进程只需要干2件事情:
- 从参数服务器拉取最新的参数
- 利用自己的数据计算参数的diff,然后将diff发送ps,ps负责merge
word2vec是13年Google提出的一个新的类似于LDA的主题模型,用来做词的向量表示。word2vec包含cbow, skip-gram 2个算法。优化方法也有层次Softmax(HS)和负采样(NS)两种。为了体验一下ps-lite, 因此决定基于ps-lite来实现cbow的NS算法。
网友评论