Scaling Laws終結,量化無用,AI大佬都在審視這篇論文

机器之心發表於2024-11-13

研究表明,你訓練的 token 越多,你需要的精度就越高。

最近幾天,AI 社群都在討論同一篇論文。

UCSD 助理教授 Dan Fu 說它指明瞭大模型量化的方向。

圖片

CMU 教授 Tim Dettmers 則直接說:它是很長一段時間以來最重要的一篇論文。OpenAI 創始成員、特斯拉前 AI 高階總監 Andrej Karpathy 也轉發了他的帖子。

圖片
Tim Dettmers 表示,可以說,人工智慧的大部分進步都來自計算能力的提升,而(在最近)這主要依賴於低精度路線的加速(32- > 16 - > 8 位)。現在看來,這一趨勢即將結束。再加上摩爾定律的物理限制,大模型的大規模擴充套件可以說要到頭了。

例如,英偉達最新的 AI 計算卡 Blackwell 將擁有出色的 8 位能力,並在硬體層面實現逐塊量化。這將使 8 位訓練變得像從 FP16 切換到 BF16 一樣簡單。然而,正如我們從新論文中看到的那樣,對於很多大模型的訓練來說,8 位是不夠的。

與其他模型相比,Llama 405B 沒有得到太多應用的主要原因是它體量太大了,執行 405B 模型進行推理非常麻煩。但論文表明,訓練較小的模型(例如 70B)時,你也無法在低精度下有效地訓練這些模型。見下圖 8B(圓形) 70B(三角形) 405B(星型):
圖片
可見對於 20B Token 資料的訓練,訓練 8B 模型在 16 位中效率更高。對於 70B 模型來說 8 位仍然有效,但效率越來越低。

Tim Dettmers 感嘆道:從我自己的經驗(大量失敗的研究)來看,效率是無法欺騙的。如果量化失敗,那麼稀疏化也會失敗,其他效率機制也會失敗。如果這是真的,那麼我們現在就已經接近最優了。

那以後我們怎麼辦?眼前似乎只有三條可能的路線:
  • 擴大資料中心規模:未來約 2 年這仍然是可以做到的事;

  • 透過動態擴充套件:路由到更小的專門模型或大 / 小模型上;

  • 知識的提煉:這條路線與其他技術不同,並且可能具有不同的特性。

對於新硬體來說,我們仍然有 HBM4 記憶體,這將是一個很好的提升。但 FP4 訓練似乎是一個謊言,節點縮小不會再增加多少效率了。

這篇名為《Scaling Laws for Precision》的論文顧名思義,制定了一個和大語言模型使用資料精度有關的擴充套件定律,涵蓋了訓練前和訓練後。
圖片
  • 論文標題:Scaling Laws for Precision

  • 論文連結:https://arxiv.org/abs/2411.04330

據論文一作,來自哈佛大學的 Tanishq Kumar 介紹,他們的研究認為:
  • 由於當代大模型在大量資料上經歷了過度訓練,因此訓練後量化已變得非常困難。因此,如果在訓練後量化,最終更多的預訓練資料可能會造成副作用;

  • 在預訓練期間以不同的精度放置權重、啟用或注意力的效果是一致且可預測的,並且擬合擴充套件定律表明,高精度(BF16)和下一代精度(FP4)的預訓練可能都是次優的設計選擇。

低精度訓練和推理會影響語言模型的質量和成本,但當前的大模型 Scaling Law 並未考慮到這一點。在這項工作中,研究人員為訓練和推理設計了「精度感知」擴充套件定律。

作者提出,以較低的精度進行訓練會降低模型的有效引數數量,從而使我們能夠預測低精度訓練和訓練後量化帶來的額外損失。對於推理,隨著模型在更多資料上進行訓練,訓練後量化帶來的效能下降會加劇,最終導致額外的預訓練資料產生負面影響。對於訓練,擴充套件定律使我們能夠預測具有不同精度的不同部分的模型的損失,以較低精度訓練較大的模型可能是計算最優的。

該工作統一了訓練後量化和訓練前量化的擴充套件定律,得出一個單一的函式形式,可以預測不同精度下訓練和推理的效能下降。

預訓練 scaling law 表明,計算最佳預訓練精度通常獨立於計算預算。然而,令人驚訝的是,如果模型大小受到限制,這種獨立性就不再成立,在這種情況下,計算最佳精度在計算中增長緩慢。

該研究以 3-16 bit 精度預訓練了 465 個語言模型,並對每個模型進行了訓練後量化。對於具有 N 個引數的語言模型,在 D 個 token 上進行訓練,訓練精度為 P_train,訓練後權重精度為 P_post,該研究最終找到了一個統一的 Scaling Law,其形式如下:
圖片
其中,A、B、E、α、β 是正擬合常數,δ_PTQ 是指推理前訓練後量化引起的損失退化。

研究簡介

該研究首先研究了訓練後量化模型權重的常用方法,發現訓練時間越長 / 預訓練期間「看到」的資料越多,模型在推理時對量化就越敏感,這解釋了為什麼 Llama-3 可能更難量化。
圖片
事實上,這種損失退化大致是預訓練期間看到的 token / 引數比值的冪律,因此可以提前預測關鍵資料大小,超過該資料大小的更多資料的預訓練會非常有害。直覺可能是,當你訓練更多的資料時,更多的知識被壓縮成權重,給定的擾動會對模型效能造成更大的損害。
圖片
圖 1:主要發現示意圖。在 BF16 中將固定大小的模型在各種資料預算上訓練,並在最後量化權重。可以發現,由於訓練後量化而導致的退化會隨著預訓練期間看到的 token 數量增加而增加,因此額外的預訓練資料可能會造成損害。
圖片
經過擴充套件驗證表明,以較低的精度訓練較大的模型可以實現計算最佳化。

然後該研究將注意力轉向低精度訓練,主要研究量化感知訓練(僅權重)和低精度訓練。該研究將模型分解為權重、啟用和 KV 快取,找到其中任何一個量化到任意精度時損失的 Scaling Law,並開發一種組合且可解釋的函式形式來預測在預訓練期間,量化這三者的任意組合對損失的影響。

該研究的 Scaling Law 依賴於「有效引數計數」的概念,研究團隊假設當你降低精度,引數也降低一定數量,計數就降低,那麼包含 FP4 中所有內容的 10 億引數模型具有可比較的數量 BF16 中 250m 模型的「有效引數」。
圖片
雖然權重可以毫無問題地以低精度進行訓練,但啟用和 KV 快取很敏感。
圖片
最後,該研究將訓練前和訓練後的發現統一為可解釋的函式形式,可以以任何精度組合預測訓練前和訓練後的損失。

該研究還發現,低精度的預訓練可以以定量可預測的方式「增強」模型的訓練後量化,但其程度低於直觀預期。
圖片
作者表示:「該研究在進行實驗時保持受控的架構和設定,但在實踐中,通常會故意進行架構調整以適應低精度訓練。」這也是這項研究的一點侷限性。

感興趣的讀者可以閱讀論文原文,瞭解更多研究內容。

參考內容:
https://twitter.com/Tim_Dettmers/status/1856338240099221674
https://twitter.com/Tanishq97836660/status/1856045600355352753

相關文章