224秒!ImageNet上訓練ResNet-50最佳戰績出爐,索尼下血本破紀錄

夏乙 嶽排槐 發自 亞龍灣
量子位 出品 | 公衆號 QbitAI

640?wx_fmt=jpeg

索尼大法好。git

索尼本身說。github

剛剛,索尼在arXiv上發文宣佈:他們用224秒在ImageNet上完成了ResNet-50訓練,沒有明顯的準確率損失。算法

並且訓練偏差曲線與參考曲線很是類似。最大的mini-batch size能夠增大到119K而沒有明顯的準確率損失,不過進一步增大到136K時準確率會下降約0.5%。網絡

這是索尼給出的對比。機器學習

640?wx_fmt=png

 在ImageNet/ResNet-50上的訓練時間和top-1 1-crop驗證準確率對比。

從這個表格能夠看出,斜刺裏殺出的索尼,堪稱完勝。比騰訊今年6月創造的成績還要好。比前幾年的成績,更是多個數量級的進步。分佈式

關於上表中騰訊的成績,有些同窗可能會有疑問:不是4分鐘嗎?函數

狀況是這樣的,騰訊今年6月的「4分鐘訓練ImageNet」,指的是AlexNet網絡;而上面列出的,是訓練ResNet-50網絡須要的時間和達到的準確率。學習

插播一個花絮,上表中騰訊公司的Xianyan Jia,如今已經供職於阿里巴巴了……spa

固然,索尼也是下了血本。爲了達到這個成績,動用了更多的GPU。不過索尼本身也說,他們的方法也能更有效的利用大規模GPU。ci

在訓練速度和GPU規模效率上,索尼把本身的方法與單節點(4個GPU)進行了對比。下面這個表格顯示了當mini-batch size設置爲32時,不一樣GPU數量的效率。

640?wx_fmt=png

640?wx_fmt=png

 在ImageNet/ResNet-50上訓練的GPU規模效率

如上表所示,當索尼使用1088個GPU時,規模效率超過90%。騰訊以前的工做中,使用1024個Tesla P40,GPU的規模效率爲87.9%。

索尼表示,他們的互聯方案能基於更快(Tesla V100)和更多的GPU,實現更高的GPU規模效率。

兩件裝備

更快的訓練速度,更高的GPU規模化效率來自兩件加速裝備:

一是針對大批次(batch)訓練不穩定問題的批次大小控制,二是2D-Torus all-reduce,下降了梯度同步的通訊開銷。

它們所解決的,正是困擾大規模分佈式深度學習訓練的兩個問題。

所謂批次大小控制,是指在訓練過程當中逐漸提高批次的總體大小。每當訓練的損失圖變「平」,就提大批次,這樣有助於避開局部最小值。

在這個224秒訓練完ImageNet的方案中,批次大小超過32k時,索尼五人組用這種方法來防止準確率的降低。

2D-Torus All-reduce,是一種「高效的」通訊拓撲結構。不像以前的Ring All-redice等算法,就算有上千個GPU,2D-Torus all-reduce也能徹底利用它們的帶寬。

640?wx_fmt=png

2D-Torus拓撲結構如上圖所示。這種結構下,簇裏的GPU排列在2D網格中,all-reduce由3步組成:1) 水平進行的reduce-scatter、2) 垂直進行的all-reduce、水平進行的all-gather。

640?wx_fmt=png

上面提到的兩件加速裝備,都是用索尼自家神經網絡庫Neural Network Libraries(NNL)實現的,這個庫還有個可能稍微更爲人所熟知一點的名字:nnabla

在nnabla這個名字裏,nn表明神經網絡(neural network)的縮寫,而nabla表明梯度的數學符號∇。

2017年6月,索尼在GitHub上開源了這個庫,repo名叫nnabla。它在GitHub上一直在活躍更新,如今有2000多星,226次fork。

nnabla基本用C++11寫成,讓用戶能直觀地用少許代碼定義計算圖,帶有CUDA擴展,能添加新函數,支持動態計算圖,能夠在Linux和Window上運行。

地址在這裏:https://github.com/sony/nnabla

最後,附上這篇224秒訓練ImageNet/ResNet-50:

640?wx_fmt=png

ImageNet/ResNet-50 Training in 224 Seconds
https://arxiv.org/abs/1811.05233

年度評選申請

640?wx_fmt=jpeg

加入社羣

量子位AI社羣開始招募啦,歡迎對AI感興趣的同窗,在量子位公衆號(QbitAI)對話界面回覆關鍵字「交流羣」,獲取入羣方式;


此外,量子位專業細分羣(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。


進專業羣請在量子位公衆號(QbitAI)對話界面回覆關鍵字「專業羣」,獲取入羣方式。(專業羣審覈較嚴,敬請諒解)

誠摯招聘

量子位正在招募編輯/記者,工做地點在北京中關村。期待有才氣、有熱情的同窗加入咱們!相關細節,請在量子位公衆號(QbitAI)對話界面,回覆「招聘」兩個字。

640?wx_fmt=jpeg

量子位 QbitAI · 頭條號簽約做者

վ'ᴗ' ի 追蹤AI技術和產品新動態