開源工具Arena,數據科學家再也不用為Kubernetes犯難啦
2018年7月,阿裏雲將深度學習工具Arena貢獻給了開源社區,數據科學家無需學習底層IT資源使用,即可在雲端運行深度學習,一分鐘內啟動深度學習任務,十五分鐘內創建異構計算集群。
為什麽要有Arena這樣的工具?
現在Kubernetres社區最流行的深度學習解決方案是KubeFlow,Arena是不是又重新造了個輪子?KubeFlow是基於Kubernetes構建的可組合,便攜式, 可擴展的機器學習技術棧,支持實現從JupyterHub模型開發,TFJob模型訓練到TF-serving,Seldon預測端到端的解決方案。但是KubeFlow需要用戶精通Kubernetes,比如寫一個TFJob的部署yaml文件,這對於機器學習平臺最主要的使用者---數據科學家來說是非常有挑戰的事情。
這與數據科學家的期望還有比較大的差距,數據科學家關心的是三件事:
數據從哪裏來
如何運行機器學習的代碼
訓練結果(模型和日誌)如何查看
數據科學家編寫一些簡單的腳本,在桌面機上運行機器學習代碼,這是他們熟悉和喜歡的工作方式。但是利用桌面機進行模型訓練,又會遇到由於硬盤空間有限導致處理數據量不足,無法使用分布式訓練導致計算力受限等問題。
為此我們開發了Arena,用一個命令行工具屏蔽所有底層資源、環境管理、任務調度和GPU調度分配的復雜性,它幫助數據科學家以一種簡單熟悉的方式提交訓練任務並且檢查訓練進展。數據科學家在調用Arena的時候可以指定數據來源,代碼下載和是否使用TensorBoard查看訓練效果。
Arena有怎樣的作用?
Arena目前支持單機訓練和PS-Worker模式的分布式訓練,其後端實現依賴於KubeFlow提供的TFJob,很快也會擴展到MPIJob,PytorchJob。
同時也支持實時訓練的運維包括:
? 利用top命令監控GPU資源的分配和調度
? 支持CPU,GPU的資源監控
? 訓練日誌的實時查詢
未來我們希望能夠通過Arena實現深度學習生產流水線 - 集成訓練數據管理,實驗任務管理,模型開發,持續訓練、評估,上線預測全流程。
Arena的目標就是讓數據科學家簡單的釋放KubeFlow的洪荒之力,像桌面機上訓練一樣簡單,同時又擁有了集群級別調度和管理的掌控性。為了能夠更好的在社區內共享和合作,我們已經在github上開源了自己的代碼:https://github.com/AliyunContainerService/arena,歡迎大家了解和使用,如果您覺得不錯,請給我們點贊。如果您希望貢獻代碼,我們非常歡迎。
Arena背後的故事,阿裏雲容器深度學習解決方案
開源工具Arena脫胎於阿裏雲深度學習解決方案, 該方案已經支持多種深度學習框架(如Tensorflow、Caffe、Hovorod、Pytorch等),從始至終地支撐深度學習的整條生產流水線(集成訓練數據管理、實驗任務管理、模型開發、持續訓練及評估、上線預測等環節)。
該方案深度整合阿裏雲資源與服務,高效使用CPU、GPU等異構資源,統一容器化編排管控,並提供多維度監控告警和運維平臺。
寫在最後
“深度學習為人工智能帶來變革式的蓬勃發展,然而對計算和數據資源的依賴也急劇增加。” 阿裏雲相關技術負責人張凱表示:“基於容器和異構計算技術,阿裏雲為大規模訓練提供端到端的支持,不斷打磨使用更簡單、功能更強大的深度學習解決方案。”
原文鏈接
本文為雲棲社區原創內容,未經允許不得轉載。
開源工具Arena,數據科學家再也不用為Kubernetes犯難啦