工程師:“在你輝煌的時刻,讓我為你唱首歌,我的好兄弟,心里有苦你對我說?!?/p> 計算機:“哥啊,那我可就說了,我是真的苦啊,現(xiàn)在一個模型動輒好幾億參數(shù),數(shù)據(jù)集也是大的嚇人,兄弟我內(nèi)存都快被掏空了,實在訓(xùn)練不動了呀?!?/p> 工程師:“前方大路一起走,哪怕是河也一起過…” 計算機:“你怎么還唱啊,兄弟我真的堅持不住了?!?/p> 工程師:“擔(dān)心啥,哥有的是辦法救你,就這招吧——分布式訓(xùn)練之參數(shù)服務(wù)器!” 計算機:“分布式訓(xùn)練?參數(shù)服務(wù)器?真的很好用嗎?” 工程師:“好吧,接下來我們就來看看什么是分布式訓(xùn)練參數(shù)服務(wù)器功能?!?/p> 下載安裝命令 ## CPU版本安裝命令 pip install -f https:///pip/oschina/cpu paddlepaddle ## GPU版本安裝命令 pip install -f https:///pip/oschina/gpu paddlepaddle-gpu 什么是分布式訓(xùn)練 何謂分布式訓(xùn)練呢?大家想想《火影忍者》中鳴人搓螺旋丸的方法,要知道鳴人一個人可搓不出來,他是怎么做的呢?對!影分身,再變出兩個分身來幫他一起搓丸子,分布式訓(xùn)練其實用的是相同的原理。通俗的講就是把原先交給一臺計算機上完成的訓(xùn)練任務(wù)改為交由多臺計算機完成。每臺計算機上都會有一個或多個計算單元,例如CPU、GPU、AI芯片等,合作的計算機越多,參與訓(xùn)練的計算單元也就越多??上攵撬俣瓤隙ㄊ青徉岬模?/p> 什么是參數(shù)服務(wù)器 如圖1所示,參數(shù)服務(wù)器是分布式訓(xùn)練領(lǐng)域普遍采用的編程架構(gòu),主要包含Server和Worker兩個部分,其中Server負責(zé)參數(shù)的存儲和更新,而Worker負責(zé)訓(xùn)練。的參數(shù)服務(wù)器功能也是基于這種經(jīng)典的架構(gòu)進行設(shè)計和開發(fā)的,同時在這基礎(chǔ)上進行了SGD(Stochastic Gradient Descent)算法的創(chuàng)新(Geometric Stochastic Gradient Descent)。當(dāng)前經(jīng)過大量的實驗驗證,最佳的方案是每臺機器上啟動Server和Worker兩個進程,而一個Worker進程中可以包含多個用于訓(xùn)練的線程。 什么是參數(shù)服務(wù)器 如圖1所示,參數(shù)服務(wù)器是分布式訓(xùn)練領(lǐng)域普遍采用的編程架構(gòu),主要包含Server和Worker兩個部分,其中Server負責(zé)參數(shù)的存儲和更新,而Worker負責(zé)訓(xùn)練。的參數(shù)服務(wù)器功能也是基于這種經(jīng)典的架構(gòu)進行設(shè)計和開發(fā)的,同時在這基礎(chǔ)上進行了SGD(Stochastic Gradient Descent)算法的創(chuàng)新(Geometric Stochastic Gradient Descent)。當(dāng)前經(jīng)過大量的實驗驗證,最佳的方案是每臺機器上啟動Server和Worker兩個進程,而一個Worker進程中可以包含多個用于訓(xùn)練的線程。 什么是參數(shù)服務(wù)器 如圖1所示,參數(shù)服務(wù)器是分布式訓(xùn)練領(lǐng)域普遍采用的編程架構(gòu),主要包含Server和Worker兩個部分,其中Server負責(zé)參數(shù)的存儲和更新,而Worker負責(zé)訓(xùn)練。的參數(shù)服務(wù)器功能也是基于這種經(jīng)典的架構(gòu)進行設(shè)計和開發(fā)的,同時在這基礎(chǔ)上進行了SGD(Stochastic Gradient Descent)算法的創(chuàng)新(Geometric Stochastic Gradient Descent)。當(dāng)前經(jīng)過大量的實驗驗證,最佳的方案是每臺機器上啟動Server和Worker兩個進程,而一個Worker進程中可以包含多個用于訓(xùn)練的線程。 異步訓(xùn)練模式:如圖3所示,在訓(xùn)練一個batch的數(shù)據(jù)后,Worker的每個線程會發(fā)送梯度給Server。而Server不會等待接收所有節(jié)點的梯度,而是直接基于已收到的梯度進行參數(shù)更新。異步訓(xùn)練去除了訓(xùn)練過程中的等待機制,訓(xùn)練速度得到了極源碼交易大的提升,但是缺點也很明顯,那就是Loss下降不穩(wěn)定,容易發(fā)生抖動。建議在個性化推薦(召回、排序)、語義匹配等數(shù)據(jù)量大的場景使用。 尤其是推薦領(lǐng)域的點擊率預(yù)估場景,該場景可能會出現(xiàn)千億甚至萬億規(guī)模的稀疏特征,而稀疏參數(shù)也可以達到萬億數(shù)量級,且需要小時級或分鐘級流式增量訓(xùn)練。如果使用異步訓(xùn)練模式,可以很好的滿足該場景的online-learning需求。 |
|
來自: 新用戶2457q4c3 > 《文件夾1》