清華大學提出1-Bit FQT:將全量化訓練極限推到極致,訓練速度提升5倍!
在深度神經網絡的訓練過程中,全量化訓練(Fully Quantized Training, FQT)通過將激活值、權重和梯度量化到較低的精度,顯著加速了訓練過程。隨著對訓練數值精度的不斷壓縮,一個自然而然的問題浮現出來:全量化訓練的極限是什么?即,能夠實現的最低位寬是多少?理想情況下,如果能將位寬壓縮到1位,訓練將可以通過二進制操作實現,這不僅能極大簡化硬件設計,還可能在保持訓練質量的前提下,實現極致的計算效率。
本文首次嘗試將全量化訓練的精度推向1位極限。我們提供了基于Adam和SGD的全量化訓練的理論分析,并揭示了梯度方差如何影響全量化訓練的收斂性。在此基礎上,我們引入了激活梯度修剪(Activation Gradient Pruning, AGP)策略,通過修剪不太有信息量的梯度,并提高剩余梯度的數值精度來減少梯度方差。此外,我們還提出了樣本通道聯合量化(Sample Channel joint Quantization, SCQ)策略,該策略在權重梯度和激活梯度的計算中采用不同的量化策略,以確保方法對低位寬硬件友好。最終,我們展示了如何部署我們的算法,并在多個數據集上對VGGNet-16和ResNet-18進行微調,平均準確率提高了約6%,訓練速度提升了最高達5.13倍。
論文基本信息
- 標題: 1-Bit FQT: Pushing the Limit of Fully Quantized Training to 1-bit
- 作者: Chang Gao, Jianfei Chen, Kang Zhao, Jiaqi Wang, Liping Jing
- 機構:
Beijing Jiaotong University
Tsinghua University
地址:??https://arxiv.org/pdf/2408.14267??
全量化訓練(FQT)的概述
全量化訓練(Fully Quantized Training,簡稱FQT)是一種通過將激活值、權重和梯度量化為低精度數值格式來加速深度神經網絡訓練的技術。這種方法使得在低精度硬件上能夠快速實現前向和后向傳播,從而提高計算和內存效率。隨著研究的深入,FQT的數值精度已經從最初的16位(FP/INT16)逐步降低到8位(FP/INT8),并且目前一些研究已經將精度成功降至4位。
盡管FQT在提高訓練速度方面具有潛力,但其挑戰在于理論理解的不足,尤其是梯度量化對收斂性的影響,以及梯度的大量化誤差可能導致性能急劇下降或甚至發散。目前的研究前沿仍停留在4位FQT,但探索將位寬推向更低極限,即1位FQT,是未來的研究方向。
1-bit FQT的理論分析
在我們的研究中,我們首次嘗試將全量化訓練的精度推向1位(1-bit FQT)。通過對Adam和SGD兩種優化器的理論分析,我們發現梯度方差是影響FQT收斂性的關鍵因素。具體來說,我們的分析揭示了在低位寬情況下,Adam優化器比SGD更適合于FQT,因為Adam對梯度方差的敏感度較低。
為了應對由梯度量化引起的大量化誤差,我們提出了激活梯度修剪(Activation Gradient Pruning,AGP)策略。該策略利用梯度的異質性,通過剪除信息量較少的梯度組,并將節省下來的資源用于提高剩余梯度的數值精度,從而減少梯度方差。此外,我們還提出了樣本通道聯合量化(Sample Channel joint Quantization,SCQ)策略,該策略在計算權重梯度和激活梯度時采用不同的量化方法,確保兩者都能在低位寬計算單元上有效實現。
通過在多個數據集上對VGGNet-16和ResNet-18進行微調,我們的1-bit FQT算法在平均精度上比每個樣本量化提高了約6%,并且訓練速度提升最高可達5.13倍。這些結果表明,在特定任務中,FQT的精度可以被推向極限1位。
提出的1-bit FQT算法
1-bit FQT算法是在全量化訓練(Fully Quantized Training, FQT)的基礎上,進一步推動模型訓練中的數值精度降至1比特。全量化訓練通過將激活值、權重和梯度量化到較低的數值精度,加速了深度神經網絡的訓練過程。在本研究中,我們首次嘗試將FQT的精度推至1比特極限。
1.1 理論分析
我們基于Adam和SGD優化器對FQT進行了理論分析。分析結果表明,梯度的方差是影響FQT收斂性的關鍵因素。Adam優化器在低比特寬度訓練中表現出比SGD更好的穩定性,這是因為Adam對梯度方差的敏感度較低。
1.2 算法組成
1-bit FQT算法包括激活梯度修剪(Activation Gradient Pruning, AGP)和樣本通道聯合量化(Sample Channel joint Quantization, SCQ)兩個主要策略。AGP策略通過剪除信息量較少的梯度組,重新分配資源以提高剩余梯度的數值精度,從而減少梯度方差。SCQ策略則在權重梯度和激活梯度的計算中采用不同的量化方法,確保這些操作能夠在低比特寬度的硬件上高效執行。
實驗設計與結果
為了驗證1-bit FQT算法的有效性,我們在多個數據集上對VGGNet-16和ResNet-18模型進行了微調實驗。
2.1 實驗設置
我們選擇了包括CIFAR-10、CIFAR-100、Flowers和Pets等多個視覺分類數據集。實驗中,所有模型首先在ImageNet數據集上進行預訓練,然后使用1-bit FQT算法進行微調。
2.2 主要結果
實驗結果顯示,與傳統的每樣本量化方法相比,我們的1-bit FQT算法在多個數據集上平均提高了約6%的準確率。特別是在Flowers和Pets數據集上,準確率損失幾乎可以忽略不計(小于1%),這表明在某些情況下1-bit FQT是非常有效的。此外,我們的方法在訓練速度上最高可達到傳統全精度訓練的5.13倍加速。
討論與未來方向
在本研究中,我們首次嘗試將全量化訓練(FQT)的精度推至1比特。通過理論分析和實驗驗證,我們發現梯度方差是影響FQT收斂性的關鍵因素。基于此,我們提出了激活梯度修剪(AGP)策略和樣本通道聯合量化(SCQ)策略,有效降低了梯度方差,提高了模型的訓練效率和精度。
未來的研究方向可以從以下幾個方面進行探索:
優化量化策略:雖然我們的AGP和SCQ策略已經取得了一定的成效,但仍有進一步優化的空間。例如,探索更高效的梯度修剪方法或更精細的量化級別調整,以適應更廣泛的網絡結構和數據集。
擴展到其他網絡架構:目前的研究主要集中在卷積神經網絡(CNN)上,未來可以將1比特FQT擴展到其他類型的深度學習模型,如循環神經網絡(RNN)和Transformer,檢驗其在不同架構上的普適性和有效性。
從頭訓練的探索:目前1比特FQT主要應用于遷移學習和微調場景,從頭開始訓練的場景仍是一個開放的問題。未來的研究可以探索在無預訓練模型的情況下,如何有效實施1比特FQT,以及如何處理由此帶來的梯度方差問題。
本文轉載自 ??AI論文解讀??,作者:柏企
