亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Local SGD的部分同步通信策略

        2023-02-21 16:16:03魏業(yè)鳴鄭美光
        計算機應用研究 2023年12期

        魏業(yè)鳴 鄭美光

        摘 要:Local SGD訓練方法用于分布式機器學習以緩解通信瓶頸,但其本地多輪迭代特性使異構集群節(jié)點計算時間差距增大,帶來較大同步時延與參數(shù)陳舊問題。針對上述問題,基于Local SGD方法提出了一種動態(tài)部分同步通信策略(LPSP),該方法利用兩層決策充分發(fā)揮Local SGD本地迭代優(yōu)勢。在節(jié)點每輪迭代計算結束后,基于本地訓練情況判斷通信可能性,并在全局劃分同步集合以最小化同步等待時延,減少Local SGD通信開銷并有效控制straggler負面影響。實驗表明LPSP可以在不損失訓練精確度的情況下實現(xiàn)最高0.75~1.26倍的加速,此外,最高還有5.14%的精確度提升,可以有效加速訓練收斂。

        關鍵詞:分布式機器學習; 隨機梯度下降; 參數(shù)服務器; 部分同步

        中圖分類號:TP181?? 文獻標志碼:A?? 文章編號:1001-3695(2023)12-036-3754-06

        doi:10.19734/j.issn.1001-3695.2023.04.0160

        Partially synchronous communication strategy based on Local SGD

        Abstract:Local SGD is used in distributed machine learning to alleviate communication bottleneck. However, it increases the time gap between heterogeneous cluster workers in local computation with the characteristics of local multiround iteration, which bring about large synchronization wait time and the problem of stale parameters. Regarding the above problems, based on the Local SGD algorithm, this paper proposed a dynamic partial synchronization communication method (LPSP) . This method made full use of the advantage of Local SGD with twolayer decision. After each worker finished each epoch of local gradient calculation, it determined its communication possibility based on local training situation. And parameter server divided the synchronization worker sets to minimize the synchronization wait time. Based on above strategies, it reduced the communication overhead of Local SGD method and effectively controlled the negative influence of straggler. Experiments show that LPSP can achieve up to 0.75 to 1.26 times acceleration without loss of training accuracy, and up to 5.14% accuracy improvement, which can effectively speed up the convergence of model training.

        Key words:distributed machine learning; stochastic gradient descent; parameter server; partially synchronization

        0 引言

        機器學習作為主流智能數(shù)據(jù)處理技術,已在目標檢測、自然語言處理、數(shù)據(jù)分析與挖掘等領域被廣泛應用[1]。實際生產(chǎn)中處理數(shù)據(jù)和訓練模型的規(guī)模不斷擴大,計算復雜度隨之急速增大,單機訓練將消耗巨大的訓練時間。為此,提出了分布式機器學習[2],其通過將計算任務分配到資源集群中,應用多機并行訓練以加速整體模型收斂?,F(xiàn)已有TensorFlow、MXNet等分布式機器學習框架投入到實際應用中,相關研究也一直受到廣泛關注。

        在分布式機器學習中,任務被分解到各個節(jié)點上并行計算以加速訓練,但多節(jié)點間的參數(shù)聚合與通信將產(chǎn)生大量的額外通信開銷。分布式機器學習中的通信時間逐漸增高,形成通信瓶頸[3]。為此,提出了許多針對機器學習優(yōu)化方法、同步通信方式等研究以減少通信開銷。

        在實際生產(chǎn)研究中,分布式機器學習常應用于異構集群。由于負載劃分不均、節(jié)點性能差異等,節(jié)點計算完成時間不一,其中訓練所需時間較長的節(jié)點稱為straggler。當使用同步方式通信時,straggler的存在會顯著減慢整體訓練收斂。并且當較快節(jié)點與straggler對全局參數(shù)更新貢獻接近時,straggler往往需要更多本地梯度計算時間,存在一定負面影響[4]。Wang等人[5]使用編碼方案,根據(jù)每個worker的計算能力自適應地分配數(shù)據(jù)負載,使每個worker計算完成時間接近。Ao等人[6]則通過復制訪問模式或利用快速節(jié)點的并行性幫助straggler進行計算,拉近節(jié)點間差距。這些研究雖然從根源上出發(fā),但是操作是細粒度的難以實現(xiàn)。Wang等人[7]在每個節(jié)點上設置冗余模型以實現(xiàn)通信與計算解耦,從而使所有worker獨立運行無須等待,但這種設計使系統(tǒng)復雜度大幅提高。

        使用合適的同步模型及參數(shù)更新方法可以有效地緩解分布式機器學習通信瓶頸問題。經(jīng)典的同步模型有異步并行(asynchronous parallel,ASP)、批量同步并行(bulk synchronous parallel,BSP)以及陳舊并行(staleness synchronous parallel,SSP)。其中ASP[8]可以實現(xiàn)節(jié)點間異步通信,不需要等待時間,但是存在嚴重的參數(shù)陳舊度問題;BSP[9]使所有worker參數(shù)同步更新,但因此會產(chǎn)生很大的同步等待時延;SSP[10]是ASP與BSP的一個折中,通過設定陳舊閾值可以在保證一定參數(shù)陳舊度的情況下實現(xiàn)較快收斂。許多研究基于經(jīng)典同步模型進行了進一步優(yōu)化,Yao等人[11]提出了FluentPS,其重疊不同服務器的push、pull進程,調整其執(zhí)行時間以在減少同步等待的情況下降低同步頻率。Wang等人[12]在BSP基礎上進行優(yōu)化,當最快的任務完成后,即收集已push參數(shù)進行主動更新同步。還有一類同步方式為分組同步,通過將worker分組,在組間和組內設置合適的同步方式以減少通信開銷。Sun等人[13]利用自然斷點法劃分性能相近的worker,并動態(tài)調整各組上傳比例,以減少組間迭代速度差距。Zhu等人[14]則基于通信自適應分布式Adam進行自適應的分組。對于分組同步來說,選擇合適有效的分組方法則是關鍵。

        隨機梯度下降(stochastic gradient descent,SGD)方法[15]是機器學習中常用的優(yōu)化模型方法。在分布式機器學習環(huán)境中,相應衍生出多種分布式SGD方法以加速訓練。其中,近年來備受關注的Local SGD[16]通過增加本地迭代計算輪次減少通信頻率,可以有效減少分布式機器學習通信開銷,顯著優(yōu)于以往的分布式SGD方法。Lin等人[17]指出Local SGD相較于minibatch SGD的優(yōu)勢所在。Castiglia等人[18]進一步提出了多層次Local SGD(MLLSGD),將集群劃分為多個子網(wǎng)絡后,通過在多層次執(zhí)行多輪本地迭代并周期性同步,實現(xiàn)更優(yōu)的性能提升。但由于Local SGD本地多輪迭代特性,使得異構集群中worker間的本地計算時間差距被進一步擴大?,F(xiàn)有研究中將常見的同步模型如BSP、SSP等應用在Local SGD中,雖然減少了通信頻率,但通信等待時延將會明顯變大[19]。

        針對上述問題,本文使用參數(shù)服務器架構(parameter server,PS)[20],以減輕分布式機器學習通信瓶頸為目標,基于Local SGD的訓練優(yōu)化方法提出了動態(tài)部分同步的通信策略(LPSP)。

        本文的主要研究工作如下:

        a)在worker本地,設置worker同步等待指數(shù)以控制straggler負面影響及Local SGD本地迭代次數(shù),進行通信決策;

        b)在全局參數(shù)服務器,通過設置部分同步時延參數(shù)以最小化等待時延,并由此確定參與部分同步的worker與同步點;

        c)從實驗上評估了提出的方法,與現(xiàn)有基于Local SGD的分布式通信方法相比,該策略實現(xiàn)了分布式機器學習訓練加速。

        1 Local SGD方法和問題描述

        分布式SGD機器學習,應用參數(shù)服務器架構,采用數(shù)據(jù)并行訓練方式,每個worker分配的數(shù)據(jù)子集大小相同[21],本地worker梯度計算的參數(shù)更新規(guī)則如下:

        其中:xt表示worker訓練中迭代t時的模型參數(shù);γ(t)表示在迭代t時的學習率;fk(xt)是worker使用參數(shù)xt根據(jù)loss函數(shù)計算得出的隨機梯度。

        worker使用所分配的數(shù)據(jù)子集進行完本地計算后,將得到的梯度上傳至server, server對上傳的梯度聚合后進行全局模型參數(shù)更新。之后將最新的參數(shù)傳至worker繼續(xù)迭代訓練。

        采用Local SGD的分布式訓練中,worker本地進行多輪計算積累梯度,將得到的梯度進行上傳同步。Local SGD中worker本地迭代的參數(shù)更新如下所示。

        其中:Hi是wi在同步前進行的本地迭代輪數(shù)。

        式(2)相較于式(1),worker在本地不是進行一輪梯度計算后就參與同步,而是進行Hi輪梯度計算迭代后再參與同步。Local SGD通過減少worker同步通信頻率進而減少通信開銷,從而緩解分布式機器學習通信瓶頸。

        在許多Local SGD相關研究中,worker本地迭代次數(shù)常被設置為一個定值[7,18]。在異構集群中,由于一致的本地迭代次數(shù)worker完成本地梯度計算的時間差異將加劇。以下述實例進行說明傳統(tǒng)同步策略在Local SGD中的表現(xiàn)。

        使用Local SGD進行分布式機器學習訓練。假設系統(tǒng)包括n=4個worker,wi(i=1,2,…,n)完成本地單次迭代計算所需的時間分別為ti={1.8,3.6,2.5,1.5} 。本地迭代次數(shù)設為H=3,在同步階段中:

        1)使用BSP的同步方式

        本地經(jīng)多輪迭代,worker進行本地梯度計算所需的時間變?yōu)閠i={5.4,10.8,7.5,4.5} 。此時,同步點為worker中最大本地計算完成時間T=t2=10.8,同步時的總等待時延為(10.8-5.4)+(10.8-7.5)+(10.8-4.5)=15。

        2)使用ASP的同步方式

        在ASP的同步方式中,worker異步梯度上傳參數(shù)更新,不存在等待時延。但是,Local SGD使用更多輪次的本地迭代使得worker間原本的計算時間差異成倍增加,straggler使用的陳舊參數(shù)更新將在更后延的時間點影響全局參數(shù)更新,使ASP方式下固有的參數(shù)陳舊與訓練振蕩問題加劇,嚴重影響訓練收斂[22]。

        3)使用SSP的同步方式

        SSP陳舊閾值的取值尤為關鍵。Local SGD中,worker間的本地梯度計算時間差異較傳統(tǒng)分布式SGD更大。若陳舊閾值設置過小,SSP將退化為BSP,帶來更多的等待時延。若設置過大,則又會退化為ASP,帶來更嚴重的訓練振蕩。所以相較于傳統(tǒng)分布式SGD,Local SGD中的SSP陳舊閾值選擇將更加困難。

        若使用分組同步通信方式,現(xiàn)有相關分組方法基于本地計算時間,將接近的worker分到一組,以便組內可以使用更加嚴謹?shù)耐椒绞健S捎贚ocal SGD增大了worker間的本地梯度計算時間差異,在分組數(shù)相同的情況下,組內worker依舊存在較大的計算時間差距,難以兼顧參數(shù)陳舊度和等待時延而選擇合適的組間與組內的同步方式。

        去中心化聯(lián)邦學習方法[23,24]中,由于數(shù)據(jù)安全需求,worker在通信階段不再集中地與服務器進行通信,僅與具有數(shù)據(jù)關聯(lián)關系或是利于模型更新的worker進行通信。受此啟發(fā),本文提出基于Local SGD的部分同步通信策略。在worker每輪迭代結束之后,選擇本地迭代完成時間點接近的worker進行部分同步,在保證收斂性的情況下盡量減少同步時的等待時延。

        當采用部分同步的通信策略時,如圖1所示。若將通信時間設置為0.5,此時依次設置三個同步點:a)w1完成兩輪和w2完成一輪迭代后進行一次部分同步,同步點T1=max(1.8×2,3.6)=3.6;b)w3完成兩輪和worker w4完成三輪迭代后進行一次部分同步,T2=max(2.5×2,1.5×3)=5;c)上述同步之后,w1再完成兩輪迭代,w2和w3再完成一輪迭代后進行一次部分同步,T3=max{(T1+0.5+1.8×2),(T1+0.5+3.6),(T2+0.5+2.5)}=8。上述三輪同步的等待時延分別為0,(T2-1.5×3)=0.5,(T3-(T1×2+0.5))×2+(T3-(T2+0.5+2.5))=0.6,則通信過程的總等待時延為1.1,可以在保證一定的參數(shù)一致性的情況下減少同步等待時延。

        為了實現(xiàn)有效的基于Local SGD的部分同步策略,需要解決以下兩個問題:a)worker在何時參與部分同步可以充分發(fā)揮Local SGD優(yōu)勢;b)如何選擇worker進行部分同步以最小化同步時的等待時延。

        2 worker本地通信決策

        worker在何時參與部分同步,即本地通信決策。本文將部分同步思想運用于基于Local SGD的同步策略中。不同于去中心化聯(lián)邦學習中的部分同步重點關注worker之間的數(shù)據(jù)或模型關系以實現(xiàn)隱私保護下的訓練,而在采用數(shù)據(jù)并行的分布式機器學習訓練中,worker之間的數(shù)據(jù)屬于獨立同分布,重點關注worker間形成的通信瓶頸。為此,本文基于本地迭代次數(shù)與本地單輪迭代計算時間進行通信可能性的判斷,利用Local SGD方法減少同步通信頻率并減少同步等待時延,如圖2所示。

        2.1 worker同步等待指數(shù)

        在Local SGD中,本地迭代次數(shù)越大通信頻率越小,但是過大的本地迭代次數(shù)容易導致偏離全局最優(yōu)解進而影響收斂[19],通常依據(jù)經(jīng)驗值將本地迭代次數(shù)設置為2~4[25]。為了充分發(fā)揮Local SGD的優(yōu)勢,需要控制worker本地迭代次數(shù)。

        同時值得注意的是,進行部分同步時,選擇worker需要考慮straggler的負面影響。當使用數(shù)據(jù)并行的方式在一個異構集群中進行分布式機器學習訓練時,straggler梯度計算的貢獻往往不如較快節(jié)點。因此,需要減少straggler的本地梯度計算量,即減少straggler的本地迭代輪次。綜上所述,為了確定合適的worker通信時機,提出worker本地判斷的指標,同步等待指數(shù)。

        定義1 同步等待指數(shù)。分布式機器學習中,采用部分同步的方式進行worker通信與參數(shù)更新,同步等待指數(shù)是每個worker本地維護的一個進度值,該值表示worker自上一次參與同步之后,等待進行下一次同步時在本地計算進度,其值越大反映了worker參與同步的可能性越大。

        worker同步等待指數(shù)pi計算如下:

        2.2 worker本地通信決策

        本節(jié)將基于worker同步等待指數(shù)說明worker的本地通信決策。本文設定同步等待閾值區(qū)間[pmin,pmax],來決定worker在每輪迭代完成之后的行為。由于pi的大小同時受本地迭代次數(shù)與集群異構程度影響,pmin便成為控制本地迭代次數(shù)與straggler負面影響的重要指標。當pi≤pmin,wi由于本地迭代次數(shù)較少,無法發(fā)揮Local SGD優(yōu)勢減少通信頻率,將繼續(xù)進行本地迭代;當pi>pmax時,wi已進行了很多輪次的本地迭代而未同步,或是wi作為straggler本地計算時間過長,此時強制將wi加入到下一次部分同步的worker集合中;當pmin≤pi≤pmax時,wi有可能會參與到下一次部分同步中,此時將wi加入到候選同步的集合中。

        3 部分同步worker選擇

        worker本地通信策略得到有可能參與下一輪同步的候選worker,如圖2所示的w1、w2和w3。最終實際參與下一輪同步的worker將由全局參數(shù)服務器確定。

        3.1 同步時延指標

        同步過程的worker選擇問題,目標在于劃分同步集合以最小化同步等待時延。為此對于可能參與下輪同步的worker,本文設置一個同步等待時延參數(shù)供后續(xù)worker選擇及同步點的確定。假設選取k個worker在同步點Tc進行同步,ti為worker在同步前完成各自本地迭代的時間,Tc=max(ti),則同步時延指標計算如下:

        其中:T表示參與同步的worker集合對應的本地計算完成時間。D(T,k)計算了worker集合同步時的平均等待時延,后續(xù)簡寫為D。D值越大表明參與同步的k個worker在同步時所需平均等待時間越長。

        3.2 參與部分同步worker的全局決策

        若wi加入候選同步集合W′0,全局服務器將依據(jù)同步時延指標D判斷wi是否參與下一輪同步。為此,本文設定部分同步時延閾值。每當有新worker加入W′0時,將計算W′0的同步時延D,并與閾值Ds進行比較。其中對于閾值Ds,本文基于worker單輪迭代計算時間進行設置:

        其中:s表示同步時等待時間占迭代計算時間的系數(shù),s較小說明worker同步時所能容忍的等待時間較少,但是需要注意的是,若s取值過小會導致部分同步演變?yōu)楫惒絽?shù)更新,使得訓練過程振蕩;t′i是wi進行單次迭代所需要的計算時間;Ds表示同步時可容忍的最大平均等待時延。

        比較同步等待時延D與閾值控制同步時的等待時延。當D

        基于Local SGD的動態(tài)部分同步算法(Local SGDbased partial synchronization parallel algorithm,LPSP)如算法1所示。

        算法1 基于Local SGD的動態(tài)部分同步算法

        輸入:worker單輪迭代時間{t′1,t′2,t′3,…,t′n}及自上次同步后的本地迭代次數(shù){H1,H2,H3,…,Hn}。

        輸出:更新的worker候選同步集合W′0,同步集合W0與強制同步集合Wf。

        worker:

        a)if wi剛結束一輪本地迭代 then

        b) 更新記錄的wi單次迭代時間t′i

        c) 根據(jù)式(3)得到wi此時的同步等待指數(shù)pi

        d) if pi≤pmin then

        e)?? wi將繼續(xù)進行本地迭代

        f)? else if pmin≤pi≤pmax then

        g)?? 更新W′0=W′0∪wi并上傳積累的本地梯度

        h)? else if pi>pxmax or 本地迭代輪數(shù)達到上限 then

        i)?? 更新Wf=Wf∪wi并上傳積累的本地梯度

        j)? end if

        k)end if

        parameter server:

        a)初始化關于同步的worker集合W′0=,W0=,Wf=

        b)初始化D=0,根據(jù)式(5)得到Ds

        c)while D≤Ds do

        d) worker本地迭代結束后更新候選同步集合W′0與強制同步集合Wf

        e) 基于候選集合W′0根據(jù)式(4)更新同步時延參數(shù)D

        f) 更新同步等待時延閾值Ds

        g)end while

        h)將最后一個加入候選集合W′0的worker去除

        i)取W0=W′0

        j)在W′0中加入剛剛去除的worker

        k)更新全局參數(shù)并將其發(fā)送到W0和Wf中的所有worker

        l)置W0=,Wf=

        m)隨訓練過程循環(huán)進行步驟b)~l)。

        對同步等待指數(shù)超出閾值pmax的worker,將進入強制同步集合Wf,并入同步集合W0一起進行同步。算法1中的worker部分是所有worker并行且循環(huán)執(zhí)行的,表示worker在每輪本地迭代計算完成后,更新本地的同步等待指數(shù)pi,基于此判斷是否有參與同步的可能性并執(zhí)行相應行為。算法1的PS部分表示基于同步時延指標D與等待時延閾值Ds確定最終參與同步的worker集合,并執(zhí)行同步。其中,步驟k)l)表示基于確定的worker同步集合執(zhí)行同步。算法1中worker部分的時間復雜度接近于常數(shù),而PS部分是在worker相繼完成本地決策后進行的全局判斷,整體時間復雜度接近于O(n)。

        此外,當PS已收到所有worker完成本地計算上傳的梯度,但還未執(zhí)行部分同步時,直接執(zhí)行完全同步。

        4 實驗

        4.1 實驗設置

        1)軟硬件環(huán)境

        本文訓練過程所使用的操作系統(tǒng)為Ubuntu 16.04,CPU為Intel Xeon Silver 4114 CPU@2.20 GHz,共兩塊,每塊10核20線程。使用Python編寫,深度學習框架采用PyTorch 1.11.0[26]實現(xiàn),并使用Ray 1.13.0[27]在PS架構中實現(xiàn)分布式范例。

        2)模型與數(shù)據(jù)集

        在圖像分類的分布式深度學習任務上評估所提方案。在MNIST[28]上訓練LeNet5[29]模型,在CIFAR10[30]上訓練定義的包含三層卷積層的神經(jīng)網(wǎng)絡。

        3)對比實驗設置

        將本文方法LPSP與BSP、SSP、GSSP和MLLSGD進行比較,其中GSSP[13]是一種按照worker本地迭代時間進行分組的分組同步方法,MLLSGD[18]則是一種層次化Local SGD方法。實驗在三種不同規(guī)模的集群下進行,如表1所示。其中,GSSP與MLLSGD將集群按每組四個worker進行分組。GSSP組內使用SSP的同步方式,組間使用ASP的同步方式。MLLSGD在層次化通信架構中的每層使用多輪本地迭代策略。

        訓練過程采用數(shù)據(jù)并行訓練,使用動量SGD訓練方法,對于兩個數(shù)據(jù)集訓練,設置不同的學習率與批量大小如表2所示。Local SGD的本地迭代次數(shù)設置為3。GSSP與SSP的參數(shù)陳舊閾值設置為2。為了模擬不同計算節(jié)點的性能差異,構建異構訓練集群,本文worker迭代時間均勻分布于2.5倍的初始迭代時間之內。為了使pmin與pmax可以有效控制worker本地迭代次數(shù),依據(jù)經(jīng)驗值[25]并考慮到實驗設置集群的異構程度,將worker同步等待閾值設為pmin=2、pmax=3.5,并由實驗集群的異構程度大致推算,將同步等待時延閾值系數(shù)設為s=0.2。

        本文將worker訓練過程中隨時間變化的模型收斂情況和精確度值作為評價指標。對于MNIST數(shù)據(jù)集,收斂情況表示為連續(xù)5個epoch精確度均值達到98%時所需的時間。精確度值為時間到達3 000 s時連續(xù)5個epoch的平均測試集精確度。對于CIFAR10數(shù)據(jù)集,收斂情況表示精確度達到60%時所需的時間。精確度值為時間到達6 000 s時的測試集精確度。

        4.2 實驗結果與分析

        4.2.1 收斂性對比分析

        采用LeNet5訓練MNIST數(shù)據(jù)集, 集群大小分別為12和16時的收斂情況如圖3所示??芍?,在大小為12的集群中,LPSP與SSP最快達到98%的測試集精確度值,其次是MLLSGD與GSSP,BSP最慢,LPSP最多可以達到1.17倍的加速。在大小為16的集群中,LPSP同樣略慢于SSP,依次優(yōu)于MLLSGD、BSP和GSSP,最高可達到1.26倍的加速。但LPSP在3 000 s內實現(xiàn)了最大的精確度,而SSP相較于其他方法精確度最低。

        在大小為12的集群中訓練MNIST數(shù)據(jù)集,五種算法的訓練曲線如圖4所示。LPSP與MLLSGD、BSP在訓練過程中測試集精確度隨時間的變化較為平緩。SSP與GSSP訓練過程中的振蕩情況則較為嚴重。這是因為GSSP使用了ASP與SSP同步方式,與SSP存在比LPSP、MLLSGD和BSP更加嚴重的參數(shù)陳舊問題,并且在Local SGD方法中,本地迭代次數(shù)的增加將會加劇參數(shù)陳舊問題,導致訓練振蕩較為嚴重。在LPSP中,由于pmin與pmax的控制,在同步前worker本地迭代次數(shù)差異不會過大,使得訓練過程中模型精度變化較為平穩(wěn)。

        在CIFAR10數(shù)據(jù)集上評估LPSP,集群大小分別為12和16時的收斂情況如圖5所示。由圖可知,在大小為12的集群中,LPSP收斂速度最快,而后依次是MLLSGD、SSP、BSP和GSSP,LPSP最多可以達到0.87倍的加速。在大小為16的集群中,LPSP同樣收斂速度最快,最高可達到0.75倍的加速。在CIFAR10數(shù)據(jù)集中LPSP收斂性提升不如MNIST數(shù)據(jù)集,并且隨著集群規(guī)模變大,BSP、SSP、GSSP與MLLSGD收斂時間由于并行度增加相應減少,但LPSP收斂時間卻略有上升。分析可知,LPSP在全局部分同步worker選擇時,依據(jù)下一個不符合同步時延閾值條件的worker進行部分同步劃分,存在額外決策等待時間。而在更大規(guī)模的集群中,需要更多的決策等待時間。

        4.2.2 精確度對比

        比較不同集群下的五種算法測試集精確度。在MNIST數(shù)據(jù)集上訓練情況如表3所示,在三種集群規(guī)模下,LPSP都實現(xiàn)了最大的精確度,最高可達99.06%,依次優(yōu)于BSP、MLLSGD、GSSP和SSP,相較其他方法最多提高了0.54%。當在CIFAR10數(shù)據(jù)集上訓練情況如表4所示,LPSP實現(xiàn)了最大的測試集精確度,最高可達65.25%,相較于其他方法最多提高了5.14%。在CIFAR10數(shù)據(jù)集上LPSP實現(xiàn)的精確度提升要大于MNIST數(shù)據(jù)集,這是因為CIFAR10數(shù)據(jù)集相較于MNIST數(shù)據(jù)集要更為復雜。

        4.2.3 實驗參數(shù)分析

        由上述可知,相較于BSP、SSP、GSSP和MLLSGD,LPSP在兩種數(shù)據(jù)集上在收斂速度和精確度值上都有一定的提升。這可以歸結于LPSP中的兩個方面:a)pi控制的本地迭代次數(shù)與straggler的負面影響;b)Ds控制的同步時延大小。相應地,閾值pmin和系數(shù)s的設置較為關鍵。下面將討論在CIFAR10數(shù)據(jù)集訓練中,pmin與s對實驗結果的影響。

        當將s設為0.2時,分別對于pmin取值1、2、3,實驗效果如圖6所示??梢园l(fā)現(xiàn),pmin=2時的收斂速度和精確度最高,其次是pmin=1,最后是pmin=3。pmin在一定程度上控制了worker的本地迭代次數(shù),pmin過大會使得參與同步的worker本地迭代次數(shù)差距較大,對訓練收斂產(chǎn)生影響,pmin過小使得本地迭代次數(shù)不足,難以體現(xiàn)Local SGD優(yōu)勢,減少通信開銷。所以選擇一個合適的pmin可以使訓練快速且平穩(wěn)地收斂。

        當將pmin設為2時,分別對于s取值0、0.2、0.4、10,實驗效果如圖7所示。s=0.2和s=0時收斂速度最快,其次s=0.4和s=10。其中s=0和s=10的情況對應于利用閾值pmin選擇得到候選同步worker后,分別使用ASP和BSP的同步方式進行參數(shù)更新。由于通過pi的同步可能性判斷控制了本地迭代次數(shù)差距與本地迭代完成時間差距,使s=0的異步更新可以實現(xiàn)比SSP更快的收斂速度,與s=0.2接近。而接近于完全同步的實驗效果則更差。

        5 結束語

        本文針對緩解分布式機器學習通信瓶頸問題,為尋求適合Local SGD訓練方法的通信策略進行了研究。提出了一種基于Local SGD的動態(tài)部分同步通信策略,其靈活地在worker每次完成迭代時進行判斷,在控制本地迭代次數(shù)、straggler負面影響及同步時延的情況下,選擇合適的worker參與部分同步。模擬實驗結果表明,LPSP可以在不損失訓練精確度的情況下實現(xiàn)最高0.75~1.26倍的加速,此外,最高還有5.14%的精確度提升??梢杂行岣呋贚ocal SGD訓練方法的通信效率,充分發(fā)揮其優(yōu)勢。

        在將來工作中,為了使本文所提策略應用于不同規(guī)模及異構程度的集群,自適應地選擇系數(shù)s與pmin,使得訓練更加快速平穩(wěn)地收斂是值得研究的方向。

        參考文獻:

        [1]LeCun Y, Bengio Y, Hinton G. Deep learning[J].Nature,2015,521(7553):436-444.

        [2]Chilimbi T, Suzue Y, Apacible J, et al. Project Adam: building an efficient and scalable deep learning training system[C]//Proc of the 11th Symposium on Operating Systems Design and Implementation.Berkeley,CA:USENIX Association,2014:571-582.

        [3]Chen Chen, Wang Wei, Li Bo. Roundrobin synchronization: mitigating communication bottlenecks in parameter servers[C]//Proc of IEEE INFOCOM.Piscataway,NJ:IEEE Press,2019:532-540.

        [4]Li Xingyu, Qu Zhe, Tang Bo, et al. Stragglers are not disaster:a hybrid federated learning algorithm with delayed gradients [EB/OL].(2021-02-12).https://arxiv.org/abs/2102.06329.

        [5]Wang Haozhao, Guo Song, Tang Bin, et al.Heterogeneityaware gradient coding for straggler tolerance[C]//Proc of the 39th International Conference on Distributed Computing Systems.Piscataway,NJ:IEEE Press,2019:555-564.

        [6]Ao W C, Psounis K. Resourceconstrained replication strategies for hierarchical and heterogeneous tasks[J].IEEE Trans on Parallel and Distributed Systems,2019,31(4):793-804.

        [7]Wang Jianyu, Liang Hao, Joshi G. Overlap LocalSGD:an algorithmic approach to hide communication delays in distributed SGD[C]//Proc of IEEE ICASSP.Piscataway,NJ:IEEE Press,2020:8871-8875.

        [8]Dean J, Corrado G, Monga R, et al. Large scale distributed deep networks[C]//Proc of the 26th Annual Conference on Neural Information Processing Systems.Cambridge:MIT Press,2012:1232-1240.

        [9]Gerbessiotis A V, Valiant L G. Direct bulksynchronous parallel algorithms[J].Journal of Parallel and Distributed Computing,1994,22(2):251-267.

        [10]Ho Q, Cipar J, Cui H, et al. More effective distributed ML via a stale synchronous parallel parameter server[C]//Proc of the 27th Annual Conference on Neural Information Processing Systems.Cambridge:MIT Press,2013:1223-1231.

        [11]Yao Xin, Wu Xueyu, Wang C L. FluentPS: a parameter server design with lowfrequency synchronization for distributed deep learning[C]//Proc of IEEE CLUSTER.Piscataway,NJ:IEEE Press,2019:1-12.

        [12]Wang Shaoqi, Chen Wei, Pi Aidi, et al. Aggressive synchronization with partial processing for iterative ml jobs on clusters[C]//Proc of the 19th International Middleware Conference.New York:ACM Press,2018:253-265.

        [13]Sun Haifeng, Gui Zhiyi, Guo Song, et al. GSSP:eliminating stragglers through grouping synchronous for distributed deep learning in heterogeneous cluster[J].IEEE Trans on Cloud Computing,2021,10(4):2637-2648.

        [14]Zhu Feng, Zhang Jingjing, Simeone O, et al. Adaptive worker grouping for communicationefficient and stragglertolerant distributed SGD[C]//Proc of IEEE International Symposium on Information Theory.Piscataway,NJ:IEEE Press,2022:2996-3000.

        [15]吳德兵.梯度裁剪下降算法的收斂性分析[D].杭州:浙江理工大學,2022.(Wu Debing. Convergence analysis of gradient clipping descent algorithm[D].Hangzhou:Zhejiang SciTech University, 2022.)

        [16]Zhang Jian, De Sa C, Mitliagkas I, et al. Parallel SGD:when does averaging help?[EB/OL].(2016-06-23).https://arxiv.org/abs/1606.07365.

        [17]Lin Tao, Stich S U, Patel K K, et al. Dont use large minibatches, use Local SGD[C]//Proc of the 8th International Conference on Learning Representations.2020.

        [18]Castiglia T, Das A, Patterson S. Multilevel Local SGD: distributed? ???SGD for heterogeneous hierarchical networks[C]//Proc of the 9th International Conference on Learning Representations.2021.

        [19]McMahan B, Moore E, Ramage D, et al. Communicationefficient learning of deep networks from decentralized data[C]//Proc of the 20th International Conference on Artificial Intelligence and Statistics.2017:1273-1282.

        [20]巨濤,趙宇陽,劉帥,等.面向圖片識別的深度學習模型并行優(yōu)化方法[J].西安交通大學學報,2023,57(1):141-151.(Ju Tao, Zhao Yuyang, Liu Shuai, et al. A parallel optimization method of deep learning model for image recognition[J].Journal of Xian Jiaotong University,2023,57(1):141-151.)

        [21]Li Shen, Zhao Yanli, Varma R, et al. PyTorch distributed: experiences on accelerating data parallel training[J].Proceedings of the VLDB Endowment,2020,13(12):3005-3018.

        [22]Zheng Meiguang, Mao Dongbang, Yang Liu, et al. DOSP:an optimal synchronization of parameter server for distributed machine learning[J].The Journal of Supercomputing,2022,78(12):13865-13892.

        [23]Zhou Yuhao, Shi Minjia, Tian Yuxin, et al. DeFTA:a plugandplay decentralized replacement for FedAvg[EB/OL].(2022).https://arxiv.org/abs/2204.02632.

        [24]Sun Tao, Li Dongsheng, Wang Bao. Decentralized federated averaging[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2022,45(4):4289-4301.

        [25]Baidu. Baidu PaddlePaddle 1.7 deep learning platform[EB/OL].[2023-03-01].https://www.bookstack.cn/read/PaddlePaddle-1.7/0b00db65c184afcc.md.

        [26]Paszke A, Gross S, Massa F, et al. PyTorch: an imperative style, highperformance deep learning library[J].Advances in Neural Information Processing Systems,2019,32:8024-8035.

        [27]Moritz P, Nishihara R, Wang S, et al. Ray:a distributed framework for emerging AI applications[C]//Proc of the 13th Symposium on Operating Systems Design and Implementation.Berkeley,CA:USENIX Association,2018:561-577.

        [28]Deng Li. The MNIST database of handwritten digit images for machine learning research[J].IEEE Signal Processing Magazine,2012,29(6):141-142.

        [29]LeCun Y. LeNet5, convolutional neural networks[EB/OL].(2015).http://yann.lecun.com/exdb/lenet.

        [30]Krizhevsky A, Nair V, Hinton G. CIFAR-10 and CIFAR-100 datasets[EB/OL].[2023-03-01].http://www.cs.toronto.edu/~kriz/cifar.html.

        亚洲区在线| 亚洲av日韩综合一区久热| 伊人久久大香线蕉av网禁呦| 日韩AV不卡一区二区三区无码| 无遮高潮国产免费观看韩国| 国产成人精品久久二区二区91| 欧美成人www在线观看| 最近中文字幕在线mv视频在线| 亚洲国产av精品一区二区蜜芽| 粉嫩少妇内射浓精videos| 2020最新国产激情| 中文字幕人妻日韩精品 | 亚洲精品国产av成拍色拍| 国产成人无码a区在线观看导航| 色老头在线一区二区三区| 久久亚洲第一视频黄色| 亚洲国产一区一区毛片a| 日韩av激情在线观看| 大地资源中文第三页| 东风日产系列全部车型| 日本中文字幕婷婷在线| 亚洲av无码xxx麻豆艾秋| 亚洲熟妇AV一区二区三区宅男| 翘臀诱惑中文字幕人妻| 肉色丝袜足j视频国产| 亚洲欧美日韩国产精品专区| 91精品国产闺蜜国产在线| 91九色视频在线国产| 久久成人影院精品777| 国产日b视频| 国产女主播大秀在线观看| 国产老熟妇精品观看| 久久免费看少妇高潮v片特黄 | 亚洲欧美综合在线天堂| 中文字幕麻豆一区二区| 精品国产亚洲级一区二区| 日本牲交大片免费观看| 最新国产女主播福利在线观看| 亚洲综合在不卡在线国产另类| 亚洲国产精品一区二区www| 欧美性久久|