朱光宇,謝在鵬,朱躍龍
(河海大學(xué) 計(jì)算機(jī)與信息學(xué)院,南京 211100)
神經(jīng)網(wǎng)絡(luò)[1]是對(duì)于人腦認(rèn)知能力的近似和模擬,通過模仿生物神經(jīng)網(wǎng)絡(luò)的特性來處理各類非線性復(fù)雜問題.多年來,神經(jīng)網(wǎng)絡(luò)在模式識(shí)別、圖像處理、語音識(shí)別、文本處理、目標(biāo)檢測(cè)、人臉識(shí)別等多個(gè)領(lǐng)域取得巨大成就[2-7].
神經(jīng)網(wǎng)絡(luò)在高速發(fā)展的同時(shí)也面臨著挑戰(zhàn)[8].目前已有的深度神經(jīng)網(wǎng)絡(luò),其網(wǎng)絡(luò)模型結(jié)構(gòu)及相應(yīng)參數(shù)量日趨龐大.在如此復(fù)雜的網(wǎng)絡(luò)模型下,訓(xùn)練數(shù)據(jù)量增長的同時(shí),往往帶來的是訓(xùn)練過程中各類計(jì)算量的指數(shù)增長,這也意味著傳統(tǒng)在單機(jī)上進(jìn)行訓(xùn)練的方式變得緩慢而又沉重,其所引起的后果將是巨大的時(shí)間成本開銷和訓(xùn)練質(zhì)量的下降[9,10].因此,研究者們[11-20]提出了多種針對(duì)神經(jīng)網(wǎng)絡(luò)并行化改進(jìn)的方法,其所關(guān)注的問題主要包括兩個(gè)方面:一是如何通過并行化方式加速模型收斂進(jìn)程,減少訓(xùn)練時(shí)間;二是在并行化過程中如何提高訓(xùn)練模型的精度,減少因并行化所帶來的模型精度下降.
為了解決神經(jīng)網(wǎng)絡(luò)訓(xùn)練效率的問題,研究者們提出了多種并行化策略,如表1所列,具體可分為兩類:硬件架構(gòu)層面的改進(jìn)和軟件體系層面的改進(jìn).
表1 神經(jīng)網(wǎng)絡(luò)并行化策略Table 1 Parallel strategies of neural network
在過去一段時(shí)間,雖然CPU性能得到較大提升,但依舊難以支撐復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練,研究者們開始將模型訓(xùn)練所依托的硬件體系重心轉(zhuǎn)向其他高并行度、高吞吐量的硬件架構(gòu)以提高模型訓(xùn)練過程中的并行處理能力.文獻(xiàn)[11]提出在多GPU下的并行優(yōu)化策略,提高GPU利用率的同時(shí)減少數(shù)據(jù)傳輸開銷.文獻(xiàn)[12]將神經(jīng)網(wǎng)絡(luò)模型分別在CPU,GPU,ASIC,F(xiàn)PGA上進(jìn)行了實(shí)現(xiàn)并做出了比較,實(shí)驗(yàn)結(jié)果表明,F(xiàn)PGA和ASIC表現(xiàn)的性能遠(yuǎn)優(yōu)于CPU和GPU,相比之下ASIC效率更高一些,但FPGA具備更加靈活的策略.雖然硬件可以在一定程度上提高神經(jīng)網(wǎng)絡(luò)的效率,但是成本較高,而且需要對(duì)現(xiàn)有架構(gòu)做較大的改變,如何尋求當(dāng)前分布式架構(gòu)下的一種高效方法更加經(jīng)濟(jì)科學(xué).
各種并行模型及各類算法的出現(xiàn)使這一問題得到有效改善.文獻(xiàn)[13]和文獻(xiàn)[14]分別通過MapReduce及Spark模型實(shí)現(xiàn)了神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)并行化訓(xùn)練.文獻(xiàn)[15]提出一種基于差分進(jìn)化的并行方案,但僅對(duì)算法內(nèi)部計(jì)算適應(yīng)度的過程進(jìn)行了并行化.文獻(xiàn)[16]提出在神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)并行化過程中,階段性地獲取每個(gè)子模型,然后通過參數(shù)平均法得到一個(gè)全局模型并分發(fā)給各子節(jié)點(diǎn)進(jìn)行后續(xù)訓(xùn)練.文獻(xiàn)[17]提出一種基于模型平均的框架,與文獻(xiàn)[16]不同,僅當(dāng)每個(gè)子模型訓(xùn)練至收斂后,才取平均后的結(jié)果作為最優(yōu)模型.雖然模型平均是并行訓(xùn)練過程中獲取全局模型可行的方案,但得到的全局模型往往效果一般,模型精度甚至低于其子模型,文獻(xiàn)[18]對(duì)此進(jìn)行了論證,同時(shí)提出了一種壓縮算法,該方法獲得的全局模型相較于均值方法獲得了更高的精度,但增加了額外的學(xué)習(xí)過程.除了模型精度問題之外,還要考慮由于并行化所帶來的額外時(shí)間開銷問題.文獻(xiàn)[19]對(duì)深度神經(jīng)網(wǎng)絡(luò)在并行化訓(xùn)練過程中的數(shù)據(jù)通信開銷進(jìn)行了研究,提出了一種自適應(yīng)量化算法實(shí)現(xiàn)了接近線性的加速.文獻(xiàn)[20]提出了一種根據(jù)數(shù)據(jù)稀疏性優(yōu)化數(shù)據(jù)傳輸量的混合方法.上述研究均未考慮到并行訓(xùn)練過程中,由于節(jié)點(diǎn)計(jì)算能力不平衡所造成節(jié)點(diǎn)等待的額外時(shí)間開銷.本文基于以上存在問題提出新的解決方案.
深度神經(jīng)網(wǎng)絡(luò)是一個(gè)包含輸入層、輸出層以及多個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò),如圖1所示.神經(jīng)網(wǎng)絡(luò)自底向上逐層完成計(jì)算和傳遞,最終在輸出層得到結(jié)果,這樣一個(gè)過程稱之為前向計(jì)算.
前向計(jì)算完成的同時(shí),反向自頂向下通過例如隨機(jī)梯度下降法來完成參數(shù)的更新,如公式(1)所示:
(1)
公式(1)中netj表示神經(jīng)元ej的輸入,δj表示神經(jīng)元ej的誤差敏感度,ai表示神經(jīng)元ei的輸出,η表示學(xué)習(xí)率,Err表示誤差.對(duì)訓(xùn)練樣本按照上述訓(xùn)練過程進(jìn)行數(shù)輪迭代,每完
圖1 深度神經(jīng)網(wǎng)絡(luò)Fig.1 Deep neural network
成一輪訓(xùn)練,模型會(huì)得到一次參數(shù)更新.訓(xùn)練DNN的目標(biāo)就是盡可能發(fā)揮其非線性逼近能力,使模型朝著正確的方向收斂,從而提高輸出結(jié)果的精確度.
深度神經(jīng)網(wǎng)絡(luò)的并行化行式主要包含兩類:數(shù)據(jù)并行化和模型并行化[1,9].模型并行化指將DNN模型內(nèi)部中各部分結(jié)構(gòu)分別映射到多個(gè)節(jié)點(diǎn)上實(shí)現(xiàn)并行計(jì)算,該方式所帶來的影響是節(jié)點(diǎn)間頻繁的數(shù)據(jù)通信開銷.數(shù)據(jù)并行化指將訓(xùn)練數(shù)據(jù)劃分到多個(gè)節(jié)點(diǎn),由各節(jié)點(diǎn)分別訓(xùn)練其所獲得的本地?cái)?shù)據(jù).參數(shù)服務(wù)器階段性地收集各節(jié)點(diǎn)訓(xùn)練出的本地模型并聚合出一個(gè)新的全局模型,再將其分發(fā)到各個(gè)節(jié)點(diǎn)上用于之后的訓(xùn)練.目前采用較多的方式為后者,通過數(shù)輪迭代的并行化訓(xùn)練,在達(dá)到終止條件后結(jié)束獲得最終模型,如圖2所示.
圖2 數(shù)據(jù)并行化Fig.2 Data parallelism
一個(gè)典型的DNN數(shù)據(jù)并行化訓(xùn)練過程可以被描述為如下步驟:
1)數(shù)據(jù)劃分.訓(xùn)練數(shù)據(jù)集D被劃分成n塊分配到集群中的n個(gè)訓(xùn)練節(jié)點(diǎn)上,D={D1,D2,…,Dn}.
(2)
公式(2)中f(·)為聚合函數(shù),αk為權(quán)重.一般常用聚合方法有,model averaging,即取αk=1/n,對(duì)模型參數(shù)進(jìn)行平均;回歸方法,即單獨(dú)將聚合過程看作一次線性回歸問題,通過學(xué)習(xí)得到各模型的加權(quán)比重.
4)迭代訓(xùn)練.在進(jìn)行第t+1輪訓(xùn)練前,參數(shù)服務(wù)器會(huì)將上一步得到的全局模型分發(fā)給各個(gè)節(jié)點(diǎn)作為其新一輪訓(xùn)練時(shí)的初始本地模型,如公式(3)所示:
(3)
模型按照上述步驟重復(fù)進(jìn)行多輪迭代訓(xùn)練,訓(xùn)練結(jié)束后獲得最終DNN模型.
本文提出了一種在現(xiàn)有分布式環(huán)境下進(jìn)行深度神經(jīng)網(wǎng)絡(luò)并行化訓(xùn)練的方法DE-DNN.該方法提供兩種策略從模型和數(shù)據(jù)兩個(gè)層面對(duì)DNN數(shù)據(jù)并行化過程進(jìn)行優(yōu)化.
在階段性的模型聚合過程中通過一般方法得到的新全局模型往往效果一般[18],從而影響整個(gè)并行訓(xùn)練過程的收斂速度,本文對(duì)該步驟進(jìn)行改進(jìn).差分進(jìn)化(Differential Evolution,DE)是一類基于群體差異的全局優(yōu)化方法[21],相較于其他方法[22],具備全局收斂快、算法穩(wěn)定、結(jié)構(gòu)簡(jiǎn)單的優(yōu)點(diǎn).一個(gè)典型的差分進(jìn)化算法形式為“DE/rand/1/bin”,包括變異、雜交、選擇步驟.其基本思想是每次隨機(jī)選取三個(gè)個(gè)體,其中兩個(gè)進(jìn)行向量差操作后結(jié)果加權(quán)并與第三個(gè)求和來產(chǎn)生新個(gè)體,最終通過將適應(yīng)度高的新個(gè)體淘汰適應(yīng)度低的舊個(gè)體來完成種群的更新.本文將基于此對(duì)DNN并行訓(xùn)練過程中獲取全局模型的關(guān)鍵步驟3進(jìn)行優(yōu)化,以達(dá)到改善全局模型精度進(jìn)而加快收斂速度的目的,具體實(shí)現(xiàn)見算法1.
算法1.DE模型優(yōu)化算法
2.forifrom 1 tondo
3. generate new solutions by mutation:
5. generate new solutions by crossover:
6.forjfrom 1 toddo
7.ifrandj 9.else 11. get selection for next round: 13.ifAccuu>Accuwthen 15.else 19.end. 假設(shè)當(dāng)前處于第t輪,且各節(jié)點(diǎn)已完成本輪的本地訓(xùn)練,算法具體可以描述為以下幾個(gè)步驟: (4) (5) (6) 往后每一輪各節(jié)點(diǎn)完成本地訓(xùn)練后,重復(fù)上述步驟,直到達(dá)到終止條件,此時(shí)參數(shù)服務(wù)器從當(dāng)前種群中選擇最優(yōu)個(gè)體作為最終模型.整體過程如圖3所示. 圖3 DE模型優(yōu)化過程Fig.3 DE model optimization 算法的性能很大程度上取決于縮放因子F和雜交因子CR的設(shè)定,由于不同的參數(shù)設(shè)定會(huì)造成不同的影響,我們采用一種自適應(yīng)控制參數(shù)法[23]進(jìn)行調(diào)控,如公式(7、8)所示: (7) (8) 公式(7、8)中randi,i∈{1,2,3,4}是0~1范圍內(nèi)的隨機(jī)數(shù),代表隨機(jī)概率;τ1和τ2分別代表調(diào)整F和CR的概率.設(shè)置τ1=τ2=0.1,F(xiàn)l=0.1,F(xiàn)u=0.9.因此,新的縮放因子F是0.1~1范圍內(nèi)的隨機(jī)值,新的雜交因子CR是0~1范圍內(nèi)的隨機(jī)值,通過此方式實(shí)現(xiàn)了訓(xùn)練過程中每代因子的動(dòng)態(tài)優(yōu)化. 在現(xiàn)有分布式環(huán)境下進(jìn)行DNN數(shù)據(jù)并行化同樣面臨著訓(xùn)練節(jié)點(diǎn)計(jì)算能力不均的問題.考慮到各節(jié)點(diǎn)在同一時(shí)段可能存在性能差異,并行訓(xùn)練過程中易出現(xiàn)在某一輪中,已完成本地訓(xùn)練的節(jié)點(diǎn)需要等待少數(shù)性能不佳的節(jié)點(diǎn)完成其本地訓(xùn)練后才可以繼續(xù)后面工作,從而造成額外的節(jié)點(diǎn)等待時(shí)間開銷,這與數(shù)據(jù)在各節(jié)點(diǎn)分配的數(shù)量有關(guān).本文中DE-DNN提出一種新的基于批處理的自適應(yīng)數(shù)據(jù)分配策略BSDA,將訓(xùn)練數(shù)據(jù)逐批次并根據(jù)各節(jié)點(diǎn)當(dāng)前性能分配適量的數(shù)據(jù),從而實(shí)現(xiàn)訓(xùn)練過程中各節(jié)點(diǎn)樣本數(shù)量的動(dòng)態(tài)優(yōu)化,具體實(shí)現(xiàn)見算法2. 算法2.BSDA數(shù)據(jù)分配算法 輸入:訓(xùn)練數(shù)據(jù)集D,集群節(jié)點(diǎn)數(shù)n,劃分批次m,新批次數(shù)據(jù)b 輸出:新批次數(shù)據(jù)各節(jié)點(diǎn)分配量 1.B{B1,B2…Bm}←divide the data set equally intombatches; 2.ifb=B1then 5.else 7.forifrom 1 tondo 9. predict new training time for roundt+1 by efficiency: 12. develop new divisions forbto each node: 15.end. 假設(shè)當(dāng)前的分布式集群中存在n個(gè)訓(xùn)練節(jié)點(diǎn),訓(xùn)練數(shù)據(jù)總量為d.BSDA將數(shù)據(jù)分成m個(gè)批次,每次只將d/m個(gè)數(shù)據(jù)劃分給集群,再由BSDA決定分配到各個(gè)節(jié)點(diǎn)的數(shù)量.首批次分配采用均勻劃分,各節(jié)點(diǎn)分配到的數(shù)據(jù)量如公式(9)所示: (9) (10) (11) 以此類推,逐批次為各節(jié)點(diǎn)分配適量訓(xùn)練數(shù)據(jù),用公式(12)統(tǒng)一表示.每批次各節(jié)點(diǎn)分配數(shù)據(jù)量依據(jù)最近一輪各節(jié)點(diǎn)訓(xùn)練效率進(jìn)行裁定,本文稱之為自適應(yīng)分配策略. (12) (13) 文中實(shí)驗(yàn)所采用的環(huán)境配置如表2所示.實(shí)驗(yàn)采用CIFAR-10和CIFAR-100數(shù)據(jù)集[24]進(jìn)行測(cè)試.CIFAR-10是一個(gè)由10類共60000張彩色圖像構(gòu)成的數(shù)據(jù)集,該數(shù)據(jù)集中50000張為訓(xùn)練數(shù)據(jù),10000張為測(cè)試數(shù)據(jù).CIFAR-100數(shù)據(jù)集大小和格式與CIFAR-10相同,但標(biāo)簽為100個(gè)類別,每類圖像數(shù)量僅CIFAR-10數(shù)據(jù)集的1/10. 表2 實(shí)驗(yàn)環(huán)境Table 2 Experimental environment 實(shí)驗(yàn)中基于NiN[25]深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行實(shí)現(xiàn),該模型所實(shí)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,各層參數(shù)信息見表3,共包含966986個(gè)參數(shù).實(shí)現(xiàn)過程中,同時(shí)采用了隨機(jī)初始化參數(shù)和對(duì)網(wǎng)絡(luò)內(nèi)部進(jìn)行Dropout的操作.以上NiN模型及相應(yīng)操作皆通過TensorFlow實(shí)現(xiàn)并應(yīng)用于CIFAR-10數(shù)據(jù)集的測(cè)試中.而對(duì)于CIFAR-100數(shù)據(jù)集,其所實(shí)現(xiàn)的NiN網(wǎng)絡(luò)模型結(jié)構(gòu)相同,唯一區(qū)別是Mlpconv3層會(huì)輸出100個(gè)特征映射. 圖4 NiN實(shí)驗(yàn)?zāi)P虵ig.4 NiN experimental model 表3 參數(shù)信息Table 3 Parameters information 實(shí)驗(yàn)根據(jù)目標(biāo)不同分為兩個(gè)部分: 1)模型收斂速度實(shí)驗(yàn).在并行化訓(xùn)練過程中,對(duì)于階段性獲取全局模型的方法,這里將本文提出的模型優(yōu)化方法稱為DE,同時(shí)將一般常用的Model Averaging方法稱為MA,回歸方法稱為RG,對(duì)于傳統(tǒng)串行訓(xùn)練稱為SE.DE方法增加測(cè)試F、CR因子的設(shè)定對(duì)實(shí)驗(yàn)產(chǎn)生的影響,對(duì)于本文采用的自適應(yīng)參數(shù)控制法稱為SA(·),同時(shí)測(cè)試全過程對(duì)F、CR設(shè)定固定值產(chǎn)生的結(jié)果.實(shí)驗(yàn)中會(huì)記錄不同階段各方法得到的模型參數(shù)以及所用時(shí)間,并通過測(cè)試集的分類準(zhǔn)確率進(jìn)行實(shí)驗(yàn)對(duì)照. 2)數(shù)據(jù)分配方法實(shí)驗(yàn).對(duì)DE-DNN采用一般等量分配方法實(shí)現(xiàn),這里稱為EDA,并與本文提出的BSDA方法進(jìn)行實(shí)驗(yàn)比較.同時(shí)考慮分布式環(huán)境下訓(xùn)練節(jié)點(diǎn)數(shù)量對(duì)實(shí)驗(yàn)的影響,我們對(duì)節(jié)點(diǎn)數(shù)量進(jìn)行調(diào)整,比較在不同訓(xùn)練節(jié)點(diǎn)數(shù)量下各方法的訓(xùn)練時(shí)間. 實(shí)驗(yàn)1結(jié)果反映了各階段,使用傳統(tǒng)串行訓(xùn)練SE方法以及并行訓(xùn)練過程中使用DE方法和MA、GR方法得到的全局模型在測(cè)試集上的分類準(zhǔn)確率.圖5、圖6分別記錄了各方法在CIFAR-10和CIFAR-100數(shù)據(jù)集上的表現(xiàn).結(jié)果顯示,傳統(tǒng)SE訓(xùn)練方法在訓(xùn)練各階段所表現(xiàn)出的模型分類準(zhǔn)確率皆遠(yuǎn)低于三種并行訓(xùn)練方法;DE方法在并行訓(xùn)練過程中,表現(xiàn)出了高于其他方法的分類準(zhǔn)確率,在訓(xùn)練中前期收斂速度明顯加快,可以在較短時(shí)間內(nèi)收斂到更高精度的全局模型,在后期雖然收斂速度放緩,但依舊表現(xiàn)出較高的分類準(zhǔn)確率.為了更直觀比較各方法收斂速度,實(shí)驗(yàn)過程中記錄了各方法訓(xùn)練出的模型在收斂到一定精度時(shí)所產(chǎn)生的時(shí)間開銷,如表4所示.結(jié)果表明,對(duì)于實(shí)驗(yàn)中的兩類數(shù)據(jù)集,DE方法在訓(xùn)練過程中的模型收斂可以產(chǎn)生較少的訓(xùn)練時(shí)間. 圖5 CIFAR-10測(cè)試集準(zhǔn)確率 圖6 CIFAR-100測(cè)試集準(zhǔn)確率 表4 各方法達(dá)到不同準(zhǔn)確率所用時(shí)間Table 4 Time for each method to achieve different accuracy 實(shí)驗(yàn)中同時(shí)比較了并行訓(xùn)練過程中各階段,參數(shù)服務(wù)器內(nèi)不同聚合方法所產(chǎn)生的全局模型是否優(yōu)于各本地模型的平均水平.即在并行訓(xùn)練各階段,獲得所有本地模型精度和的平均值,并統(tǒng)計(jì)各聚合方法獲得的全局模型精度大于該平均值次數(shù)的比例,本文將該實(shí)驗(yàn)指標(biāo)稱為全局模型優(yōu)越度,用effciency表示,在CIFAR-10和CIFAR-100數(shù)據(jù)集上分別統(tǒng)計(jì)達(dá)到0.8和0.6分類準(zhǔn)確率時(shí)的effciency值.實(shí)驗(yàn)結(jié)果如圖7所示,DE聚合方法在CIFAR-10測(cè)試集上全局模型優(yōu)越度接近0.8,在CIFAR-100上超過0.7,且高于MA和RG方法的effciency值,表明DE方法在并行訓(xùn)練的多數(shù)階段,模型精度總體高于各訓(xùn)練節(jié)點(diǎn)的平均水平,有助于在并行化過程中促進(jìn)全局模型向正確方向收斂,提升訓(xùn)練效率. 圖7 全局模型優(yōu)越度Fig.7 Global model effciency 實(shí)驗(yàn)中同時(shí)注意到,DE方法在訓(xùn)練過程中所獲模型精度時(shí)出現(xiàn)波動(dòng),為測(cè)試算法內(nèi)部F和CR兩個(gè)因子的選定對(duì)DE過程的影響,表5記錄了實(shí)驗(yàn)中當(dāng)F、CR選取固定值時(shí)和通過SA(·)動(dòng)態(tài)變化時(shí)DE-DNN產(chǎn)生的時(shí)間開銷.結(jié)果表明,當(dāng)F、CR兩個(gè)因子在訓(xùn)練全過程始終不變時(shí)模型的收斂速度,皆低于動(dòng)態(tài)SA(·)方法;且通過調(diào)整兩個(gè)因子的設(shè)定值發(fā)現(xiàn),隨著F、CR增大,對(duì)訓(xùn)練效率造成的影響越大. 表5 不同F(xiàn)CR因子值所用時(shí)間Table 5 Time for different FCR factor values 實(shí)驗(yàn)2分別在CIFAR-10和CIFAR-100數(shù)據(jù)集下進(jìn)行測(cè)試,比較了兩種數(shù)據(jù)分配方法BSDA和EDA所引入的訓(xùn)練時(shí)間開銷.其中,根據(jù)數(shù)據(jù)集不同,CIFAR-10以分類準(zhǔn)確率達(dá)到0.8時(shí)所引用的時(shí)間進(jìn)行參照,CIFAR-100以分類準(zhǔn)確率達(dá)到0.6時(shí)所引用的時(shí)間進(jìn)行參照.實(shí)驗(yàn)中,設(shè)置一臺(tái)參數(shù)服務(wù)器,分別調(diào)整訓(xùn)練節(jié)點(diǎn)的數(shù)量進(jìn)行多次測(cè)試,比較不同節(jié)點(diǎn)數(shù)量下各方法的變化情況.實(shí)驗(yàn)結(jié)果如圖8、圖9所示. 圖8 CIFAR-10訓(xùn)練時(shí)間 圖9 CIFAR-100訓(xùn)練時(shí)間 由實(shí)驗(yàn)結(jié)果可知,本文提出的BSDA數(shù)據(jù)分配方法在多訓(xùn)練節(jié)點(diǎn)環(huán)境下,相較于一般等量分配EDA表現(xiàn)出了更少的訓(xùn)練時(shí)間開銷,且隨著節(jié)點(diǎn)數(shù)量增多,兩種方法的時(shí)間差越明顯,表明出自適應(yīng)數(shù)據(jù)分配策略的優(yōu)異性.但在少量節(jié)點(diǎn)環(huán)境下效果一般,圖9中顯示在僅有兩個(gè)訓(xùn)練節(jié)點(diǎn)的條件下,BSDA較EDA反而產(chǎn)生了更長的時(shí)間開銷.同時(shí)注意到,在訓(xùn)練節(jié)點(diǎn)數(shù)量大于6后,兩種方法對(duì)應(yīng)的時(shí)間減少幅度放緩,這表明在一定數(shù)據(jù)量下,通過增加訓(xùn)練節(jié)點(diǎn)數(shù)量可以在有效范圍內(nèi)提升效率,但持續(xù)增加下去所帶來的額外開銷也會(huì)對(duì)整體進(jìn)程產(chǎn)生制約. 深度神經(jīng)網(wǎng)絡(luò)在高速發(fā)展的同時(shí)面臨著訓(xùn)練效率、模型質(zhì)量等諸多挑戰(zhàn),對(duì)于深度神經(jīng)網(wǎng)絡(luò)的并行化研究成為熱點(diǎn).在現(xiàn)有分布式環(huán)境下進(jìn)行數(shù)據(jù)并行化訓(xùn)練是DNN并行化的一種有效方案,但其存在全局模型精度不佳、訓(xùn)練節(jié)點(diǎn)性能不平衡的問題.針對(duì)該上述問題,本文提出了一種基于差分進(jìn)化改進(jìn)的深度神經(jīng)網(wǎng)絡(luò)并行化方法DE-DNN.DE-DNN利用差分進(jìn)化算法全局收斂快、實(shí)現(xiàn)簡(jiǎn)單的優(yōu)點(diǎn)對(duì)DNN并行化訓(xùn)練過程中獲取全局模型的關(guān)鍵步驟進(jìn)行改進(jìn)和優(yōu)化;同時(shí)提出自適應(yīng)數(shù)據(jù)分配算法減少多節(jié)點(diǎn)訓(xùn)練過程中的額外等待時(shí)間開銷.實(shí)驗(yàn)中,在CIFAR-10和CIFAR-100數(shù)據(jù)集上基于NiN深度網(wǎng)絡(luò)模型對(duì)DE-DNN進(jìn)行了實(shí)現(xiàn)和測(cè)試.實(shí)驗(yàn)結(jié)果表明,DE-DNN中提出的DE模型優(yōu)化方法在訓(xùn)練過程中相較于一般方法SE、MA、RG表現(xiàn)出了更快的收斂速度和更高的全局模型精度;同時(shí),自適應(yīng)數(shù)據(jù)分配算法BSDA相較于一般等量分配方法EDA花費(fèi)了更少的訓(xùn)練時(shí)間,減少了因節(jié)點(diǎn)性能不平衡所產(chǎn)生的額外等待時(shí)間,加速了訓(xùn)練進(jìn)程.未來我們將基于其他不同復(fù)雜程度的神經(jīng)網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn),并嘗試分離出一套通用的DE-DNN框架以適應(yīng)更多類型的深度神經(jīng)網(wǎng)絡(luò)進(jìn)行并行化接入和測(cè)試.4.2 BSDA數(shù)據(jù)分配策略
5 實(shí)驗(yàn)評(píng)估
5.1 實(shí)驗(yàn)設(shè)置
5.2 結(jié)果分析
6 總 結(jié)