摘要:最近,又帶起了一波深度學(xué)習(xí)的熱潮。因此需要并行的深度學(xué)習(xí)系統(tǒng)提高訓(xùn)練速度。各大公司在構(gòu)建并行深度學(xué)習(xí)系統(tǒng)上投入了大量的精力,包括谷歌微軟騰訊和百度等等。為了提高算法的并行效率,這些系統(tǒng)大部分使用了多機多的方式。
最近,AlphaGo又帶起了一波深度學(xué)習(xí)的熱潮。深度學(xué)習(xí)在很多領(lǐng)域都大幅提高了模型的精度,使得很多以前在實驗室中的技術(shù)得以運用到日常的生活之中。然而,大多數(shù)深度學(xué)習(xí)網(wǎng)絡(luò)非常復(fù)雜,需要大量的訓(xùn)練樣本進行訓(xùn)練,很多網(wǎng)絡(luò)需要一次訓(xùn)練,同時額外多次的訓(xùn)練來調(diào)參數(shù)。時間效率上遠遠無法滿足當(dāng)前的工業(yè)需求。因此需要并行的深度學(xué)習(xí)系統(tǒng)提高訓(xùn)練速度。
各大公司在構(gòu)建并行深度學(xué)習(xí)系統(tǒng)上投入了大量的精力,包括谷歌、Facebook、微軟、騰訊和百度等等。為了提高算法的并行效率,這些系統(tǒng)大部分使用了多機多GPU的方式。所謂多機,即是大量的機器通過網(wǎng)絡(luò)連接組成訓(xùn)練集群;多GPU即是集群內(nèi)部的每臺機器上包含多個GPU,通過數(shù)據(jù)并行(每個GPU訓(xùn)練部分?jǐn)?shù)據(jù))、模型并行(每個GPU訓(xùn)練部分網(wǎng)絡(luò))或者兩者混合的方式提高加快訓(xùn)練速度。GPU浮點運行效率很高,這導(dǎo)致了并行系統(tǒng)的主要瓶頸在于I/O效率,因此這些系統(tǒng)使用了諸如InfiniBand和RDMA(Remote Direct Memory Access,全稱遠程直接數(shù)據(jù)存取,專用于解決網(wǎng)絡(luò)傳輸中服務(wù)器端數(shù)據(jù)處理的延遲)等高性能技術(shù), 而這些技術(shù)需要昂貴的硬件支持,大大增加了系統(tǒng)構(gòu)建和維護的成本和難度,導(dǎo)致這些系統(tǒng)很難復(fù)制和普及到通用場景。
SpeeDO(Open DEEP learning System的逆序)是一個為通用硬件設(shè)計的并行深度學(xué)習(xí)系統(tǒng)。SpeeDO不需要特殊的I/O硬件,支持CPU/GPU集群,因此可以很方便地在各種云端環(huán)境上部署,如AWS、Google GCE、Microsoft Azure等等。
SpeeDO 采用了目前通用的參數(shù)服務(wù)器(parameter server)架構(gòu),依賴一系列基于JVM的開源庫,使用Scala語言開發(fā)。
SpeeDO 的架構(gòu)圖如下圖所示:
流程圖如下圖所示:
SpeeDO 的主要組件及其功能如下:
Caffe:開源深度學(xué)習(xí)庫,基于C++,支持CPU/GPU。原版不支持多GPU/多機并行。
Akka:JVM上的消息隊列庫,負(fù)責(zé)參數(shù)服務(wù)器和工作節(jié)點之間的并發(fā)消息處理。
Redis:基于內(nèi)存的高效并行Key-Value數(shù)據(jù)庫。主要用于在參數(shù)服務(wù)器和工作節(jié)點之間傳遞訓(xùn)練的模型。這些模型一般比較大(幾十至上千MB不等),不適合直接通過Akka進行傳輸。
Yarn:Hadoop2的資源管理組件,實現(xiàn)在多臺機器上一鍵部署參數(shù)服務(wù)器和工作節(jié)點,實時監(jiān)控各節(jié)點的運行狀態(tài),處理異常。
SpeeDO 提供docker鏡像(只支持CPU)以方便系統(tǒng)的快速構(gòu)建和測試,獲取鏡像:docker pull obdg/speedo:latest,使用方法請參考:https://github.com/openbigdatagroup/speedo。
關(guān)于SpeeDO 的更多細節(jié),可以參閱發(fā)表在NIPS 2015 Machine Learning Systems Workshop上的論文:http://learningsys.org/papers/LearningSys_2015_paper_13.pdf。
SpeeDO的代碼在Github上開源:https://github.com/openbigdatagroup/speedo,并提供了詳細的安裝腳本和Docker文件。
歡迎加入本站公開興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價值的辦法,實際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉庫,數(shù)據(jù)挖掘工具,報表系統(tǒng)等全方位知識
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/4359.html
摘要:本文內(nèi)容節(jié)選自由主辦的第七屆,北京一流科技有限公司首席科學(xué)家袁進輝老師木分享的讓簡單且強大深度學(xué)習(xí)引擎背后的技術(shù)實踐實錄。年創(chuàng)立北京一流科技有限公司,致力于打造分布式深度學(xué)習(xí)平臺的事實工業(yè)標(biāo)準(zhǔn)。 本文內(nèi)容節(jié)選自由msup主辦的第七屆TOP100summit,北京一流科技有限公司首席科學(xué)家袁進輝(老師木)分享的《讓AI簡單且強大:深度學(xué)習(xí)引擎OneFlow背后的技術(shù)實踐》實錄。 北京一流...
摘要:年月日,機器之心曾經(jīng)推出文章為你的深度學(xué)習(xí)任務(wù)挑選最合適從性能到價格的全方位指南。如果你想要學(xué)習(xí)深度學(xué)習(xí),這也具有心理上的重要性。如果你想快速學(xué)習(xí)深度學(xué)習(xí),多個廉價的也很好。目前還沒有適合顯卡的深度學(xué)習(xí)庫所以,只能選擇英偉達了。 文章作者 Tim Dettmers 系瑞士盧加諾大學(xué)信息學(xué)碩士,熱衷于開發(fā)自己的 GPU 集群和算法來加速深度學(xué)習(xí)。這篇博文最早版本發(fā)布于 2014 年 8 月,之...
摘要:在一個數(shù)據(jù)分析任務(wù)和任務(wù)混合的環(huán)境中,大數(shù)據(jù)分析任務(wù)也會消耗很多網(wǎng)絡(luò)帶寬如操作,網(wǎng)絡(luò)延遲會更加嚴(yán)重。本地更新更新更新目前,我們已經(jīng)復(fù)現(xiàn)中的實驗結(jié)果,實現(xiàn)了多機并行的線性加速。 王佐,天數(shù)潤科深度學(xué)習(xí)平臺負(fù)責(zé)人,曾擔(dān)任 Intel亞太研發(fā)中心Team Leader,萬達人工智能研究院資深研究員,長期從事分布式計算系統(tǒng)研究,在大規(guī)模分布式機器學(xué)習(xí)系統(tǒng)架構(gòu)、機器學(xué)習(xí)算法設(shè)計和應(yīng)用方面有深厚積累。在...
閱讀 857·2021-09-22 16:01
閱讀 2125·2021-08-20 09:37
閱讀 1719·2019-08-30 15:54
閱讀 1718·2019-08-30 15:44
閱讀 869·2019-08-28 18:23
閱讀 3041·2019-08-26 12:17
閱讀 1049·2019-08-26 11:56
閱讀 1564·2019-08-23 16:20