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

        ?

        Angel: 一種面向高維度的機(jī)器學(xué)習(xí)框架

        2018-05-08 13:20:44張維潘濤范震坤
        電子技術(shù)與軟件工程 2018年22期
        關(guān)鍵詞:分布式計(jì)算機(jī)器學(xué)習(xí)大數(shù)據(jù)

        張維 潘濤 范震坤

        摘要 隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,各種數(shù)據(jù)的數(shù)據(jù)量也在不斷增長(zhǎng),大數(shù)據(jù)成為各行業(yè)的重要發(fā)展方向之一,如何有效地利用大數(shù)據(jù)技術(shù),對(duì)社會(huì)中的各行各業(yè)都具有產(chǎn)生巨大推動(dòng)力的作用。分布式機(jī)器學(xué)習(xí)是隨著“大數(shù)據(jù)”概念興起的。目前,由于分布式的機(jī)器學(xué)習(xí)算法具有復(fù)雜性、多樣性以及高維性這樣的特點(diǎn),導(dǎo)致我們從數(shù)據(jù)中挖掘內(nèi)在規(guī)律比較困難,小型的機(jī)器學(xué)習(xí)算法框架在處理這樣的問(wèn)題上就顯得捉襟見(jiàn)肘了。因此,研究適用于大數(shù)據(jù)背景下的機(jī)器學(xué)習(xí)算法框架成為當(dāng)下的熱點(diǎn)。本文介紹一種面向高維度的機(jī)器學(xué)習(xí)計(jì)算框架稱(chēng)為Angel。

        【關(guān)鍵詞】大數(shù)據(jù) 分布式計(jì)算 機(jī)器學(xué)習(xí)

        機(jī)器學(xué)習(xí)也就是通過(guò)設(shè)計(jì)一些能夠讓計(jì)算機(jī)自主地去“學(xué)習(xí)”的一類(lèi)算法,它們能夠通過(guò)分析已有的數(shù)據(jù),去獲得隱藏在這些信息內(nèi)部的規(guī)律,并利用這些規(guī)律去對(duì)未知的數(shù)據(jù)進(jìn)行預(yù)測(cè)以及分析。隨著互聯(lián)網(wǎng)的高速發(fā)展,海量數(shù)據(jù)的產(chǎn)生以及工業(yè)界對(duì)于計(jì)算速度和計(jì)算成本要求的提升,傳統(tǒng)的計(jì)算機(jī)已經(jīng)很難滿足工業(yè)界的需求,因此分布式計(jì)算技術(shù)就應(yīng)運(yùn)而生了。分布式計(jì)算也即為“并行計(jì)算”,其核心思想就是把一個(gè)需要巨大計(jì)算能力才能解決的計(jì)算任務(wù)拆解成多許多小的子任務(wù),將這些子任務(wù)分配到多個(gè)處理器節(jié)點(diǎn)上做計(jì)算,最后匯總這些計(jì)算結(jié)果得到最終的結(jié)果。分布式計(jì)算或者分布式機(jī)器學(xué)習(xí)除了要把計(jì)算任務(wù)分配到多個(gè)處理器上,更重要的是把計(jì)算所需要的各種數(shù)據(jù)(包括訓(xùn)練數(shù)據(jù)以及中間結(jié)果)分布開(kāi)來(lái)。隨著谷歌的Map Reduce編程模型和開(kāi)源的Hadoop分布式計(jì)算框架的發(fā)布,分布式計(jì)算技術(shù)逐漸開(kāi)始普及,并且還呈現(xiàn)出不斷發(fā)展和完善的趨勢(shì)。隨著工業(yè)界對(duì)于大數(shù)據(jù)進(jìn)行分析和挖掘的需求不斷提升,分布式計(jì)算和機(jī)器學(xué)習(xí)的結(jié)合也就自然而然地成為了學(xué)術(shù)界和工業(yè)界研究的一個(gè)重點(diǎn)。目前,基于分布式計(jì)算平臺(tái)的機(jī)器學(xué)習(xí)框架主要有基于Hadoop平臺(tái)的Mahout、基于Spark平臺(tái)的MLlib以及由騰訊主導(dǎo)開(kāi)發(fā)的機(jī)器學(xué)習(xí)框架Angel等。本文重點(diǎn)介紹一種稱(chēng)為Angel的面向高維度的機(jī)器學(xué)習(xí)計(jì)算框架。

        1 Angel框架

        為能夠支持超大維度的機(jī)器學(xué)習(xí)模型運(yùn)算,騰訊公司與香港科技大學(xué)展開(kāi)了合作,開(kāi)發(fā)出了面向機(jī)器學(xué)習(xí)的分布式計(jì)算框架一一Angel l.0。Angel是使用Java語(yǔ)言開(kāi)發(fā)的面向機(jī)器學(xué)習(xí)算法的計(jì)算系統(tǒng)框架,用戶可以不改變使用習(xí)慣,就像使用Spark以及MapReduce一樣,來(lái)去完成機(jī)器學(xué)習(xí)算法的模型訓(xùn)練。Angel目前已經(jīng)能夠非常好地支持梯度下降算法、交替乘子法等優(yōu)化算法,同時(shí)Angel也提供了一些常用的模型;如果用戶還有其他的自定義需求,也可以在框架中提供的現(xiàn)有的最優(yōu)化算法上快速方便地去封裝自己的模型。Angel在高維度機(jī)器學(xué)習(xí)的各種參數(shù)更新過(guò)程中,對(duì)于不同的計(jì)算任務(wù),根據(jù)其計(jì)算速度有針對(duì)性地給那些較慢的計(jì)算任務(wù)的參數(shù)傳遞提供更多的計(jì)算資源,從而能夠在整體上大大縮短機(jī)器學(xué)習(xí)算法的運(yùn)算時(shí)間。這一創(chuàng)新的優(yōu)化調(diào)度算法則是源于香港科技大學(xué)陳凱教授及其研究小組開(kāi)發(fā)的可感知上層應(yīng)用的網(wǎng)絡(luò)優(yōu)化方案,以及楊強(qiáng)教授領(lǐng)導(dǎo)的針對(duì)大規(guī)模機(jī)器學(xué)習(xí)算法的研究方案。此外,北京大學(xué)的崔斌教授及其學(xué)生也參與了Angel項(xiàng)目的共同研發(fā),并提供了巨大的幫助。在測(cè)試實(shí)驗(yàn)以及實(shí)際的生產(chǎn)工作任務(wù)中,Angel能夠在千萬(wàn)級(jí)到億級(jí)的特征緯度條件下運(yùn)行梯度下降算法,并且它的性能能夠達(dá)到Spark的數(shù)倍到數(shù)十倍。

        如圖l所示,Angel的整體架構(gòu)主要參考了由谷歌公司研發(fā)的DistBelief框架。為深度學(xué)習(xí)而設(shè)計(jì)研發(fā)的DistBeilef框架使用了參數(shù)服務(wù)器,從而解決那些深度學(xué)習(xí)中巨大模型在訓(xùn)練時(shí)海量參數(shù)的更新問(wèn)題。由于基于大數(shù)據(jù)的機(jī)器學(xué)習(xí)算法同樣擁有海量的參數(shù),所以這樣參數(shù)服務(wù)器也就不僅僅局限于深度學(xué)習(xí)算法,同樣可用于基于大數(shù)據(jù)的機(jī)器學(xué)習(xí)算法中的模型了。比如在梯度下降算法、交替乘子法以及擬牛頓法等優(yōu)化算法的計(jì)算過(guò)程中面臨著每一輪迭代需要對(duì)上億個(gè)參數(shù)進(jìn)行更新,這就需要使用參數(shù)服務(wù)器來(lái)將參數(shù)分布式緩存以提高算法的性能。Angel框架在運(yùn)算過(guò)程中支持批量同步并行、全異步并行、延遲同步并行這三種計(jì)算并行計(jì)算,其中卡耐基梅隆大學(xué)的邢波教授在Petuum項(xiàng)目中曾經(jīng)驗(yàn)證了延遲同步并行計(jì)算模型,它能夠在機(jī)器學(xué)習(xí)的這種特定運(yùn)算場(chǎng)景下提升算法的收斂速度,從而提高系統(tǒng)的性能。系統(tǒng)有五個(gè)角色:

        主控節(jié)點(diǎn):負(fù)責(zé)資源申請(qǐng)和分配,以及任務(wù)的管理。

        執(zhí)行節(jié)點(diǎn):負(fù)責(zé)任務(wù)的執(zhí)行,以線程的形式存在。

        計(jì)算節(jié)點(diǎn):獨(dú)立進(jìn)程運(yùn)行于Yam的容器中,是執(zhí)行節(jié)點(diǎn)的執(zhí)行容器。

        參數(shù)服務(wù)器:伴隨著一個(gè)任務(wù)的啟動(dòng)而生成,任務(wù)結(jié)束而銷(xiāo)毀,負(fù)責(zé)在算法的訓(xùn)練過(guò)程中的更新和存儲(chǔ)各種參數(shù)。

        計(jì)算節(jié)點(diǎn)組:它是一個(gè)虛擬的概念,由若干個(gè)計(jì)算節(jié)點(diǎn)組成,元數(shù)據(jù)由主控節(jié)點(diǎn)維護(hù)。為模型的并行拓展考慮,在同一個(gè)計(jì)算節(jié)點(diǎn)組內(nèi)所有計(jì)算節(jié)點(diǎn)所運(yùn)行的訓(xùn)練數(shù)據(jù)都是一樣的。雖然在Angel已經(jīng)提供了一些通用的模型,但并不能滿足所有用戶的需求,而用戶自定義的模型也可以實(shí)現(xiàn)Angel的通用接口,形式上等同于MapReduce或Spark。

        1.1 友好的用戶交互邏輯

        1.1.1 自動(dòng)化數(shù)據(jù)切分

        Angel系統(tǒng)為用戶提供了自動(dòng)切分訓(xùn)練數(shù)據(jù)的功能,方便用戶進(jìn)行數(shù)據(jù)并行運(yùn)算:系統(tǒng)默認(rèn)兼容了Hadoop FS接口,原始訓(xùn)練樣本存儲(chǔ)在支持Hadoop FS接口的分布式文件系統(tǒng)如HDFS。

        1.1.2 豐富的數(shù)據(jù)管理

        訓(xùn)練的樣本數(shù)據(jù)存儲(chǔ)在分布式的文件系統(tǒng)中,該系統(tǒng)在計(jì)算前將樣本數(shù)據(jù)從文件系統(tǒng)讀取到計(jì)算進(jìn)程中,緩存在內(nèi)存里以加速迭代運(yùn)算;如果內(nèi)存中緩存不下,則將這部分?jǐn)?shù)據(jù)暫存到本地磁盤(pán)內(nèi),并且不需要向分布式文件系統(tǒng)再次發(fā)起通訊請(qǐng)求。

        1.1.3 豐富的線性代數(shù)以及優(yōu)化算法庫(kù)

        Angel更提供了能夠高效計(jì)算向量及矩陣的運(yùn)算庫(kù),能夠方便用戶自由地去選擇數(shù)據(jù)和參數(shù)的表達(dá)形式。在優(yōu)化算法方面,Angel已實(shí)現(xiàn)了梯度下降法、交替乘子法;而在模型選擇方面,支持了文檔主題生成模型、矩陣分解模型、邏輯回歸模型以及支持向量機(jī)等。

        1.1.4 可選擇的計(jì)算模型

        綜述中我們提到了,Angel的參數(shù)服務(wù)器可以支持批量同步并行、全異步并行、延遲同步并行計(jì)算模型。

        1.1.5 更細(xì)粒度的容錯(cuò)

        在系統(tǒng)中容錯(cuò)主要分為主控節(jié)點(diǎn)的容錯(cuò),參數(shù)服務(wù)器的容錯(cuò),計(jì)算節(jié)點(diǎn)進(jìn)程內(nèi)的參數(shù)的緩存以及遠(yuǎn)程過(guò)程調(diào)用的容錯(cuò)。

        1.1.6 友好的任務(wù)運(yùn)行及監(jiān)控

        Angel也具有友好的任務(wù)運(yùn)行方式,支持基于Yam的任務(wù)運(yùn)行模式,同時(shí),Angel的Web頁(yè)面也可以方便用戶查看集群計(jì)算的進(jìn)度。

        1.2 內(nèi)存優(yōu)化

        在運(yùn)算過(guò)程中為減少對(duì)于內(nèi)存的消耗以及提升單次運(yùn)算的運(yùn)算收斂性使用了異步無(wú)鎖的Hogwildl模式。它允許在多個(gè)CPU上并行執(zhí)行梯度下降的參數(shù)更新。因?yàn)槎鄠€(gè)CPU之間不可能重寫(xiě)有用的信息,因此處理器可以訪問(wèn)共享的內(nèi)存。在大多數(shù)情況下,這樣的更新策略可以達(dá)到一個(gè)非常優(yōu)秀的收斂速率。同一個(gè)運(yùn)算進(jìn)程中的N個(gè)執(zhí)行節(jié)點(diǎn)如果在運(yùn)算中都能夠各自保持一個(gè)獨(dú)立的參數(shù)快照,那么對(duì)參數(shù)的內(nèi)存開(kāi)銷(xiāo)就減少了N倍,在訓(xùn)練模型參數(shù)維度越大時(shí)消耗減少的就越明顯。在梯度下降的優(yōu)化算法中,訓(xùn)練數(shù)據(jù)絕大多數(shù)情況下是稀疏的,因此參數(shù)更新沖突的概率就大大降低了,即便沖突了也都是朝著梯度下降的方向更新的,從而總能達(dá)到收斂。在實(shí)際的使用中,讓多個(gè)執(zhí)行節(jié)點(diǎn)在一個(gè)進(jìn)程內(nèi)共享同一個(gè)參數(shù)快照,這樣能夠明顯減少內(nèi)存的消耗并且提升收斂速度。

        1.3 網(wǎng)絡(luò)優(yōu)化

        (l)進(jìn)程內(nèi)的執(zhí)行節(jié)點(diǎn)運(yùn)算之后的參數(shù),更新合并之后推送到參數(shù)服務(wù)器更新,這樣大大減少了執(zhí)行節(jié)點(diǎn)所在機(jī)器的上行所需要的消耗,同樣的也減少了參數(shù)服務(wù)器的下行消耗,同時(shí)減少在推送更新的過(guò)程中的峰值傳輸瓶頸的次數(shù)。

        (2)通過(guò)更深一步的網(wǎng)絡(luò)優(yōu)化解決延遲同步并行的問(wèn)題:由于延遲同步并行是一種半同步的運(yùn)算調(diào)度機(jī)制,能夠在有限的窗口訓(xùn)練參數(shù),當(dāng)運(yùn)算快的節(jié)點(diǎn)達(dá)到窗口邊緣時(shí),任務(wù)就必須要停下來(lái)等待最慢的節(jié)點(diǎn)去更新最新的參數(shù)。面對(duì)這樣的問(wèn)題,我們通過(guò)網(wǎng)絡(luò)流量的再分配來(lái)加速較慢的工作節(jié)點(diǎn)。我們分配給較慢的節(jié)點(diǎn)更高的帶寬;那么比較快的工作節(jié)點(diǎn)就分配更少的帶寬。這樣快的節(jié)點(diǎn)與慢的節(jié)點(diǎn)之間迭代次數(shù)的差距就可以進(jìn)行有效的控制,減少了發(fā)生等待的概率,也就是減少了工作節(jié)點(diǎn)由于延遲同步并行窗口而空閑等待時(shí)間。

        2 總結(jié)

        大數(shù)據(jù),機(jī)器學(xué)習(xí)作為當(dāng)下的熱門(mén),需要有一套科學(xué)合理的算法框架來(lái)滿足社會(huì)需求,讓數(shù)據(jù)處理變得更具效率。針對(duì)大數(shù)據(jù)的各個(gè)特點(diǎn),通過(guò)運(yùn)用分布式計(jì)算讓數(shù)據(jù)變得更具條理,更加易于計(jì)算,數(shù)據(jù)處理分析難度得到有效降低,大大提高機(jī)器學(xué)習(xí)的能力。本文介紹的這三種基于大數(shù)據(jù)的機(jī)器學(xué)習(xí)分布式計(jì)算框架各有優(yōu)缺點(diǎn),都是為了去滿足大數(shù)據(jù)以及機(jī)器學(xué)習(xí)對(duì)于工業(yè)界生產(chǎn)的需求。只有不斷去發(fā)展我們的算法框架,滿足不斷提高的需求,才能讓其在大數(shù)據(jù)時(shí)代進(jìn)發(fā)出強(qiáng)勁活力。

        參考文獻(xiàn)

        [1] Dean J,

        Ghemawa t S.

        MapReduce:simplified data processing on largeclusters [J] .

        Communications of- theACM, 2008, 51 (01) : 107-113.

        [2] Shvachko K, Kuang H, Radia S, etal. The hadoop distributed filesystem [Cl//Mass storage systems andtechnologies

        (MSST) ,

        2010 IEEE 26thsymposium on. Ieee, 2010: 1-10.

        [3] AsseFi M. Behravesh E, Liu G. etal. Big data machine learning usingapache spark MLlib [C] //Big Data(Big Data) ,

        2017 IEEE InternationalConference on. IEEE, 2017: 3492-3498.

        [4] Jiang J, Yu L, Jiang J, et al.Angel: a new large-scale machinelearning system[Jl. National ScienceReview, 2017, 5 (2) : 216-236.

        [5] Khumoyun A, Cui Y. Hanku L.Spark based distributed deeplearning framework for big dataapplica tions [C] //Informa tion Scienceand Communications Technologies(ICISCT) ,

        Interna tional

        Conferenceon. IEEE, 2016: 1-5.

        [6] Xing E P, Ho Q, Dai W, et al.Petuum: A new platform fordistributed machine learning on bigdata [J] . IEEE Transactions on BigData, 2015, 1 (2) : 49-67.

        猜你喜歡
        分布式計(jì)算機(jī)器學(xué)習(xí)大數(shù)據(jù)
        基于云計(jì)算的移動(dòng)學(xué)習(xí)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
        基于機(jī)器學(xué)習(xí)的圖像特征提取技術(shù)在圖像版權(quán)保護(hù)中的應(yīng)用
        基于網(wǎng)絡(luò)搜索數(shù)據(jù)的平遙旅游客流量預(yù)測(cè)分析
        云計(jì)算中MapReduce分布式并行處理框架的研究與搭建
        前綴字母為特征在維吾爾語(yǔ)文本情感分類(lèi)中的研究
        基于支持向量機(jī)的金融數(shù)據(jù)分析研究
        基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
        科技視界(2016年20期)2016-09-29 10:53:22
        面向異構(gòu)分布式計(jì)算環(huán)境的并行任務(wù)調(diào)度優(yōu)化方法
        人妻少妇精品中文字幕av蜜桃| 成年在线观看免费视频| 人人爽人人爱| 色94色欧美sute亚洲线路二| 亚洲AV秘 无码一区二p区三区| 成人无码无遮挡很H在线播放 | 黄色大片一区二区中文字幕| 成人在线视频亚洲国产| 一区二区三区中文字幕在线播放| 国产女人好紧好爽| 成人毛片无码一区二区三区| 欧美极品少妇性运交| 丰满少妇棚拍无码视频| 国产偷国产偷亚洲高清| 少妇连续高潮爽到抽搐| 久久精品国产亚洲7777| 日韩丰满少妇无码内射| a国产一区二区免费入口| 美女裸体无遮挡免费视频国产| 国产成人自拍视频视频| 亚洲第一网站免费视频| 亚洲视频在线观看| 无码午夜人妻一区二区三区不卡视频 | 女高中生自慰污免费网站| 国产不卡一区二区三区视频| 午夜精品男人天堂av| 精品亚洲a∨无码一区二区三区| 久久无码专区国产精品s| 亚洲色AV性色在线观看| 午夜精品一区二区三区av免费| 亚洲sm另类一区二区三区| 精品一区二区av天堂色偷偷| av天堂午夜精品一区| 人妻中文无码久热丝袜| 产国语一级特黄aa大片| 最新国产成人自拍视频| 国产色婷婷久久又粗又爽| 免费成人在线电影| 亚洲男同志gay 片可播放| 男女发生关系视频网站| 中文字幕av人妻少妇一区二区|