大模型量化訓練極限在哪?騰訊混元提出低位元浮點數訓練Scaling Laws

机器之心發表於2025-01-16

圖片

AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

大模型低精度訓練和推理是大模型領域中的重要研究方向,旨在透過降低模型精度來減少計算和儲存成本,同時保持模型的效能。因為在大模型研發成本降低上的巨大價值而受到行業廣泛關注 。近期,業界對低精度訓練和推理的廣泛關注與討論。在實際的研發過程中,特別是模型訓練方面,經驗表明浮點數量化方案相比整數量化方案對模型效果造成的損失更小,所以浮點數常常被用作量化訓練的型別。這就引出了一些問題:整數型別量化訓練的經驗能否直接應用到浮點數型別的量化訓練任務中?如果不能,浮點數型別又會有怎樣的結論?量化訓練到底有沒有極限?

大模型社群亟需一個更加適合實際浮點數量化訓練的 Scaling Laws,指導大模型量化的實際選擇和未來探索方向。為了回答這些問題,騰訊混元團隊進行了 366 組不同引數規模和精度的浮點數量化訓練,對浮點數量化訓練進行詳細分析後提出了浮點數量化的 Scaling Laws。

  • 論文標題:《Scaling Laws for Floating–Point Quantization Training》
  • 論文連結:https://huggingface.co/papers/2501.02423

引言

大模型(Large Language Model, LLM)如今已經融入到我們生產生活的各個層面。大模型的引數規模不斷增大,呼叫量也持續升高,這使得大模型的訓練和推理成本成為 LLM 社群極為關注的重要問題。低位元量化技術能夠在一定程度上降低大模型訓練和推理的成本。鑑於此,這一技術在主流大模型的訓練和推理過程中得到了廣泛應用。前沿研究工作對 8 位元、4 位元甚至更低位元的量化策略進行了嘗試,並對這些策略予以驗證。

近期,論文《Scaling Laws for Precision》深入探討了整數型別量化策略下的精度對模型 loss 的影響,不過僅在附錄中簡略提及了浮點數型別量化策略的表現,並未深入探究。然而,在實際的生產過程中,特別是模型訓練方面,經驗表明浮點數量化(floating–point quantization)方案相比整數量化方案對模型效果造成的損失更小,所以浮點數更常被用於超低精度量化訓練。

騰訊混元團隊的新工作《Scaling Laws for Floating–Point Quantization Training》系統全面地研究了浮點數量化訓練的 Scaling Laws,填補了這一領域的空白。具體地,他們在大模型 Scaling Law 的經典要素:模型大小(簡稱 N)和訓練資料量(簡稱 D)之外,聯合考慮浮點數量化訓練中重要的量化目標,指數位(Exponent,簡稱 E),尾數位(Mantissa,簡稱 M),以及量化時放縮因子共享粒度(Block-size,簡稱 B)對於大模型訓練損失的影響。他們進行了 366 組不同引數規模和精度設定的浮點數量化訓練,得出最終的浮點數量化的統一 Scaling Law 形式如下:

圖片

並且依據這一 Scaling Law 深入分析與推導之後,能夠得出如下一些重要結論:

  • 在任意低精度大模型浮點數量化訓練中,都存在一個模型極限效果及對應的最佳資料量。超過此最佳資料量時繼續增加資料,反而會對模型效果產生負面影響;

  • 限定計算資源下,在一個非常大的算力範圍內,理論預測的最佳價效比的浮點數量化訓練精度落在 4-8 位元之間;

  • 在實際工作中,藉助我們的 Scaling Laws 及其推論,同時結合計算資源圖片,可以明確得出不同計算資源下具有最佳價效比的浮點數量化訓練精度設定、模型引數量以及訓練資料量的配置策略。

最佳的浮點數

與整數型別只有符號位(Signal,簡稱 S)和整數位相比,參考 IEEE 754 標準,浮點數顯得複雜許多。它由符號位、指數位(Exponent,簡稱 E)和尾數位(Mantissa,簡稱 M)共同作用決定最終取值。

圖片

透過大量實驗與理論分析,騰訊混元團隊推匯出了指數位和尾數位對最終模型效果之間的定量關係:

圖片

同時還得出給定精度(Precision,簡稱 P)P=1+E+M 情況下,指數位與尾數位的最佳配比規律需滿足:

圖片

未來硬體製造商也可以參考此結論,提供在不同精度下的浮點運算能力支援:

圖片

精細量化

量化過程中,為了減少精度損失會對需量化 Tensor 進行放縮(Scaling)。同時,為節省放縮因子(Scaling Factor)的儲存空間,通常會讓 Tensor 中的若干元素共享一個放縮因子。顯然,放縮因子共享粒度越大,其儲存空間越小,但由此帶來的量化損失也會越大。混元團隊定量地研究了放縮因子共享粒度(Block-size,簡稱 B)對模型效果的影響,發現訓練時的驗證損失(Validate Loss)與 B 的對數成正比例關係:圖片

Scaling Law

在綜合了所有浮點數量化訓練中影響模型效果的因素(如引數量 N,資料量 D,指數位 E,尾數位 M 和量化粒度 B)後,混元團隊最終得出了浮點數量化訓練的 Scaling Law:

圖片

前三項基於經典的 Chinchilla Scaling Law 的形式,第四項可以看做浮點數量化對於模型的額外損失。有意思的是,圖片可以被看作某種形式的 “知識密度”,而 E, M 和 B 的聯合項可以被看作某種形式的精度表示。直觀地分析,大模型過低精度下無法承載過高的知識密度,導致了額外損失。另外值得注意的是,我們 Scaling Law 中 N 和 D 的指數引數 α 和 β,在第一項 / 第二項 / 第四項都是完全相同的,形式更加統一。

為了判斷最終統一形式的泛化能力,騰訊混元團隊在小模型(41M - 679M)上擬合估算出 n, d, α, β, γ, δ, ν 以及 ϵ 等引數的取值後:

圖片

在更大的模型(1.2B)上也驗證了不同量化配置下的預測效果。

無法跨越的效果屏障

在上面 Scaling Law 公式裡,第二項和第四項關於資料量(D)的部分構成一個有最值的函式,即存在一個關於 D 的 loss 最低點,這個最值點在:

圖片

注意此時這裡並沒有給 Scaling Law 新增任何限制條件,這意味著當訓練某個模型時,每個精度都存在一個對應的極限效果,無論使用多少資料都無法超越。並且當使用的資料量超過 Dcrit 時,繼續增加資料反而對模型效果是有害的。

從公式中,我們發現,模型越小,精度越低,那麼這個極限資料量就會越早到來,增加資料導致模型效果變差越明顯。因此,越小的模型越需要越大的精度才能保證給定資料的有效訓練。

圖片

這一隨著訓練進行損失不降反升的現象,也得到了混元團隊的真實訓練結果支援。但是,經過計算當採用 BF16 訓練 1B 引數量模型時,會發現這一極限資料量高達 1730T,這可能也是之前沒有人發現這一現象的原因。然而,隨著精度降低,比如採用 FP8-E4M3 時這一數值降低至 27T,而使用 FP4-E2M1 時則只有 0.4T。

限定資源下的最優解

於是可以得知,即使在無限資源下,由於效果屏障存在的原因,訓練模型時使用的資料量也不應該超過 Dcrit。那麼在限定資源下,透過求解方程組:

圖片

可以得出一個符合經典冪律關係(Power-law)的最佳價效比精度配方:

圖片

根據實驗結果推算,在一個非常大的算力範圍內,理論預測的最佳價效比落在 4-8 位元之間。

圖片

精度與引數量的匯率

在資源受限的情況下,儘管我們已知在最佳價效比時精度應如何選取,然而引數量 N 與資料量 D 究竟該如何搭配這一問題依舊尚未得到解決。透過對方程組:

圖片

進行求解能夠發現,在限定資源的情況下,若要保持價效比,精度 P 和引數量 N 之間存在著一個類似於 “匯率” 的關係:

圖片

所以,在實際工作當中,可以藉助 “精度 —— 引數量的匯率”,並且結合,進一步明確在最佳價效比下的精度 P、引數量 N 以及資料量 D 的配置策略。

這項研究為大模型訓練中的浮點數量化提供了重要的理論指導。其價值不僅在於明確了在給定資源和精度下的最優引數配置策略,幫助提高訓練效率和降低成本,而且對於推動大模型在實際應用中的更廣泛部署具有關鍵意義。透過揭示浮點數量化訓練的極限和規律,為硬體製造商最佳化浮點運算能力提供了依據,也為研究人員在大模型的最佳化和創新方面開闢了新的思路和方向。

相關文章