OpenPAI:大規模人工智慧叢集管理平臺
產品淵源:
隨著人工智慧技術的快速發展,各種深度學習框架層出不窮,為了提高效率,更好地讓人工智慧快速落地,很多企業都很關注深度學習訓練的平臺化問題。例如,如何提升GPU等硬體資源的利用率?如何節省硬體投入成本?如何支援演算法工程師更方便的應用各類深度學習技術,從繁雜的環境運維等工作中解脫出來?等等。
產品定位:
為深度學習提供一個深度定製和優化的人工智慧叢集管理平臺,讓人工智慧堆疊變得簡單、快速、可擴充套件。
產品優勢:
● 為深度學習量身定做,可擴充套件支撐更多AI和大資料框架
通過創新的PAI執行環境支援,幾乎所有深度學習框架如CNTK、TensorFlow、PyTorch等無需修改即可執行;其基於Docker的架構則讓使用者可以方便地擴充套件更多AI與大資料框架。
● 容器與微服務化,讓AI流水線實現DevOps
OpenPAI 100%基於微服務架構,讓AI平臺以及開發便於實現DevOps的開發運維模式。
● 支援GPU多租,可統籌叢集資源排程與服務管理能力
在深度學習負載下,GPU逐漸成為資源排程的一等公民,OpenPAI提供了針對GPU優化的排程演算法,豐富的埠管理,支援Virtual Cluster多租機制,可通過Launcher Server為服務作業的執行保駕護航。
● 提供豐富的運營、監控、除錯功能,降低運維複雜度
PAI為運營人員提供了硬體、服務、作業的多級監控,同時開發者還可以通過日誌、SSH等方便除錯作業。
OpenPAI的架構如下圖所示,使用者通過Web Portal呼叫REST Server的API提交作業(Job)和監控叢集,其它第三方工具也可通過該API進行任務管理。隨後Web Portal與Launcher互動,以執行各種作業,再由Launcher Server處理作業請求並將其提交至Hadoop YARN進行資源分配與排程。可以看到,OpenPAI給YARN添加了GPU支援,使其能將GPU作為可計算資源排程,助力深度學習。其中,YARN負責作業的管理,其它靜態資源(下圖藍色方框所示)則由Kubernetes進行管理。
提交作業:Web Portal
互動中介軟體:Launcher
作業、資源管理:Hadoop YARN
靜態資源管理:Kubernetes
任務提交指南
提交任務的方式主要有三種,但對於centos系統只有web端的提交形式
在web端通過json配置檔案的形式進行job提交
配置檔案編輯完成後,進行配置檔案上傳
配置檔案上傳後,相關配置在web端顯示
任務提交
確認資訊無誤後,點選Submit,完成任務提交
Hadoop yarn進行任務排程
叢集現狀: