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