基于ps-lite實現(xiàn)分布式的word2vec

ps-lite是一個參數(shù)服務(wù)器(ps)的實現(xiàn)。在有參數(shù)服務(wù)器之前,其實也就5年前,大部分分布式機(jī)器學(xué)習(xí)算法都是靠定期同步來實現(xiàn)的,比如MPI的all_reduce,或者map-reduce的reduce。定期同步有2個問題:

  • 什么時候同步取決于跑的最慢的進(jìn)程
  • 同步時不能干別的,只能同步

所以,后來async sgd出來之后,google提出了用參數(shù)服務(wù)器來避免所有進(jìn)程在一個時間點(diǎn)上都停下來同步。而是利用參數(shù)服務(wù)器來共享參數(shù),而每個訓(xùn)練進(jìn)程只需要干2件事情:

  • 從參數(shù)服務(wù)器拉取最新的參數(shù)
  • 利用自己的數(shù)據(jù)計算參數(shù)的diff,然后將diff發(fā)送ps,ps負(fù)責(zé)merge

word2vec是13年Google提出的一個新的類似于LDA的主題模型,用來做詞的向量表示。word2vec包含cbow, skip-gram 2個算法。優(yōu)化方法也有層次Softmax(HS)和負(fù)采樣(NS)兩種。為了體驗一下ps-lite, 因此決定基于ps-lite來實現(xiàn)cbow的NS算法。

代碼見 https://github.com/xlvector/sw2v

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容