當前位置:
首頁 > 知識 > 清華&斯坦福提出深度梯度壓縮DGC,大幅降低分散式訓練網路帶寬需求

清華&斯坦福提出深度梯度壓縮DGC,大幅降低分散式訓練網路帶寬需求

大規模的分散式訓練需要為梯度交換提供很高的通信帶寬,並依賴昂貴的高帶寬網路基礎設施,因而限制了多節點訓練的可擴展性。當在移動設備上進行分散式訓練時(聯合式學習),情況將變得更加糟糕,導致更高的延遲、更低的吞吐量以及斷續的連接狀態。在本文中,我們發現在分散式 SGD 中 99.9% 的梯度交換都是冗餘的,因此我們提出了深度梯度壓縮方法(Deep Gradient Compression,DGC)以大幅壓縮通信帶寬。為了在壓縮過程中保持準確率,DGC 使用了四個方法:動量修正(momentum correction)、局域梯度修剪(local gradient clipping)、動量因子掩蔽(momentum factor masking)以及預熱訓練(warm-up training)。我們將 DGC 應用到圖像分類、語音識別和語言建模中,評估數據集包括 Cifar10、ImageNet、Penn Treebank 和 Librispeech Corpus。在這些場景中,DGC 在不降低準確率的情況下達到了 270 倍到 600 倍的梯度壓縮率,將 ResNet-50 的梯度規模從 97MB 壓縮到了 0.35MB,將 DeepSpeech 的梯度規模從 488MB 壓縮到了 0.74MB。DGC 可以幫助我們在通用的 1Gbps 乙太網上執行大規模的分散式訓練,並能促進移動設備上的分散式訓練開發。

林宇鋆是清華大學電子工程系 NICS 實驗室 2014 級本科生,於 2017 年暑假在斯坦福參加暑研期間同韓松博士一起出色完成了 DGC 的工作,收到 MIT, Stanford, CMU, UMich 等美國名校的博士項目錄取,並將於 2018 年秋加入 MIT HAN Lab 攻讀博士學位。

韓松博士於 2017 年畢業於斯坦福大學,師從 GPU 之父 Bill Dally 教授。他的研究涉足深度學習和計算機體系結構,他提出的 Deep Compression 模型壓縮技術曾獲得 ICLR 2016 最佳論文,ESE 稀疏神經網路推理引擎獲得 FPGA 2017 最佳論文,引領了世界深度學習加速研究,對業界影響深遠,於博士期間聯合創立了深鑒科技。基於對一系列重要科研成果的繼續深入探索,韓松博士將於 2018 年任職 MIT 助理教授,創立 HAN Lab。

大規模分散式訓練可提升訓練大型深度模型的訓練速度。同步隨機梯度下降(SGD)已被普遍用於分散式訓練。通過增加訓練節點數量,利用數據並行化的優勢,我們能夠極大地減少在相同規模的訓練數據上做前向-後向傳播的計算時間。然而,分散式訓練中梯度交換的成本過高,尤其是在計算-通信比率較低的循環神經網路(RNN)等情況下;由並行訓練帶來的計算時間上的節省,可能將不足以補償通信時間上代價的增長。因此,網路帶寬成為了分散式訓練規模化的最大瓶頸。特別是在移動設備上做分散式訓練時,帶寬問題變得更加顯著,例如聯合學習(federated learning)。因為具備更好的隱私性、個性化等特點,在移動設備上訓練神經網路模型變得更加誘人,但其面臨的重大挑戰包括移動設備網路中的更低的帶寬、不連貫的網路連接、價格昂貴移動數據流量等問題。

圖 1:DGC 可以減少梯度交換時間,提高多節點訓練的可擴展性,並對分散式訓練進行加速。

深度梯度壓縮(Deep Gradient Compression,DGC)通過壓縮梯度解決了通信帶寬問題,如圖 1 所示。為了確保沒有損失準確率,DGC 在梯度稀疏化之上應用了動量修正(momentum correction)和局域梯度修剪(local gradient clipping)方法。DGC 還應用了動量因子掩蔽(momentum factor masking)和預熱訓練(warm-up training)以克服通信量減少帶來的陳化問題。

研究者通過實驗在多種任務、模型和數據集上驗證了 DGC 的有效性:

CNN 網路:圖像分類任務,CIFAR-10 和 ImageNet 數據集;

RNN 網路:語言建模任務,Penn Treebank 數據集;

語音識別任務,Librispeech Corpus。

這些實驗證明了我們可以對梯度進行 600 倍的壓縮而不損失準確率,相比於之前的研究(Aji & Heafield, 2017),DGC 的性能提升了一個量級。

圖 2:動量修正圖示:(a)沒有使用動量修正的局域梯度累積(Local Gradient Accumulation);(b)使用動量修正的局域梯度修正。

表 1:深度梯度壓縮(DGC)中應用到的技術。

表 2:在 CIFAR-10 數據集上訓練的 ResNet-110 的準確率結果,圖中展示了基線模型、Gradient Dropping 方法和 DGC 方法優化後的結果對比。

圖 3:ResNet 在圖像分類任務上的學習曲線(梯度稀疏度為 99.9%)。(a)ResNet-110 在 CIFAR-10 數據集上的 top-1 準確率;(b)ResNet-110 在 CIFAR-10 數據集上的訓練損失;(c)ResNet-50 在 ImageNet 數據集上的 top-1 準確率;(d)ResNet-50 在 ImageNet 數據集上的訓練損失。

表 3:AlexNet 和 ResNet-50 模型的多種優化方法在 ImageNet 數據集上得到的梯度壓縮率對比。

圖 6:DGC 提升了分散式訓練的加速性能和可擴展性。每一個訓練節點有 4 個英偉達 Titan XP GPU 以及一個 PCI 交換機。

5. 系統分析和表現部署

DGC 需要對梯度進行 top-k 選擇。給定目標稀疏係數為 99.9%,我們要從百萬權重中選擇最大的 0.1%。其複雜度通常為 O(n),n 是梯度單元(gradient element)的數量。我們提出使用採樣法來減少 top-k 的選擇時耗。我們只採樣梯度的 0.1% 到 1%,然後在採樣上的進行 top-k 選擇來估算整個梯度矩陣的閾值。

如果被選出梯度的數量(遠超期望地)超出了閾值,我們就可以從已選擇的梯度中重新使用 top-k 演算法計算精確的閾值。分層地計算閾值可以顯著地減少 top-k 選擇時間。在實踐中,相比網路的通信時間,總的額外計算時間是可忽略的,通常為幾百毫秒到數秒(取決於網路帶寬)。

我們使用了 Wen 等人(2017)提出的性能模型來執行可擴展性分析,將單個訓練節點上的輕量剖析和分析通信建模技術結合了起來。通過全歸約(all-reduce)通信模型(Rabenseifner, 2004; Bruck et al., 1997),在最壞的情況下,稀疏數據的密度在每個聚合步驟翻一番。然而,即使考慮了這種效應,DGC 仍然能顯著地減少網路通信時間,如圖 6 中所示。圖 6 展示了多節點訓練和單節點訓練的加速性能對比。傳統的訓練方法在 1Gbps(圖 6(a))的乙太網上的加速性能相比在 10Gbps(圖 6(b))上的加速性能要差很多。儘管如此,DGC 可以將 1Gbps 乙太網上的訓練過程進行優化,並得到和 10Gbps 乙太網訓練相當的結果。例如,當將 AlexNet 在 64 個節點上訓練時,傳統的訓練方法在 10Gbps 乙太網上僅能達到約 30 倍的加速(Apache, 2016),而應用 DGC 時,僅僅在 1Gbps 乙太網上訓練就能獲得 40 倍的加速。對比圖 6 中的(a)和(b),當通信-計算比率更高,以及網路帶寬更低時,DGC 的優勢更加明顯。

論文:https://arxiv.org/abs/1712.01887

-報名學習挑戰百萬年薪-


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI講堂 的精彩文章:

2017年中國計算機科學領域被引用最多的153位學者!
Keras】基於SegNet和U-Net的遙感圖像語義分割

TAG:AI講堂 |