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

        ?

        基于分布式內(nèi)存計(jì)算的深度學(xué)習(xí)方法

        2015-06-13 07:30:08李抵非胡雄偉
        關(guān)鍵詞:分片內(nèi)存集群

        李抵非,田 地,胡雄偉

        (1.吉林大學(xué) 儀器科學(xué)與電氣工程學(xué)院,長(zhǎng)春130021;2.國(guó)家標(biāo)準(zhǔn)化管理委員會(huì) 標(biāo)準(zhǔn)信息中心,北京100088)

        近年來(lái)隨著對(duì)深度學(xué)習(xí)領(lǐng)域研究的深入,已經(jīng)證實(shí)通過(guò)擴(kuò)大訓(xùn)練樣本的數(shù)量和模型參數(shù)的規(guī)??梢杂行嵘P偷木龋?-3]。為了克服由于擴(kuò)大訓(xùn)練規(guī)模造成的時(shí)間成本問(wèn)題,許多基于深度神經(jīng)網(wǎng)絡(luò)的并行化計(jì)算方法被提出,其中大致分為兩類(lèi)方法,一是采用集群的方式對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行分布式訓(xùn)練[4-5],二是利用圖形處理單元(GPU)特性進(jìn)行并行加速[6-9]。采用GPU 計(jì)算的方法雖然有效地提升了模型的訓(xùn)練效率,但是由于現(xiàn)階段顯卡顯存的限制和其不易擴(kuò)展的特點(diǎn),GPU 的運(yùn)用還主要集中在訓(xùn)練中、小規(guī)模深度神經(jīng)網(wǎng);使用大規(guī)模集群的方式可以訓(xùn)練大型深度神經(jīng)網(wǎng),并取得了良好的效果,但所有訓(xùn)練模型的副本以及參數(shù)需保存在存儲(chǔ)設(shè)備中,訓(xùn)練過(guò)程中頻繁發(fā)生存儲(chǔ)設(shè)備的讀寫(xiě)操作,I/O 的速率將會(huì)影響訓(xùn)練的效率。

        本文采用分布式內(nèi)存計(jì)算的方式,使整個(gè)深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程運(yùn)行在集群的分布式內(nèi)存之上,既保證了深度神經(jīng)網(wǎng)絡(luò)規(guī)??蓴U(kuò)展又避免了I/O 讀寫(xiě)速率對(duì)系統(tǒng)的影響,提高了訓(xùn)練效率。

        1 深度神經(jīng)網(wǎng)絡(luò)模型

        目前深度神經(jīng)網(wǎng)絡(luò)模型存在很多種類(lèi),本文以深度信念網(wǎng)絡(luò)(Deep belief networks,DBNs)模型[10-12]為例,將其運(yùn)行在分布式集群之上。DBNs是由多層限制玻爾茲曼機(jī)(RBM)堆疊形成,采用無(wú)監(jiān)督貪婪逐層訓(xùn)練的方式進(jìn)行學(xué)習(xí)。DBNs 是一個(gè)概率生成模型,目的是建立可視層和隱藏層之間的聯(lián)合分布。

        式中:v 和h 為可視層單元和隱藏層單元;E(v,h|θ)為系統(tǒng)所具備的能量表達(dá)式;Z(θ)為歸一化因子,θ={W,a,b};W 為可視層和隱藏層之間的權(quán)重;a 和b 分別是可視層和隱藏層的偏置向量。

        由于RBM 層級(jí)內(nèi)節(jié)點(diǎn)間無(wú)連接,各神經(jīng)單元激活狀態(tài)是條件獨(dú)立,則第i 個(gè)可視單元和第j 個(gè)隱藏單元被激活的概率表達(dá)式如式(4)(5)所示:

        根據(jù)Hinton 提出的對(duì)比散度[13]的方法,利用式(4)(5),使用訓(xùn)練數(shù)據(jù)v0輸入系統(tǒng),并通過(guò)k步吉布斯采樣對(duì)可視單元和隱藏單元進(jìn)行重構(gòu)。使用隨機(jī)梯度下降法訓(xùn)練數(shù)據(jù)時(shí),各參數(shù)更新的準(zhǔn)則如式(6)~(8)所示:

        式中:〈〉data表示關(guān)于分布p(h=1|v,θ)的數(shù)學(xué)期望;〈〉recon表示經(jīng)過(guò)吉布斯采樣重構(gòu)后關(guān)于分布p(h'=1|v,θ)的數(shù)學(xué)期望;ε 表示模型的學(xué)習(xí)速率。

        2 分布式內(nèi)存計(jì)算結(jié)構(gòu)

        為了使深度神經(jīng)網(wǎng)絡(luò)模型能夠分布式地運(yùn)行于集群之上,需要構(gòu)建一個(gè)并行計(jì)算的框架。目前的分布式計(jì)算方式是采用MapReduce 架構(gòu)來(lái)運(yùn)行,在計(jì)算迭代的過(guò)程中需要不斷地與存儲(chǔ)設(shè)備發(fā)生讀寫(xiě)操作。而如果采用分布式內(nèi)存的方式來(lái)承載工作數(shù)據(jù)集,模型的計(jì)算和存儲(chǔ)都發(fā)生在分布式內(nèi)存系統(tǒng)當(dāng)中,則可以提升計(jì)算性能。采用集群分布式內(nèi)存計(jì)算的結(jié)構(gòu)能可擴(kuò)展地在內(nèi)存集群計(jì)算中緩存數(shù)據(jù)集,以縮短訪問(wèn)時(shí)間,利于存在迭代過(guò)程的深度學(xué)習(xí)算法,節(jié)省了大量的I/O操作,提升了算法的效率。

        集群的分布式內(nèi)存計(jì)算架構(gòu)采用主從模式,如圖1 所示。控制節(jié)點(diǎn)主要保存集群中計(jì)算節(jié)點(diǎn)信息,并建立任務(wù)調(diào)度機(jī)制、數(shù)據(jù)分片調(diào)度和追蹤機(jī)制,以及并行計(jì)算狀態(tài)追蹤機(jī)制;計(jì)算節(jié)點(diǎn)則通過(guò)與控制節(jié)點(diǎn)通信,開(kāi)辟內(nèi)存空間,創(chuàng)建任務(wù)線程池,運(yùn)行控制節(jié)點(diǎn)分派的任務(wù)。

        程序運(yùn)行于分布式內(nèi)存集群的流程大致可分為5 個(gè)階段:

        (1)初始化集群管理程序。檢測(cè)集群可用CPU 和內(nèi)存等狀態(tài)信息。集群管理程序是控制樞紐,可為后續(xù)計(jì)算任務(wù)分配資源。同時(shí)初始化任務(wù)調(diào)度器和任務(wù)追蹤器,其功能為分發(fā)任務(wù)以及收集任務(wù)反饋。

        (2)初始化應(yīng)用運(yùn)算實(shí)例。依據(jù)用戶提交的程序描述創(chuàng)建分布式的數(shù)據(jù)集對(duì)象,計(jì)算數(shù)據(jù)集的分片,創(chuàng)建數(shù)據(jù)分片信息列表、數(shù)據(jù)分片之間依賴(lài)關(guān)系列表。依據(jù)數(shù)據(jù)的本地性原則,分配相應(yīng)數(shù)據(jù)分片存儲(chǔ)于指定的計(jì)算節(jié)點(diǎn)之上。

        (3)構(gòu)建運(yùn)算的有向無(wú)環(huán)圖(Directed acyclical graphs,DAG)。將運(yùn)算過(guò)程中涉及到的map、sort、merge、shuffle 等計(jì)算過(guò)程以序列的方式增量累加成DAG 圖,而后依據(jù)DAG 圖將整個(gè)運(yùn)算過(guò)程分解成多個(gè)任務(wù)集合[14]。

        (4)任務(wù)調(diào)度器按照任務(wù)執(zhí)行自頂向下的順序,將任務(wù)集合中的子任務(wù)通過(guò)集群管理器分發(fā)到指定的計(jì)算節(jié)點(diǎn)之上,每個(gè)任務(wù)對(duì)應(yīng)著一個(gè)數(shù)據(jù)分片。如果任務(wù)失敗則重新發(fā)布。

        (5)計(jì)算節(jié)點(diǎn)接收到任務(wù)后,為任務(wù)分配計(jì)算資源,創(chuàng)建進(jìn)程池開(kāi)始執(zhí)行計(jì)算,并向控制節(jié)點(diǎn)反饋進(jìn)程分配情況。

        集群運(yùn)行計(jì)算過(guò)程中需要保證任務(wù)的最優(yōu)調(diào)度,即將任務(wù)分配到相應(yīng)計(jì)算節(jié)點(diǎn)之上,該節(jié)點(diǎn)緩存了任務(wù)計(jì)算所需的數(shù)據(jù)分片,確保數(shù)據(jù)的本地性。同時(shí)當(dāng)某個(gè)任務(wù)運(yùn)行速度低于一定閾值時(shí),則在其他節(jié)點(diǎn)之上重新開(kāi)啟任務(wù)。

        3 深度神經(jīng)網(wǎng)絡(luò)并行結(jié)構(gòu)

        整個(gè)深度神經(jīng)網(wǎng)絡(luò)分布式運(yùn)行的總體結(jié)構(gòu)如圖2 所示。系統(tǒng)中的所有數(shù)據(jù)都經(jīng)過(guò)數(shù)據(jù)分片操作,圖2 中小方塊即代表一個(gè)數(shù)據(jù)分片,圖中的虛線框表示一個(gè)數(shù)據(jù)集,一個(gè)數(shù)據(jù)集由多個(gè)數(shù)據(jù)分片組成,數(shù)據(jù)分片分布于集群中多臺(tái)計(jì)算機(jī)內(nèi)存之上。訓(xùn)練數(shù)據(jù)保存在集群的分布式文件存儲(chǔ)系統(tǒng)當(dāng)中,本文采用的是hadoop 分布式文件系統(tǒng)(HDFS)。如果訓(xùn)練模型直接從HDFS 上面讀取數(shù)據(jù),則會(huì)受到磁盤(pán)I/O 的限制,所以系統(tǒng)將一部分訓(xùn)練數(shù)據(jù)用隨機(jī)采樣的方式緩存到集群的分布式共享內(nèi)存當(dāng)中,模型訓(xùn)練的過(guò)程中直接從采樣數(shù)據(jù)集中提取數(shù)據(jù)。采樣數(shù)據(jù)集以固定的時(shí)間間隔從HDFS 文件系統(tǒng)中刷新采樣樣本集。

        圖2 模型并行訓(xùn)練結(jié)構(gòu)Fig.2 model distributed training architecture

        系統(tǒng)將深度信念網(wǎng)絡(luò)模型的所有參數(shù)構(gòu)建成一個(gè)分布式的數(shù)據(jù)集。為了實(shí)現(xiàn)模型訓(xùn)練的并行化,系統(tǒng)采用創(chuàng)建多個(gè)神經(jīng)網(wǎng)絡(luò)模型副本的方式,同時(shí)訓(xùn)練各副本模型,即使承載訓(xùn)練任務(wù)的計(jì)算節(jié)點(diǎn)失效,也不會(huì)影響訓(xùn)練的整體進(jìn)程。每個(gè)副本也是由多個(gè)數(shù)據(jù)分片組成,利用分布式內(nèi)存的速度優(yōu)勢(shì),提高模型的訓(xùn)練速度。各副本結(jié)束訓(xùn)練之后,將計(jì)算后的參數(shù)調(diào)整值異步地傳送給模型參數(shù)數(shù)據(jù)集,并向數(shù)據(jù)集申請(qǐng)新的參數(shù),進(jìn)行下一步訓(xùn)練。由于參數(shù)數(shù)據(jù)集與模型副本都分布于集群的多臺(tái)機(jī)器上,副本與參數(shù)集的數(shù)據(jù)傳輸量即被分散,有效地緩解了計(jì)算節(jié)點(diǎn)之間的通信壓力。為了保證系統(tǒng)的穩(wěn)定性,在模型的訓(xùn)練過(guò)程中設(shè)置check point 機(jī)制,將模型中數(shù)據(jù)分片計(jì)算的過(guò)程信息,根據(jù)任務(wù)進(jìn)度異步保存到HDFS,防止由于計(jì)算節(jié)點(diǎn)發(fā)生錯(cuò)誤需重新運(yùn)算的情況。

        為了提高系統(tǒng)的魯棒性,采用Adagrad[15]自適應(yīng)學(xué)習(xí)速率方法,隨著訓(xùn)練的進(jìn)行自動(dòng)調(diào)整學(xué)習(xí)速率,學(xué)習(xí)速率如式(9)所示:

        式中:εi,k為第i 個(gè)參數(shù)在第k 次迭代時(shí)的學(xué)習(xí)速率;Δwi,j為目標(biāo)函數(shù)的梯度值;μ 為常數(shù)。

        學(xué)習(xí)速率的計(jì)算僅與參數(shù)歷史梯度值的平方和有關(guān),所以Adagrad 易于在每個(gè)參數(shù)服務(wù)器節(jié)點(diǎn)上單獨(dú)實(shí)現(xiàn)。

        為了防止模型訓(xùn)練過(guò)擬合,本文采用dropout方法[9]。模型訓(xùn)練時(shí)隨機(jī)讓網(wǎng)絡(luò)某些隱藏層節(jié)點(diǎn)的權(quán)重不工作,但是它的權(quán)重保留下來(lái)參與下一輪訓(xùn)練。每次有輸入時(shí),網(wǎng)絡(luò)采樣一個(gè)隨機(jī)結(jié)構(gòu),這樣每個(gè)神經(jīng)元都不能依賴(lài)于其他神經(jīng)元的存在,使模型神經(jīng)元間減少了相互作用,迫使神經(jīng)元與其他神經(jīng)元共同學(xué)習(xí)更多、更有用的特征。

        4 試驗(yàn)結(jié)果及分析

        4.1 試驗(yàn)設(shè)置

        試驗(yàn)所使用的訓(xùn)練樣本為CIFAR-10 圖片數(shù)據(jù)集。有60 000 張帶分類(lèi)標(biāo)簽的彩色圖片組成。圖片的分辨率為32×32。使用50 000 張圖片作為訓(xùn)練集,10 000 張作為測(cè)試集。試驗(yàn)集群由9臺(tái)虛擬機(jī)構(gòu)成,其中1 臺(tái)控制節(jié)點(diǎn),8 臺(tái)計(jì)算節(jié)點(diǎn)。每臺(tái)計(jì)算節(jié)點(diǎn)虛擬機(jī)包含8 核CPU、26 G 內(nèi)存。

        深度神經(jīng)網(wǎng)絡(luò)包括:輸入層、四層堆疊限制玻爾茲曼機(jī)作為隱藏層和一個(gè)softmax 輸出層。層間采用全連接結(jié)構(gòu),模型包含超過(guò)1.2×106個(gè)的神經(jīng)元,參數(shù)集大小約為110 M。

        4.2 結(jié)果及分析

        圖3 為分布式內(nèi)存計(jì)算與傳統(tǒng)分布式訓(xùn)練速率對(duì)比。由圖3 可以看出:采用分布式內(nèi)存計(jì)算的方法訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,模型精度的變化更為陡峭,說(shuō)明采用分布式內(nèi)存計(jì)算的訓(xùn)練方式能夠明顯提升模型的訓(xùn)練速率。

        圖3 分布式內(nèi)存計(jì)算與傳統(tǒng)分布式訓(xùn)練速率對(duì)比Fig.3 Comparison of distributed memory computing and traditional map-reduce

        為了說(shuō)明集群的可擴(kuò)展性,通過(guò)遞增訓(xùn)練節(jié)點(diǎn)數(shù)量來(lái)觀察集群對(duì)模型的加速比值變化。加速比值為單獨(dú)使用一個(gè)計(jì)算節(jié)點(diǎn)完成一批次采樣訓(xùn)練所需的時(shí)間與使用K 臺(tái)計(jì)算節(jié)點(diǎn)所用時(shí)間的比值。

        由圖4 可以看出:當(dāng)集群不斷增加計(jì)算節(jié)點(diǎn)時(shí),模型的訓(xùn)練效率顯著提升,說(shuō)明這種并行深度學(xué)習(xí)的方法具備良好的擴(kuò)展性。

        圖4 擴(kuò)展節(jié)點(diǎn)對(duì)加速比的提升Fig.4 Speedup calculation by extending worker node

        5 結(jié)束語(yǔ)

        提出了一種分布式內(nèi)存計(jì)算的方法,并應(yīng)用于深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,設(shè)計(jì)了深度神經(jīng)網(wǎng)絡(luò)模型在分布式內(nèi)存中的運(yùn)行結(jié)構(gòu),以CIFAR-10 數(shù)據(jù)集為訓(xùn)練樣本,完成對(duì)網(wǎng)絡(luò)模型的并行訓(xùn)練。實(shí)驗(yàn)結(jié)果表明,該方法能夠有效提升深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速率,并具備良好的擴(kuò)展性。理論上集群可以不斷擴(kuò)展以提高訓(xùn)練效率,直到節(jié)點(diǎn)間數(shù)據(jù)交換通信成為瓶頸,由于試驗(yàn)環(huán)境的限制,本文無(wú)法給出進(jìn)一步證實(shí)。

        [1]Ciresan D C,Meier U,Gambardella L M,et al.Deep big simple neural nets excel on handwritten digit recognition[J].Neural Computation,2010(12):3207-3220.

        [2]Coates A,Lee H L,Ng A Y.An analysis of single-layer networks in unsupervised feature learning[C]∥Proceeding of the 14th International Conference on Artificial Intelligence and Statistics,F(xiàn)ort Lauderdale,USA,2011:215-223.

        [3]Hinton G E,Srivastava N,Krizhevsky A,et al.Improving neural networks by preventing co-adaptation of feature detectors[DB/OL].[2014-05-17].http://arxiv.org/abs/1207.0580.

        [4]Raina R,Madhavan A,Ng A Y.Large-scale deep unsupervised learning using graphics processors[C]∥International Conference on Machine Learning,Montreal QC,Canada,2009:873-880.

        [5]Le Q V,Monga R,Devin M,et al.Building high-level features using large scale unsupervised learning[C]∥International Conference on Acoustics,Speech and Signal,Vancouver,Canada,2013:8595-8598.

        [6]Glorot X,Bordes A,Bengio Y.Domain adaptation for large-scale sentiment classification:a deep learning approach[C]∥Proceedings of the 28th International Conference on Machine Learning,Bellevue,WA,USA,2011:513-520.

        [7]Bengio Y,Courville A C,Vincent P.Representation learning:a review and new perspectives[DB/OL].[2014-05-23].http://arxiv.org/abs/1206.5538.

        [8]Ngiam J,Coates A,Lahiri A,et al.On optimization methods for deep learning[C]∥Proceedings of the 28th International Conference on Machine Learning,Bellevue,WA,USA,2011:265-272.

        [9]Martens J.Deep learning via hessian-free optimization[C]∥Proceedings of the 27th International Conference on Machine Learning,Haifa,Israel,2010:735-742.

        [10]Bengio Y,Courville A,Vincent P.Representation learning:a review and new perspectives[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2013,35(8):1798-1828.

        [11]Hinton G,Deng L,Yu D,et al.Deep neural networks for acoustic modeling in speech recognition:The shared views of four research groups[J].Signal Processing Magazine,2012,29(6):82-97.

        [12]Hinton G,Osindero S,Teh Y W.A fast learning algorithm for deep belief nets[J].Neural Computation,2006,18(7):1527-1554.

        [13]Hinton G.A practical guide to training restricted Boltzmann machines[J].Momentum,2010,9(1):926.

        [14]Zaharia M,Chowdhury M,Das T,et al.Resilient distributed datasets:a fault-tolerant abstraction for in-memory cluster computing[DB/OL].[2014-01-19].http://www.eecs.berkeley.edu/Pubs/TechRpts/2011/EECS-2011-82.pdf.

        [15]Duchi J,Hazan E,Singer Y.Adaptive subgradient methods for online learning and stochastic optimization[J].Journal of Machine Learning Research,2011,12(7):2121-2159.

        猜你喜歡
        分片內(nèi)存集群
        上下分片與詞的時(shí)空佈局
        詞學(xué)(2022年1期)2022-10-27 08:06:12
        分片光滑邊值問(wèn)題的再生核方法
        CDN存量MP4視頻播放優(yōu)化方法
        海上小型無(wú)人機(jī)集群的反制裝備需求與應(yīng)對(duì)之策研究
        “春夏秋冬”的內(nèi)存
        基于模糊二分查找的幀分片算法設(shè)計(jì)與實(shí)現(xiàn)
        一種無(wú)人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:40
        Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
        勤快又呆萌的集群機(jī)器人
        基于內(nèi)存的地理信息訪問(wèn)技術(shù)
        日韩欧美国产自由二区| 噜噜噜噜私人影院| 丁香美女社区| 夜夜春亚洲嫩草影院| 日韩精品内射视频免费观看| 四虎影视一区二区精品| 成人无码激情视频在线观看| 青青草久热手机在线视频观看| 粉嫩的极品女神尤物在线| 亚洲最近中文字幕在线| 中文字幕日韩精品有码视频| 999久久久国产精品| 国产爆乳无码一区二区在线| 青青草免费在线手机视频| 国产精品午夜夜伦鲁鲁| 激情综合色五月丁香六月欧美| 色妞ww精品视频7777| 国产真实乱人偷精品人妻 | 久久精品亚洲牛牛影视| 午夜人妻中文字幕福利| 国产熟人精品一区二区| 一本久久综合亚洲鲁鲁五月天 | 欧美日韩亚洲国产精品| 超碰日韩AV在线| 久久熟女少妇一区二区三区| 亚洲国产精品无码久久一线 | 亚洲字幕中文综合久久| 中文字幕久久精品一二三区| 国产哟交泬泬视频在线播放| 久久久国产精品首页免费| 久久综合激情的五月天| 粗大的内捧猛烈进出小视频| 免费特级黄毛片| 青青草一级视频在线观看| 一区二区三区免费看日本| 国产精品一区二区无线| 亚洲国产成人手机在线电影| 粉色蜜桃视频完整版免费观看在线| 真实的国产乱xxxx在线| 狠狠色噜噜狠狠狠888米奇视频 | 亚洲一区二区三区2021|