深度學習GPU集群管理軟體 OpenPAI 簡介

2022-06-06 16:03:09 字數 2830 閱讀 6548

2023年5月22日,在微軟舉辦的「新一代人工智慧開放科研教育平台暨中國高校人工智慧科研教育高峰論壇」上,微軟亞洲研究院宣布,攜手北京大學、中國科學技術大學、西安交通大學和浙江大學四所國內頂尖高校共建新一代人工智慧開放科研教育平台,以推動中國人工智慧領域科研與教育事業的發展。作為由微軟亞洲研究院為該平台提供的三大關鍵技術之一,open platform for ai(openpai)也備受矚目。

事實上,隨著人工智慧技術的快速發展,各種深度學習框架層出不窮,為了提高效率,更好地讓人工智慧快速落地,很多企業都很關注深度學習訓練的平台化問題。例如,如何提公升gpu等硬體資源的利用率?如何節省硬體投入成本?如何支援演算法工程師更方便的應用各類深度學習技術,從繁雜的環境運維等工作中解脫出來?等等。

為了解決這些問題,微軟亞洲研究院和微軟(亞洲)網際網路工程院基於各自的特長,聯合研發、建立了openpai,希望為深度學習提供乙個深度定製和優化的人工智慧集群管理平台,讓人工智慧堆疊變得簡單、快速、可擴充套件。

● 為深度學習量身定做,可擴充套件支撐更多ai和大資料框架

通過創新的pai執行環境支援,幾乎所有深度學習框架如cntk、tensorflow、pytorch等無需修改即可執行;其基於docker的架構則讓使用者可以方便地擴充套件更多ai與大資料框架。

● 容器與微服務化,讓ai流水線實現devops

openpai 100%基於微服務架構,讓ai平台以及開發便於實現devops的開發運維模式。

● 支援gpu多租,可統籌集群資源排程與服務管理能力

在深度學習負載下,gpu逐漸成為資源排程的一等公民,openpai提供了針對gpu優化的排程演算法,豐富的埠管理,支援virtual cluster多租機制,可通過launcher server為服務作業的執行保駕護航。

● 提供豐富的運營、監控、除錯功能,降低運維複雜度

pai為運營人員提供了硬體、服務、作業的多級監控,同時開發者還可以通過日誌、ssh等方便除錯作業。

● 相容ai開發工具生態

平台實現了與visual studio tools for ai等開發工具的深度整合,使用者可以一站式進行ai開發。

openpai是由微軟亞洲研究院和微軟(亞洲)網際網路工程院聯合研發的,支援多種深度學習、機器學習及大資料任務,可提供大規模gpu集群排程、集群監控、任務監控、分布式儲存等功能,且使用者介面友好,易於操作。

openpai的架構如下圖所示,使用者通過web portal呼叫rest server的api提交作業(job)和監控集群,其它第三方工具也可通過該api進行任務管理。隨後rest server與launcher互動,以執行各種作業,再由launcher server處理作業請求並將其提交至hadoop yarn進行資源分配與排程。可以看到,openpai給yarn新增了gpu支援,使其能將gpu作為可計算資源排程,助力深度學習。其中,yarn負責作業的管理,其它靜態資源(下圖藍色方框所示)則由kubernetes進行管理。

openpai架構

openpai完全基於微服務架構,所有的openpai服務和ai job均在容器中執行,這樣的設計讓openpai的部署更加簡單,無論是在ubuntu裸機集群還是在雲伺服器上,僅需執行幾個指令碼即可完成部署。這同時也使其能夠支援多種不同型別的ai任務,如cntk、tensorflow、pytorch等不同的深度學習框架。此外,使用者通過自定義job容器即可支援新的深度學習框架和其他機器學習、大資料等ai任務,具有很強的擴充套件性。

不僅如此,openpai還實現了與visual studio的整合。visual studio tools for ai是微軟visual studio 2017 ide的擴充套件,使用者在visual studio中就可以開發、除錯和部署深度學習和ai解決方案。整合後,使用者在visual studio中除錯好的模型可便捷地部署到openpai集群中。

任務部署成功後visual studio中的任務列表概覽

openpai提供了友好的使用者介面,操作簡單,便於使用者進行集群監控、任務提交等。例如,主介面上顯示了集群的gpu利用率、節點總數、cpu利用率、網路狀況等。當某項資料異常時,openpai將啟動報警機制通知使用者,並在ui上以顏色改變的形式進行提醒(如變成紅色等)。

openpai主介面

集群job概覽,點選job名稱可以檢視詳細資訊及日誌資訊

job執行狀態頁顯示容器的ip位址、埠和gpu位置,該頁面還提供遠端ssh登入容器的資訊

集群中機器執行狀況概覽,不同顏色展現了不同的忙閒程度

集群中每台機器上的service執行狀況

openpai部署

平台部署主要分為以下幾個步驟:

1. 編譯支援gpu排程的hadoop ai容器,詳見

2. 部署kubernetes以及系統服務(如drivers、zookeeper、rest server等)。詳見

3. 訪問web portal進行任務提交和集群管理。

提交深度學習job示例

1. 將你的資料和**上傳至hdfs:

如用hdfs命令行將資料上傳至hdfs://host:port/path/tensorflow-distributed-jobguid/data

2. 準備job配置檔案:(詳見

3. 瀏覽web portal,點選"submit job"上傳配置檔案,即可提交你的job。

來自為知筆記(wiz)

管理軟體實施(1) 什麼是管理軟體

題記 搞管理軟體實施很多年了,發現這項任務對乙個專案的影響如此巨大,但在很多公司卻沒有引起足夠的重視,於是想寫點東西總結一下自己的工作經驗,希望能對同行有些許幫助,今天開篇了。如果效果不錯,希望能集結成書,姑且給這本書命名為 軟體實施 吧。當一家組織需要通過管理軟體來改善管理的時候,就需要啟動乙個管...

印刷管理軟體

自動排版軟體 印刷軟體 pdf自動排版 拼大版 印刷廠由於是名片與宣傳單很多,用corel排版又可能出錯,發現問題也不及時,而pdf流程可以最大程度的減少這種情況,所以開發了pdf印刷排版軟體 印刷製版軟體,速度大約1分鐘一版,實際程式用時大約30秒就可以了 以下僅以排版元件為例 由於軟體是要裝伺服...

BUG管理軟體

1.bugtracker.net 簡單開源的.net程式。適合小團隊使用。作為compuware專案管理軟體整合的乙個重要組成部分,trackrecord目前已經擁有眾多的企業級使用者,它基於傳統的缺陷管理思想,整個缺陷處理流程完備,介面設計精細,並且對缺陷管理資料進行了初步的加工處理,提供了一定的...