• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      分布式深度學(xué)習(xí)研究

      2017-10-16 00:22:19辜陽楊大為
      科技創(chuàng)新與應(yīng)用 2017年29期
      關(guān)鍵詞:深度學(xué)習(xí)

      辜陽++楊大為

      摘 要:傳統(tǒng)單機(jī)深度學(xué)習(xí)模型的訓(xùn)練耗時,動輒花費一周甚至數(shù)月的時間,讓研究者望而卻步,因此深度學(xué)習(xí)并行訓(xùn)練的方法被提出,用來加速深度學(xué)習(xí)算法的學(xué)習(xí)過程。文章首先分析了為什么要實現(xiàn)分布式訓(xùn)練,然后分別介紹了基于模型并行和數(shù)據(jù)并行兩種主要的分布式深度學(xué)習(xí)框架,最后對兩種不同的分布式深度學(xué)習(xí)框架的優(yōu)缺點進(jìn)行比較,得出結(jié)論。

      關(guān)鍵詞:深度學(xué)習(xí);分布式訓(xùn)練;模型并行;數(shù)據(jù)并行

      中圖分類號:TP181 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2017)29-0007-02

      1 概述

      深度學(xué)習(xí)已經(jīng)在計算機(jī)視覺,文本處理,自然語言識別等領(lǐng)域取得了卓越成就,受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。隨著對深度學(xué)習(xí)領(lǐng)域研究的深入,有證據(jù)表明增大模型參數(shù)規(guī)模和訓(xùn)練數(shù)據(jù)集,能有效的提高模型精度。但精度提升同時也帶來了巨大的訓(xùn)練時間成本。簡單的采用單機(jī)加GPU計算的方式,受限于目前GPU的顯存限制和單機(jī)擴(kuò)展能力,已經(jīng)不能滿足大型深層網(wǎng)絡(luò)結(jié)構(gòu)和超TB大小的訓(xùn)練集所要求的計算能力和存儲空間。針對上述問題,研究者投入了大量的工作,研究分布式深度學(xué)習(xí)訓(xùn)練框架,來提升訓(xùn)練效率。當(dāng)前的分布式深度學(xué)習(xí)框架主要包含模型并行(model parallelism),數(shù)據(jù)并行(data parallelism)兩種方法,兩者的結(jié)構(gòu)如圖1所示,左邊為模型并行結(jié)構(gòu),右邊為數(shù)據(jù)并行結(jié)構(gòu)。

      2 模型并行化方法

      在模型并行化方法里,分布式系統(tǒng)中的不同機(jī)器節(jié)點負(fù)責(zé)單個網(wǎng)絡(luò)模型的不同部分計算。例如,卷積神經(jīng)網(wǎng)絡(luò)模型中的不同網(wǎng)絡(luò)層被分配到不同的機(jī)器。每個機(jī)器只計算網(wǎng)絡(luò)結(jié)構(gòu)的一部分,能夠起到加速訓(xùn)練的效果。模型并行化適合單機(jī)內(nèi)存容納不下的超大規(guī)模的深度學(xué)習(xí)模型,其具有良好的擴(kuò)展能力,盡管在實際應(yīng)用中的效果還不錯,但是在模型能夠在單機(jī)加載的情況下,數(shù)據(jù)并行化卻是多數(shù)分布式深度學(xué)習(xí)系統(tǒng)的首選,因為數(shù)據(jù)并行化在實現(xiàn)難度、容錯率和集群利用率方面都優(yōu)于模型并行化,數(shù)據(jù)并行化方法適用于采用大量訓(xùn)練數(shù)據(jù)的中小模型,具體介紹見第3小節(jié)。

      3 數(shù)據(jù)并行化方法

      在數(shù)據(jù)并行化方法里,分布式框架中的每個節(jié)點上都存儲一份網(wǎng)絡(luò)模型的副本,各臺機(jī)器只處理自己所分配到的一部分訓(xùn)練數(shù)據(jù)集,然后在各節(jié)點之間同步模型參數(shù),模型參數(shù)同步算法分為同步式和異步式兩種。

      3.1 同步式算法

      標(biāo)準(zhǔn)的同步式算法,每次迭代都分為三個步驟,首先,從參數(shù)服務(wù)器(Parameter Server,PS)中把模型參數(shù)w拉取(pull)到本地,接著用新的模型參數(shù)w計算本地mini-batch的梯度Δw,最后將計算出的梯度Δw推送(push)到PS。PS需要收集所有節(jié)點的梯度,再按照公式(1)進(jìn)行平均處理更新模型參數(shù),其中?琢為學(xué)習(xí)率。

      雅虎開源的基于Spark平臺的深度學(xué)習(xí)包CaffeOnSpark就是采用的同步式算法,同步式算法如圖2所示。

      這種強(qiáng)同步式算法,會由于系統(tǒng)中各個機(jī)器之間的性能差異,導(dǎo)致所有的節(jié)點都要等待計算最慢的一個節(jié)點執(zhí)行完,產(chǎn)生木桶效應(yīng)問題。而且大量的同步操作,造成的通訊時間開銷會限制同步式擴(kuò)展能力,導(dǎo)致性能瓶頸。

      3.2 異步式算法

      異步隨機(jī)梯度下降算法(Asynchronous Stochastic Gradient Descent,ASGD)是對同步式算法的改進(jìn)。參數(shù)服務(wù)器只要接收到一個節(jié)點的梯度值就進(jìn)行更新,而不是等待所有節(jié)點發(fā)送完梯度值,再進(jìn)行平均操作,消除了木桶效應(yīng)問題,并且利用梯度的延遲更新,如迭代m次再進(jìn)行同步,減少網(wǎng)絡(luò)通信量,降低網(wǎng)絡(luò)通訊造成的時間開銷,獲得明顯加速。文獻(xiàn)[1]證明算法是收斂的。

      異步式算法比同步式訓(xùn)練加速效果明顯,但帶來了一個新的問題,即梯度值過時問題。當(dāng)某個節(jié)點算完了梯度值并且將其與參數(shù)服務(wù)器的全局參數(shù)合并時,全局參數(shù)可能已經(jīng)被其他節(jié)點更新了多次,而此時傳遞過來的是一個已經(jīng)過時的梯度值,會降低算法的收斂速率,達(dá)不到異步算法原本應(yīng)有的加速效果,同時導(dǎo)致模型準(zhǔn)確率下降。

      異步隨機(jī)梯度下降方法有多種形式的變種,都采取了各種策略來減弱梯度過時所造成的影響,同時保持分布式深度學(xué)習(xí)訓(xùn)練的高效率。解決梯度值過時的方法主要包括以下兩種:

      (1)對每次更新的梯度Δw,引入縮放因子?姿,控制梯度過時對全局的影響。參數(shù)的更新形式為:

      (2)

      (2)采用弱同步(soft synchronization)策略[2],相對于立即更新全局參數(shù)向量,參數(shù)服務(wù)器等待收集n(1≤j≤n)個節(jié)點產(chǎn)生的s(1≤s≤m)次更新后,參數(shù)隨之按照公式(3)進(jìn)行更新。若s=1,n=1;(3)式即為普通的異步隨機(jī)梯度下降算法。若s=m;即為異步隨機(jī)梯度下降法延遲更新。若s=1,n為所有的節(jié)點數(shù),(3)式即為同步式算法。

      這些改進(jìn)方法相比簡單的異步算法都能有效降低梯度值過時的影響,提升算法的收斂性能。正是由于異步式明顯的加速優(yōu)勢,當(dāng)前熱門的分布式深度學(xué)習(xí)框架,如MXNet、TensorFlow、CNTK等大多采用異步隨機(jī)梯度下降算法及其變種。

      4 結(jié)束語

      同步式方法就每一輪epoch的準(zhǔn)確率,以及全局的準(zhǔn)確率來說更勝一籌,然而,額外的同步開銷也意味著這個方法的速度更慢。最大問題在于所謂的木桶效應(yīng)問題:即同步系統(tǒng)需要等待最慢的處理節(jié)點結(jié)束之后才能進(jìn)行下一次迭代。結(jié)果將會導(dǎo)致隨著工作節(jié)點的增加,同步系統(tǒng)變得越來越慢,越來越不靈活。

      異步式算法是當(dāng)前加速訓(xùn)練模型的有效方法,在實際使用中也得到廣泛應(yīng)用,只需要控制好梯度值過時的問題。但是帶有中心參數(shù)服務(wù)器的異步式算法仍然可能存在通訊瓶頸,還需要進(jìn)一步研究解決存在的問題,充分發(fā)揮異步式的優(yōu)勢。未來兩者的混合模型將是重點研究方向,使得分布式深度學(xué)習(xí)可以在大模型大訓(xùn)練集上快速訓(xùn)練,得到更加精準(zhǔn)的模型。

      參考文獻(xiàn):

      [1]Zinkevich M,Langford J,Smola A. Slow learners are fast[C]. Advances in Neural Information Processing Systems 22(NIPS 2009),2009:2331-2339.

      [2]Wei Zhang,Suyog Gupta,Xiangru Lian,and Ji Liu. Staleness-aware async-sgd for distributed deep learning. IJCAI, 2016.

      [3]張行健,賈振堂,李祥.深度學(xué)習(xí)及其在動作行為識別中的進(jìn)展[J].科技創(chuàng)新與應(yīng)用,2016(06):66.endprint

      猜你喜歡
      深度學(xué)習(xí)
      從合坐走向合學(xué):淺議新學(xué)習(xí)模式的構(gòu)建
      面向大數(shù)據(jù)遠(yuǎn)程開放實驗平臺構(gòu)建研究
      基于自動智能分類器的圖書館亂架圖書檢測
      搭建深度學(xué)習(xí)的三級階梯
      有體驗的學(xué)習(xí)才是有意義的學(xué)習(xí)
      電子商務(wù)中基于深度學(xué)習(xí)的虛假交易識別研究
      利用網(wǎng)絡(luò)技術(shù)促進(jìn)學(xué)生深度學(xué)習(xí)的幾大策略
      考試周刊(2016年94期)2016-12-12 12:15:04
      MOOC與翻轉(zhuǎn)課堂融合的深度學(xué)習(xí)場域建構(gòu)
      大數(shù)據(jù)技術(shù)在反恐怖主義中的應(yīng)用展望
      深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
      义马市| 宜兰县| 闵行区| 三门峡市| 高碑店市| 武川县| 罗山县| 汾阳市| 诸城市| 湖北省| 溧阳市| 汪清县| 南安市| 福安市| 铜川市| 灵川县| 呈贡县| 东方市| 六枝特区| 什邡市| 微山县| 巴中市| 浠水县| 库车县| 理塘县| 老河口市| 翁源县| 东乡县| 宁城县| 清涧县| 惠安县| 若尔盖县| 望江县| 广河县| 海宁市| 会泽县| 阿鲁科尔沁旗| 张家口市| 永丰县| 德钦县| 建瓯市|