ICML 2018|騰訊AI Lab提出誤差補償式量化SGD:顯著降低分布式機器學習的通信成本

選自arXiv

機器之心編譯

參與:Panda

在量子在分佈式機器學習應用中,各個節點之間的通信效率往往會成為整體性能的關鍵制約因素,目前的常見解決方法是對節點之間的通信信息進行壓縮,但這會引入量化誤差。為了解決這一問題,騰訊 AI Lab 提出了一種誤差補償式量化隨機梯度下降(ECQ-SGD)方法。該論文已被將於當地時間 7 月 10-15 日在瑞典斯德哥爾摩舉辦的 ICML 2018 接收,此次實驗室共有 16 篇論文被收錄。


在 ICML 2018 與 IJCAI 2018 大會期間(今年都在斯德哥爾摩),騰訊將舉辦 Tencent Academic and Industrial Conference (TAIC),誠邀全球頂尖 AI 學者、青年研究員與騰訊七大事業群專家團隊探討最前沿 AI 研究與應用。

由於數據近年來的爆炸式增長,很多不同領域都已經越來越關注大規模機器學習了,比如計算機視覺和語音識別領域。在這些應用中,訓練數據的量往往過於龐大,以至於難以通過單個計算節點實現有效的處理,所以分佈式優化方法是這些應用中的一個核心構建模塊。

數據並行化是一種常用的分佈式學習框架,其中整個數據集會被分割和存儲在一個集群中的多個節點上。每個節點都會計算各自的局部梯度並與其它節點交流梯度以更新模型參數。對於這樣的學習系統,消耗的時間可大致歸類為計算時間和通信時間。其中通信往往會成為性能的瓶頸,尤其是對於具有大量參數的大型集群和/或模型。

目前已有一些試圖通過降低通信成本來提升分佈式學習的效率的研究工作。某些方法關注的是將梯度量化為定點數(Zhou et al., 2016; Alistarh et al., 2017),這樣需要傳輸的比特數就會少很多。還有一些研究探索過更為激進的量化方法,比如二元或三元表徵(Seide et al., 2014; Strom, 2015; Wen et al., 2017)。還有方法是在通信過程中在梯度上施加稀疏性,這樣每輪迭代中就僅有一小部分梯度在節點之間交換(Wangni et al., 2017; Lin et al., 2018)。

這些方法的基本思想基本都是將梯度壓縮成某種特定的形式,讓其中每一項都能使用遠少於原來的 32 位浮點數的比特數表示。這樣的壓縮會在優化過程中引入額外的隨機噪聲,即量化誤差,這會減緩收斂速度,甚至導致發散。1Bit-SGD(Seide et al., 2014)採用了誤差反饋方案,即使用上一輪迭代的量化誤差來補償當前的局部梯度,之後再將其輸入量化函數。儘管該方法的提出者表示這有助於改善收斂行為,但卻沒有給出理論分析來證明其有效性。

在本論文中,我們提出了誤差補償式量化隨機梯度下降(ECQ-SGD)方法。我們的算法也使用了誤差反饋方案,但我們會累積所有之前的量化誤差,而不是像 1Bit-SGD 一樣只使用上一輪迭代的量化誤差。儘管實驗評估表明這種修改能實現比很多基準方法更快更穩定的收斂,但為這種現象提供理論保證卻並不簡單。

Alistarh et al., 2017 已經證明,對於他們提出的 QSGD 算法,達到特定次優間隙(sub-optimality gap)所需的迭代數量正比於隨機量化梯度的方差界限。但是,這不能解釋我們的方法的收斂行為,因為我們的量化梯度是對原始梯度的有偏估計,這與 QSGD 的情況不同。實際上,由於使用的是累積的量化誤差,我們的量化梯度的方差界限甚至比 QSGD 的還大。為了解決這一問題,我們從另一個角度給出了收斂性分析,並且證明了在合適的超參選擇下,我們的算法比 QSGD 具有更緊緻的最壞情況誤差界限(worst-case error bound)。事實證明,我們提出的誤差反饋方案可以很好地抑制量化誤差對誤差界限的貢獻;正如我們在實驗中觀察到的那樣,這能實現比 QSGD 更小的次優間隙。

ICML 2018|腾讯AI Lab提出误差补偿式量化SGD:显著降低分布式机器学习的通信成本

算法 1:誤差補償式量化 SGD

在量化完成之後,總體通信成本會降至 32+dr 比特(r ≪ 32),遠少於原來的 32 位全精度梯度所需的 32d 比特;其中 d 是原向量的維度;ICML 2018|騰訊AI Lab提出誤差補償式量化SGD:顯著降低分佈式機器學習的通信成本,其中 s 是非零量化級別的數量:s 越大,則量化越細粒度,通信成本也就越高。

ICML 2018|腾讯AI Lab提出误差补偿式量化SGD:显著降低分布式机器学习的通信成本

圖 2:損失函數值與當前迭代解到最優解距離的比較(左圖:Syn-256;中圖:Syn-512;右圖:Syn-1024)。

ICML 2018|腾讯AI Lab提出误差补偿式量化SGD:显著降低分布式机器学习的通信成本

圖 3:在 Syn-20K 數據集上各階段所消耗的時間以及測試損失(括號中)的比較。QSGD 和 ECQ-SGD 的數字後綴表示非零量化級別的數量 s。這裡的總時間是 1000 次迭代所消耗的時間。

ICML 2018|腾讯AI Lab提出误差补偿式量化SGD:显著降低分布式机器学习的通信成本

圖 6:在 ILSVRC-12 數據集上訓練 ResNet-50 模型時,使用不同數量的 GPU 的吞吐量比較。

論文:誤差補償式量化 SGD 及其在大規模分佈式優化中的應用(Error Compensated Quantized SGD and its Applications to Large-scale Distributed Optimization)

ICML 2018|腾讯AI Lab提出误差补偿式量化SGD:显著降低分布式机器学习的通信成本

論文地址:https://arxiv.org/abs/1806.08054

摘要:大規模分佈式優化對很多不同應用而言都很重要。對於基於數據並行的分佈式學習,節點之間的梯度通信往往會成為性能的瓶頸。我們在本論文中提出了可提升訓練效率的誤差補償式量化隨機梯度下降算法。該方法通過量化局部梯度來降低通信開銷,並且使用累積的量化誤差來加快收斂速度。此外,我們還提供了對其收斂行為的理論分析,並展示了其相對於其它競爭方法的優勢。我們進行了大量實驗,結果表明我們的算法在不降低表現水平的情況下能將梯度壓縮高達兩個數量級。

ICML 2018|騰訊AI Lab提出誤差補償式量化SGD:顯著降低分佈式機器學習的通信成本

ICML 2018|腾讯AI Lab提出误差补偿式量化SGD:显著降低分布式机器学习的通信成本


分享到:


相關文章: