如何選擇最優的AI框架和集群管理平台
導語:在以GPU、FPGA甚至XPU為核心的AI計算伺服器層出不窮的今天,計算力得到大幅提升,於是演算法框架的選擇又成為了優化AI運算效率的重要因素。同時,由於AI計算系統,從單機單卡到單機多卡,再到多機多卡並行計算,數據中心和業務部門可能需要同時管理數百甚至更多的AI計算伺服器,如何更好地進行管理和監控也將影響AI應用的產出效率和運轉成本。浪潮通過與美國某知名互聯網公司對深度學習框架聯合測試,希望在深度學習框架選擇上能給出一些經驗和建議。
首先:如何選擇一款合適的深度學習框架?
隨著人工智慧的火熱,目前開源出來的深度學習框架非常多,如Caffe、TensorFlow、MXNet、Torch等等,框架眾多,如何選擇?選擇一種框架還是多種組合?針對不同的場景或者模型需要選擇什麼樣的框架?面對多大數據量需要選擇多機並行的框架?面臨諸多挑戰,難免會讓很多人犯難。
近日,浪潮與美國某知名的互聯網公司開展聯合測試,對主流的深度學習框架做了一個測評,把三個主流的框架-Caffe、TensorFlow和MXNet部署到浪潮SR-AI整機櫃伺服器平台上(配置16塊GPU卡),採用ImageNet數據集,測試AlexNet和GoogLeNet兩種典型網路。
閑話不說,直接看結果:
主流深度學習框架測試結果
從測試結果來看,當運行AlexNet網路時,Caffe性能最好,每秒可以訓練圖片張數達到4675張,16個GPU比單個GPU的加速比達到14倍,其次是MXNet,最後是TensorFlow。
當運行GoogLeNet時,MXNet性能最好,每秒可以訓練的圖片張數達到2462張,16個GPU比單個GPU的加速比達到12.7倍,其次是Caffe,最後是TensorFlow。
從這個評測來看,基於不同的網路,最優框架是不一樣的。我們會根據不同的場景和模型來選擇至少一種深度學習框架,目前很難說一種框架能在所有的應用場景中表現最優。基本上可以有這樣的大致原則:
如果是圖像方面的應用,主要採用Caffe、TensorFlow和MXNET這三種框架;
如果是語音的話,可以選擇CNTK;
自然語言處理的話可以採用PaddlePaddle。
針對大數據量的訓練,採用單機訓練的話時間會很長,有可能是幾周或幾個月訓練出一個模型,需要採用分散式框架,如浪潮自研的Caffe-MPI,這個框架就實現了多機多GPU卡的並行訓練。通過實際測試,Caffe-MPI採用16個GPU卡同時訓練時,每秒處理效率達到3061張,較單卡性能提升13倍,擴展效率達到81%,性能將近是TensorFlow的2倍。
目前浪潮Caffe-MPI目前已在Github開源,如果有需要可以免費下載使用。
當機器越來越多,如何高效管理?
人工智慧深度學習訓練流程較長、開發環境較複雜,涉及數據準備和處理、特徵工程、建模、調參等多個步驟及多個框架和模型,每個框架依賴環境不同且有可能交叉使用。同時,深度學習模型在訓練時往往耗時較長,短則數小時長則數天,以往在訓練完成後才意識到模型存在問題,大大耗費了用戶的精力和時間。
浪潮AIStation可以提供從數據準備到分析訓練結果的完整深度學習業務流程,支持Caffe、TensorFlow、CNTK等多種計算框架和GoogleNet、VGG、ResNet等多種模型,支持對訓練過程實時監控並可視化訓練過程,支持列印每一步的損失函數值的日誌、訓練誤差或測試誤差等,支持動態分配GPU資源實現資源合理共享,實現了「一鍵式」部署深度學習計算環境、快速啟動訓練任務,實時監控集群的使用情況,合理安排訓練任務,可及時發現運行中的問題,提高集群的可靠性。
浪潮AIStation
浪潮天眼高性能應用特徵監控分析系統通過量化超算軟體特徵、提取和記錄應用軟體在高性能計算機運行過程中實時產生的CPU,內存,磁碟,網路等系統信息和微架構信息,可以及時幫助使用者找到系統瓶頸,並能準確地分析出程序開發者的應用軟體特徵,幫助用戶合理的劃分集群使用資源、提高使用效率。
有了強勁的計算平台、合適的開發框架、高效的管理監控軟體,一個AI基礎平台就基本構建完成,剩下的就是靠優化的演算法把你所擁有的數據,轉化成更有價值的資源。2018年,AI還將是一個巨大的風口,希望這個攻略能幫助到你或者給你一些啟發。
GIF
戳鏈接,更有料!
TAG:浪潮伺服器 |