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