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