近兩年人工智能技術發展迅速,以Google開源的TensorFlow為代表的各種深度學習框架層出不窮。為了方便算法工程師使用各類深度學習技術,減少繁雜的諸如運行環境部署運維等工作,提升GPU等硬件資源利用率,節省硬件投入成本,奇虎360系統部大數據團隊與人工智能研究院聯合開發了深度學習調度平臺——XLearning。
XLearning平臺將大數據與深度學習相融合,基于Hadoop Yarn完成了對TensorFlow、MXNet、Caffe、Theano、PyTorch、Keras、XGBoost等常用深度學習框架的集成,是典型的“AI on Hadoop”的實現。XLearning從今年(2017)4月份正式開發上線運行,經多次版本迭代更新,為各學習框架的使用者提供了統一、穩定的調度平臺,實現了資源共享,極大的提高了資源利用率,并且具有良好的擴展性和兼容性。目前已經在公司搜索、人工智能研究院、商業化、數據中心等業務部門廣泛使用。
XLearning架構
Client:XLearning客戶端,負責啟動作業及獲取作業執行狀態;
ApplicationMaster(AM):負責輸入數據分片、啟動及管理Container、執行日志保存等;
Container:作業的實際執行者,負責啟動Worker或PS(Parameter Server)進程,監控并向AM匯報進程狀態,上傳作業的輸出等。對于TensorFlow類型作業,還負責啟動TensorBoard服務。
XLearning功能特性
XLearning雖然架構簡潔,但具有豐富的功能方便用戶進行模型訓練,并依托于Yarn提供有作業資源的統一管理。
支持多種深度學習框架
XLearning支持TensorFlow、MXNet分布式和單機模式,支持所有的單機模式的深度學習框架,如Caffe、Theano、PyTorch等。對于同一個深度學習框架支持多版本和自定義版本,滿足用戶個性化需求,不受限于集群機器上各學習框架的安裝版本。
基于HDFS的統一數據管理
XLearning提供多種模式用于數據的輸入、輸出,包括數據的流式讀寫、直接HDFS讀寫等,可根據作業處理的數據量與集群機器硬盤容量,視情況決定所采用的讀寫方式。
可視化界面
為方便用戶查看作業信息,XLearning提供可視化界面用于展示作業執行進度和輸出日志等內容。作業執行完畢后,亦可查看日志內容,便于分析訓練過程進展。對于TensorFlow類型作業,支持TensorBoard服務。作業運行界面大致分為三部分(如下圖所示):
All Containers:顯示當前作業所含Container列表及各Container對應信息,如Contianer ID、所在機器(Container Host)、所屬類型(Container Role)、當前執行狀態(Container Status)、開始時間(Start Time)、結束時間(Finish Time)、執行進度(Reporter Progress);
View TensorBoard:當作業類型為TensorFlow時,可點擊該鏈接直接跳轉至TensorBoard頁面;
Save Model:用戶可在作業執行過程中,可以將當前訓練模型的輸出結果上傳至HDFS,并顯示目前已上傳的模型列表。
原生代碼兼容
XLearning支持TensorFlow分布式模式的ClusterSpec自動分配構建,單機模式和其他深度學習框架代碼不用做任何修改即可遷移到XLearning上,便于用戶快速使用。
Checkpoint功能
利用深度學習框架本身的Checkpoint機制和直接讀寫HDFS數據功能,XLearning方便用戶實現訓練恢復繼續執行。
XLearning開源版本環境依賴簡單,可直接運行于社區Hadoop版本,使用方便,入門學習成本極低。公司的Yarn版本是我們在社區版本上做了不少增強,比如支持GPU的資源調度、GPU通信親和性的感知、DockerContainer支持等。依賴于這些特性公司在用的版本多出了GPU資源調度支持、作業Docker化、臨時GPU虛擬機、Container Metrics可視化圖表展示等功能。這些功能我們后續會通過提供Yarn Patch或者開源自用Yarn版本來分享給大家,也歡迎大家隨時跟我們溝通。
-
人工智能
+關注
關注
1802文章
48336瀏覽量
244076 -
奇虎360
+關注
關注
0文章
12瀏覽量
8137 -
深度學習
+關注
關注
73文章
5540瀏覽量
122207
原文標題:奇虎360開源深度學習調度平臺XLearning
文章出處:【微信號:AI_Thinker,微信公眾號:人工智能頭條】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論