【論文考古】量化SGD QSGD: Communication-Efficient SGD via Gradient Quantization and Encoding

木坑發表於2022-03-08

D. Alistarh, D. Grubic, J. Li, R. Tomioka, and M. Vojnovic, “QSGD: Communication-Efficient SGD via Gradient Quantization and Encoding,” Advances in Neural Information Processing Systems, vol. 30, 2017, Accessed: Jul. 31, 2021. [Online]. Available: https://proceedings.neurips.cc/paper/2017/hash/6c340f25839e6acdc73414517203f5f0-Abstract.html

作為量化SGD系列三部曲的第二篇,本篇文章是從單機學習到聯邦學習的一個重要過渡,在前人的基礎上重點進行了理論分析的完善,成為了量化領域繞不開的經典文獻。

簡介

相較於上一篇IBM的文章,本文考慮用梯度量化來改善並行SGD計算中的通訊傳輸問題,並重點研究了通訊頻寬收斂時間的關係(precision-variance trade-off)。具體而言,根據information-theoretic lower bounds,當調整每次迭代中傳輸的位元數時,梯度方差會發生改變,從而進行收斂性分析。實驗結果表明在用ResNet-152訓練ImageNet時能帶來1.8倍的速率提升。

觀點

  • QSGD基於兩個演算法思想
    • 保留原始統計性質的隨機量化(來源於量化SGD的實驗性質)
    • 對量化後梯度的整數部分有損編碼(進一步降低位元數)
  • 減少通訊開銷往往會降低收斂速率,因此多訓練帶來的額外通訊次數值不值,是神經網路量化傳輸需要考慮的重點
  • 可以把量化看作一個零均值的噪聲,只是它碰巧能夠讓傳輸更加有效
  • 卷積層比其他層更容易遭受量化帶來的效能下降,因此在量化方面,完成視覺任務的網路可能比深度迴圈網路獲益更少

理論

  • 方差對於SGD收斂性的影響

    image-20220308104156417

    mini-batch操作可以看作是減少方差的一個方法,當第一項主導的時候,由於方差減少到了\(\sigma^2 /m\),因此收斂所需的迭代次數變為\(1/T\)

  • 無損的parallel SGD就是一種mini batch,因此將?定理換一種寫法(其實就是寫成不等式右邊趨於零時),得到收斂所需迭代次數與方差的關係

    image-20220308105414436 image-20220308105424176

    通常第一項會主導迭代次數,因此結論:收斂所需的迭代次數與隨機梯度的二階方差界\(B\)成線性關係

  • 隨機量化與編碼

    • 隨機量化

      量化水平數量\(s\)(沒有包含0),量化水平在\([0,1]\)均勻分佈。構造的目的為:1)preserves the value in expectation;2)introduce minimal variance

      image-20220308112434511
      • 對於向量中的每個分量單獨量化
      • 進行\(|v_i|/\|v\|_2\)操作後能保證每個分量都落在\([0,1]\)區間內,從而轉化為\([0,1]\)上的量化
      • 最終的上下取值概率之比就是量化點到上下量化水平的距離之比

      好像和投影距離是等價的?

      如此量化後有良好的統計特性(在這個量化值下有最小的方差)

      image-20220308112824862
    • 編碼

      Elias integer encoding,基本思想是大的整數出現的頻率會更低,因此迴圈的編碼第一個非零元素的位置

      將整數轉變為二進位制序列,編碼後的長度為\(|\operatorname{Elias}(k)|=\log k+\log \log k+\ldots+1 \leq(1+o(1)) \log k+1\)

    可得在給定量化方差界\(\left(\|v\|_{2}, \sigma, \zeta\right)\)後,需要傳輸的位元數上界為

    image-20220308123814749 image-20220308123836400

    注:此時1bit傳輸作為\(s=1\)的稀疏特例

  • 將?兩個定理合並後的結果如下。由於QSGD計算的是介面變數方差,因此可以很便利地結合到各種與方差相關的隨機梯度分析框架中。

    • Smooth convex QSGD

      image-20220308124937197
    • Smooth non-convex

      image-20220308124849548
  • QSGD在實際應用中的兩個變種

    • 將一個向量進一步分為若干bucket來量化,顯然bucket size越大方差越大
    • 在向量scaling的時候選用最大分量值而不是向量的二範數

實驗

  • 全精度SGD傳\(32n\)位元,QSGD最少可以只傳\(2.8n+32\)位元,在兩倍迭代次數下,可以帶來節約\(5.7\)倍的頻寬

  • 實驗結果

    • 效能上幾乎超越了大模型

      image-20220308191859659
      • 要用大模型才有量化的價值

      We will not quantize small gradient matrices (< 10K elements), since the computational cost of quantizing them significantly exceeds the reduction in communication.

    • 計算和通訊的開銷

      image-20220308192722328
      • 增加並行後主要耗時在通訊上
  • 實驗部分還沒有完全搞懂(比如protocol部分、GPU的並行)

借鑑

  • 文章在QSGD的基礎上,從stochastic variance-reduced variant角度又繼續分析QSVRG,覆蓋到了指數收斂速率。也就是通過新增新技術來說明原始方法的擴充套件性。
  • 這篇文章的基礎是communication complexity lower bound of DME,因此建立傳輸位元數和方差的關係是直接拿過來的。而方差和收斂性的分析也是常用的,因此在承認DME的基礎上很容易得到tight bound。
  • 這篇文章的寫作並不算優秀,但是內容十分solid和extensive,絕對是經典之作。

相關文章