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