創紀錄!Fast.ai和DIU在18分鐘內完成ImageNet訓練 成本僅需40美元

據報道,來自德累斯頓國際大學(DIU)和Fast.ai的研究人員,在18分鐘內用40美元成功訓練了ImageNet,準確度達到93%。

创纪录!Fast.ai和DIU在18分钟内完成ImageNet训练 成本仅需40美元

(圖源:Anette von Kapri)

這是一個新的速度紀錄,用於在公共基礎設施上訓練Imagenet達到這種準確性,並且比其專有TPU Pod群集上的谷歌DAWNBench紀錄快40%。

這也意味著一個關鍵的里程碑——只需40美元,幾乎所有人都可以在一個相當大的數據集上訓練大規模神經網絡。

创纪录!Fast.ai和DIU在18分钟内完成ImageNet训练 成本仅需40美元

(以往的Imagenet訓練結果)

DIU和fast.ai稱將發佈軟件,允許任何人使用該項目中開發的最佳實踐輕鬆地在AWS上訓練和監控他們自己的分佈式模型。

為了節省時間,團隊開發了基礎設施,可以輕鬆地在公共雲上託管的機器上運行多個實驗——他們使用了16個AWS雲實例(每個實例使用8個英偉達V100 GPU)來運行fastai和PyTorch庫,以獲得最低計算成本。這使得個體研究人員能夠以相對較低的成本將他們的系統與廣泛使用的計算密集型benchmark進行對比。

許多組織使用複雜的分佈式訓練系統來進行大型計算,但fast.ai團隊卻在基礎架構中使用最簡單的方法實現了目標。“避免像Docker這樣的容器技術,或像Horovod這樣的分佈式計算系統。我們沒有使用具有單獨的參數服務器、存儲陣列、集群管理節點等的複雜集群架構,而只使用具有常規EBS存儲卷的單個實例類型。”

创纪录!Fast.ai和DIU在18分钟内完成ImageNet训练 成本仅需40美元

(圖源:Fast.ai)

但是,在這種方法中,快速迭代仍然需要面臨諸多挑戰,比如:

如何在沒有大量可持續運行的昂貴實例時,在多臺機器上輕鬆運行多個實驗?

如何便捷地利用AWS的EC2 Spot實例(比一般實例便宜70%)?每次使用該實例時都需要從零開始重新設置。

該團隊的主要訓練方法是:fast.ai用於分類任務的漸進式調整大小和矩形圖像驗證;英偉達的NCCL庫,該庫整合了PyTorch的all-reduce分佈式模塊;騰訊的權重衰減調整方法;谷歌大腦的動態批量大小的一個變體,學習率逐步預熱(Goyal等人2018、Leslie Smith 2018)。該團隊使用經典的 ResNet-50 架構和具備動量的SGD。

在調度程序上,他們使用了一個名為“nexus-scheduler”的系統來管理機器。Nexus-scheduler由前OpenAI和谷歌員工Yaroslav Butov建造,類似於谷歌的開源系統Kubernetes。

在代碼改進方面,設計高效的基礎設施的同時,Fast.ai還對傳統的訓練方法進行了一些巧妙的AI調整,以最大限度地提高訓練效率,包括部署一個可以處理可變圖像大小的訓練系統,它可以對矩形圖像進行裁剪和縮放,這樣訓練便可加速23%,且達 93%的準確度。

创纪录!Fast.ai和DIU在18分钟内完成ImageNet训练 成本仅需40美元

(圖源:Fast.ai)

fast.ai在DAWNBench競賽中取得的主要進展是引入了漸進式圖像尺寸調整來進行分類——在訓練開始時使用小圖像,隨著訓練的進行逐漸增加圖像尺寸。採用這種做法,剛開始的時候模型非常不準確,但它可以很快看到大量圖像並取得快速進展。這一新研究還一定程度上改變了批量大小,以更好地利用GPU RAM並避免網絡延遲。

此類方法表明,個體或小團隊能夠輕鬆地利用容易獲得的開源組件構建最佳系統,並以相對較低的成本在公有云上進行計算。這也意味著——更多的科學家可以進入人工智能領域,並進行大型實驗來驗證他們的方法。

據悉,nexus-scheduler將在8月25日進行首次官方發佈。


分享到:


相關文章: