100倍加速!深度學(xué)習(xí)訓(xùn)練神器Determined AI宣布開(kāi)源!更快,更簡(jiǎn)單,更強(qiáng)大
作為一名深度學(xué)習(xí)科研人員,小編我可是深受模型訓(xùn)練的困擾:一個(gè)模型要跑幾天幾夜,結(jié)果最后發(fā)現(xiàn)有一步錯(cuò)了 ...從頭再來(lái)
超參數(shù)怎么調(diào)精度都上不去,心真的好累...
手動(dòng)調(diào)整系統(tǒng)環(huán)境,只要錯(cuò)一個(gè),就跑不起來(lái)了嗷...
常常只是為了訓(xùn)練一個(gè)模型,就要耗費(fèi)巨大的時(shí)間,改來(lái)改去,還有經(jīng)過(guò)漫長(zhǎng)的等待,內(nèi)心真的在默默哭泣有木有!
然后,我發(fā)現(xiàn)我竟然還能再拯救一下——Determined AI駕著七彩祥云來(lái)救我啦!
同樣受到這種苦惱,深有感觸的眾多深度學(xué)習(xí)研究人員,花費(fèi)了數(shù)年心血,終于開(kāi)發(fā)出了一個(gè)便利廣大深度學(xué)習(xí)從業(yè)人員的訓(xùn)練神器。
這款深度學(xué)習(xí)訓(xùn)練平臺(tái),是由多年從事實(shí)踐領(lǐng)域的專(zhuān)家,耗費(fèi)三年時(shí)間構(gòu)建完成的,他們的目標(biāo)是幫助深度學(xué)習(xí)團(tuán)隊(duì)更快地訓(xùn)練模型,輕松共享GPU資源并有效協(xié)作。
Determined使深度學(xué)習(xí)工程師可以集中精力大規(guī)模構(gòu)建和訓(xùn)練模型,而無(wú)需擔(dān)心DevOps,或者為常見(jiàn)任務(wù)(如容錯(cuò)或?qū)嶒?yàn)跟蹤)編寫(xiě)代碼。
官網(wǎng)鏈接:
https://determined.ai/developers/
“等一下,這里面到底有啥,能不能詳細(xì)說(shuō)明一下!”
好,那我就好好扒一扒,給大家看看。
專(zhuān)注模型訓(xùn)練,更快更準(zhǔn)!
眾所周知,一個(gè)完整的深度學(xué)習(xí)項(xiàng)目,包括了數(shù)據(jù)準(zhǔn)備,模型訓(xùn)練以及模型部署等環(huán)節(jié):
而Determined,則可以幫助我們更好的專(zhuān)注于模型本身的訓(xùn)練,而不是把時(shí)間和精力大量花在樣例代碼和DevOps上。
模型訓(xùn)練部分,Determined可以幫助我們完成:
- 更快的分布式訓(xùn)練
- 智能的超參優(yōu)化
- 實(shí)驗(yàn)跟蹤和可視化
這樣,它就可以使我們可以專(zhuān)注于手頭的任務(wù)——即訓(xùn)練模型上。
訓(xùn)練人員,可以立即進(jìn)入為深度學(xué)習(xí)工作而創(chuàng)建的專(zhuān)用環(huán)境,然后將時(shí)間花費(fèi)在來(lái)設(shè)置模型上,而完全不必?fù)?dān)心安裝,拆卸和其他樣例代碼的問(wèn)題。
看到這里我想說(shuō),開(kāi)發(fā)人員真的是太貼心了,他們很清楚我們不想花時(shí)間做什么,我真的感激*100!
那這個(gè)神器可以幫我們處理什么呢?
- 內(nèi)置的訓(xùn)練循環(huán)抽象,可支持實(shí)驗(yàn)跟蹤,有效的數(shù)據(jù)加載,容錯(cuò),并可以靈活地進(jìn)行自定義。
- 高性能的分布式培訓(xùn),無(wú)需更改任何代碼。
- 基于前沿研究的自動(dòng)超參數(shù)優(yōu)化。
有了這些功能,模型訓(xùn)練so easy!老板再也不用擔(dān)心我的模型!
直接點(diǎn)擊官網(wǎng)鏈接,就可以體驗(yàn)這些功能:
接下來(lái),我們可以看看這兩個(gè)和模型訓(xùn)練密切相關(guān)的部分——分布式訓(xùn)練速度和智能超參優(yōu)化具體是怎么一回事:
分布式訓(xùn)練
Determined主要運(yùn)用了Horovod,以Horovod為起點(diǎn),研究人員運(yùn)用了多年的專(zhuān)業(yè)知識(shí)和經(jīng)驗(yàn),使得整個(gè)訓(xùn)練過(guò)程比庫(kù)存配置要快得多。
這樣,我們就可以更減少浪費(fèi)的時(shí)間,更好的利用計(jì)算機(jī)的硬件設(shè)備,來(lái)達(dá)到高效的訓(xùn)練速度。
在這里科普一下Horovod:
Horovod 是一套面向TensorFlow 的分布式訓(xùn)練框架,由Uber 構(gòu)建并開(kāi)源,目前已經(jīng)運(yùn)行于Uber 的Michelangelo 機(jī)器學(xué)習(xí)即服務(wù)平臺(tái)上。Horovod 能夠簡(jiǎn)化并加速分布式深度學(xué)習(xí)項(xiàng)目的啟動(dòng)與運(yùn)行。當(dāng)數(shù)據(jù)較多或者模型較大時(shí),為提高機(jī)器學(xué)習(xí)模型訓(xùn)練效率,一般采用多 GPU 的分布式訓(xùn)練。TensorFlow 集群存在諸多缺點(diǎn),如概念太多、學(xué)習(xí)曲線(xiàn)陡峭、修改的代碼量大、性能損失較大等,而 Horovod 則讓深度學(xué)習(xí)變得更加美好,隨著規(guī)模增大,Horovod 性能基本是線(xiàn)性增加的,損失遠(yuǎn)小于 TensorFlow。
有關(guān)Horovod的詳細(xì)信息,大家可以點(diǎn)擊下方鏈接進(jìn)行學(xué)習(xí)和了解~
"是時(shí)候放棄 TensorFlow 集群,擁抱 Horovod 了"
https://www.infoq.cn/article/J4ry_9bsfbcNkv6dfuqC
使用Determined,我們的分布式模型訓(xùn)練速度能有多快呢?下圖告訴我們,可以達(dá)到24倍!!
PS:真的有快很多啊嚕,感慨...
超參數(shù)優(yōu)化
通過(guò)提供和任務(wù)密集集成的前沿智能搜索功能,以及默認(rèn)并行的設(shè)置,開(kāi)發(fā)者幫我們免除了傳統(tǒng)超參搜索調(diào)試的麻煩。
這樣,我們就可以用更快的速度,來(lái)獲得更準(zhǔn)確的模型。
那使用Determined,超參數(shù)優(yōu)化的速度又可以提高多少倍呢?
100倍!看到這里,我真的很真實(shí)的在感動(dòng)了... 多出的時(shí)間是不是可以用來(lái)玩動(dòng)森? 反正也有正當(dāng)理由:為ACAL2020做準(zhǔn)備哈哈~
GPU調(diào)度更加靈活,支持各種流行框架
Determined還可以更加靈活的進(jìn)行GPU調(diào)度,包括:
1)動(dòng)態(tài)調(diào)整訓(xùn)練任務(wù)的大小
2)自動(dòng)在AWS和GCP上管理云資源
同時(shí),它還可以支持TensorBoard和基于GPU的Jupyter Notebook。(我最親愛(ài)的小伙伴也可以在這個(gè)平臺(tái)上使用了誒?。。?/p>
“Tensorflow和Pytorch都能支持嗎?”——吃瓜的路人甲忍不住了
哦對(duì)了,還有一個(gè)關(guān)鍵點(diǎn),那就是使用這個(gè)平臺(tái)的同時(shí),我們可以繼續(xù)使用Tensorflow和Pytorch,只要改一下模型的代碼,來(lái)實(shí)現(xiàn)Determined的API就可以了。
是不是很方便!
平臺(tái)透明開(kāi)放,用戶(hù)服務(wù)完備
深度學(xué)習(xí)團(tuán)隊(duì)協(xié)作工具
這個(gè)平臺(tái)透明,開(kāi)放,并且方便團(tuán)隊(duì)協(xié)作,很適合深度學(xué)習(xí)團(tuán)隊(duì)使用:
Determined通過(guò)實(shí)驗(yàn)跟蹤,日志管理,指標(biāo)可視化,可重復(fù)性和依賴(lài)性管理等,幫助任何人在實(shí)驗(yàn)管理中脫穎而出。對(duì)任何規(guī)模的團(tuán)隊(duì)來(lái)說(shuō),這款平臺(tái)都是完美的。
從一個(gè)團(tuán)隊(duì)開(kāi)始,使用者可以在準(zhǔn)備就緒后,輕松地共享和擴(kuò)展工作。
開(kāi)源,適用于各種云供應(yīng)商
開(kāi)發(fā)者建議:深度學(xué)習(xí)從業(yè)人員可以選擇跳出專(zhuān)有解決方案:
“Determined可以支持云平臺(tái),或者本地基礎(chǔ)結(jié)構(gòu),甚至兩者都可以。該平臺(tái)可以在您選擇的深度學(xué)習(xí)框架中工作,并隨時(shí)導(dǎo)出到流行的服務(wù)框架中。”
使用這個(gè)平臺(tái),使用非常簡(jiǎn)單的步驟,就可以開(kāi)源項(xiàng)目,從而造福其他小伙伴~
詳細(xì)的用戶(hù)文檔
Determined現(xiàn)在已經(jīng)有正式的用戶(hù)手冊(cè),可以供使用者隨時(shí)查閱和參考:
https://docs.determined.ai/latest/
還有簡(jiǎn)單容易上手的tutorial:
最后,開(kāi)發(fā)者還特別貼心的附上了Slack鏈接,任何人都可以和Determined的開(kāi)發(fā)團(tuán)隊(duì)交流,并進(jìn)行反饋和溝通:
這里放上項(xiàng)目開(kāi)源地址,有興趣的小伙伴可以馬上去GitHub體驗(yàn)下:
https://github.com/determined-ai/determined