Scaling Laws終結(jié),量化無用,AI大佬都在審視這篇論文
最近幾天,AI 社區(qū)都在討論同一篇論文。
UCSD 助理教授 Dan Fu 說它指明了大模型量化的方向。

CMU 教授 Tim Dettmers 則直接說:它是很長一段時間以來最重要的一篇論文。OpenAI 創(chuàng)始成員、特斯拉前 AI 高級總監(jiān) Andrej Karpathy 也轉(zhuǎn)發(fā)了他的帖子。

Tim Dettmers 表示,可以說,人工智能的大部分進步都來自計算能力的提升,而(在最近)這主要依賴于低精度路線的加速(32- > 16 - > 8 位)。現(xiàn)在看來,這一趨勢即將結(jié)束。再加上摩爾定律的物理限制,大模型的大規(guī)模擴展可以說要到頭了。
例如,英偉達最新的 AI 計算卡 Blackwell 將擁有出色的 8 位能力,并在硬件層面實現(xiàn)逐塊量化。這將使 8 位訓(xùn)練變得像從 FP16 切換到 BF16 一樣簡單。然而,正如我們從新論文中看到的那樣,對于很多大模型的訓(xùn)練來說,8 位是不夠的。
與其他模型相比,Llama 405B 沒有得到太多應(yīng)用的主要原因是它體量太大了,運行 405B 模型進行推理非常麻煩。但論文表明,訓(xùn)練較小的模型(例如 70B)時,你也無法在低精度下有效地訓(xùn)練這些模型。見下圖 8B(圓形) 70B(三角形) 405B(星型):

可見對于 20B Token 數(shù)據(jù)的訓(xùn)練,訓(xùn)練 8B 模型在 16 位中效率更高。對于 70B 模型來說 8 位仍然有效,但效率越來越低。
Tim Dettmers 感嘆道:從我自己的經(jīng)驗(大量失敗的研究)來看,效率是無法欺騙的。如果量化失敗,那么稀疏化也會失敗,其他效率機制也會失敗。如果這是真的,那么我們現(xiàn)在就已經(jīng)接近最優(yōu)了。
那以后我們怎么辦?眼前似乎只有三條可能的路線:
- 擴大數(shù)據(jù)中心規(guī)模:未來約 2 年這仍然是可以做到的事;
- 通過動態(tài)擴展:路由到更小的專門模型或大 / 小模型上;
- 知識的提煉:這條路線與其他技術(shù)不同,并且可能具有不同的特性。
對于新硬件來說,我們?nèi)匀挥?HBM4 內(nèi)存,這將是一個很好的提升。但 FP4 訓(xùn)練似乎是一個謊言,節(jié)點縮小不會再增加多少效率了。
這篇名為《Scaling Laws for Precision》的論文顧名思義,制定了一個和大語言模型使用數(shù)據(jù)精度有關(guān)的擴展定律,涵蓋了訓(xùn)練前和訓(xùn)練后。

- 論文標題:Scaling Laws for Precision
- 論文鏈接:https://arxiv.org/abs/2411.04330
據(jù)論文一作,來自哈佛大學的 Tanishq Kumar 介紹,他們的研究認為:
- 由于當代大模型在大量數(shù)據(jù)上經(jīng)歷了過度訓(xùn)練,因此訓(xùn)練后量化已變得非常困難。因此,如果在訓(xùn)練后量化,最終更多的預(yù)訓(xùn)練數(shù)據(jù)可能會造成副作用;
- 在預(yù)訓(xùn)練期間以不同的精度放置權(quán)重、激活或注意力的效果是一致且可預(yù)測的,并且擬合擴展定律表明,高精度(BF16)和下一代精度(FP4)的預(yù)訓(xùn)練可能都是次優(yōu)的設(shè)計選擇。
低精度訓(xùn)練和推理會影響語言模型的質(zhì)量和成本,但當前的大模型 Scaling Law 并未考慮到這一點。在這項工作中,研究人員為訓(xùn)練和推理設(shè)計了「精度感知」擴展定律。
作者提出,以較低的精度進行訓(xùn)練會降低模型的有效參數(shù)數(shù)量,從而使我們能夠預(yù)測低精度訓(xùn)練和訓(xùn)練后量化帶來的額外損失。對于推理,隨著模型在更多數(shù)據(jù)上進行訓(xùn)練,訓(xùn)練后量化帶來的性能下降會加劇,最終導(dǎo)致額外的預(yù)訓(xùn)練數(shù)據(jù)產(chǎn)生負面影響。對于訓(xùn)練,擴展定律使我們能夠預(yù)測具有不同精度的不同部分的模型的損失,以較低精度訓(xùn)練較大的模型可能是計算最優(yōu)的。
該工作統(tǒng)一了訓(xùn)練后量化和訓(xùn)練前量化的擴展定律,得出一個單一的函數(shù)形式,可以預(yù)測不同精度下訓(xùn)練和推理的性能下降。
預(yù)訓(xùn)練 scaling law 表明,計算最佳預(yù)訓(xùn)練精度通常獨立于計算預(yù)算。然而,令人驚訝的是,如果模型大小受到限制,這種獨立性就不再成立,在這種情況下,計算最佳精度在計算中增長緩慢。
該研究以 3-16 bit 精度預(yù)訓(xùn)練了 465 個語言模型,并對每個模型進行了訓(xùn)練后量化。對于具有 N 個參數(shù)的語言模型,在 D 個 token 上進行訓(xùn)練,訓(xùn)練精度為 P_train,訓(xùn)練后權(quán)重精度為 P_post,該研究最終找到了一個統(tǒng)一的 Scaling Law,其形式如下:

其中,A、B、E、α、β 是正擬合常數(shù),δ_PTQ 是指推理前訓(xùn)練后量化引起的損失退化。
研究簡介
該研究首先研究了訓(xùn)練后量化模型權(quán)重的常用方法,發(fā)現(xiàn)訓(xùn)練時間越長 / 預(yù)訓(xùn)練期間「看到」的數(shù)據(jù)越多,模型在推理時對量化就越敏感,這解釋了為什么 Llama-3 可能更難量化。

事實上,這種損失退化大致是預(yù)訓(xùn)練期間看到的 token / 參數(shù)比值的冪律,因此可以提前預(yù)測關(guān)鍵數(shù)據(jù)大小,超過該數(shù)據(jù)大小的更多數(shù)據(jù)的預(yù)訓(xùn)練會非常有害。直覺可能是,當你訓(xùn)練更多的數(shù)據(jù)時,更多的知識被壓縮成權(quán)重,給定的擾動會對模型性能造成更大的損害。

圖 1:主要發(fā)現(xiàn)示意圖。在 BF16 中將固定大小的模型在各種數(shù)據(jù)預(yù)算上訓(xùn)練,并在最后量化權(quán)重??梢园l(fā)現(xiàn),由于訓(xùn)練后量化而導(dǎo)致的退化會隨著預(yù)訓(xùn)練期間看到的 token 數(shù)量增加而增加,因此額外的預(yù)訓(xùn)練數(shù)據(jù)可能會造成損害。

經(jīng)過擴展驗證表明,以較低的精度訓(xùn)練較大的模型可以實現(xiàn)計算優(yōu)化。
然后該研究將注意力轉(zhuǎn)向低精度訓(xùn)練,主要研究量化感知訓(xùn)練(僅權(quán)重)和低精度訓(xùn)練。該研究將模型分解為權(quán)重、激活和 KV 緩存,找到其中任何一個量化到任意精度時損失的 Scaling Law,并開發(fā)一種組合且可解釋的函數(shù)形式來預(yù)測在預(yù)訓(xùn)練期間,量化這三者的任意組合對損失的影響。
該研究的 Scaling Law 依賴于「有效參數(shù)計數(shù)」的概念,研究團隊假設(shè)當你降低精度,參數(shù)也降低一定數(shù)量,計數(shù)就降低,那么包含 FP4 中所有內(nèi)容的 10 億參數(shù)模型具有可比較的數(shù)量 BF16 中 250m 模型的「有效參數(shù)」。

雖然權(quán)重可以毫無問題地以低精度進行訓(xùn)練,但激活和 KV 緩存很敏感。

最后,該研究將訓(xùn)練前和訓(xùn)練后的發(fā)現(xiàn)統(tǒng)一為可解釋的函數(shù)形式,可以以任何精度組合預(yù)測訓(xùn)練前和訓(xùn)練后的損失。
該研究還發(fā)現(xiàn),低精度的預(yù)訓(xùn)練可以以定量可預(yù)測的方式「增強」模型的訓(xùn)練后量化,但其程度低于直觀預(yù)期。

作者表示:「該研究在進行實驗時保持受控的架構(gòu)和設(shè)置,但在實踐中,通常會故意進行架構(gòu)調(diào)整以適應(yīng)低精度訓(xùn)練?!惯@也是這項研究的一點局限性。
感興趣的讀者可以閱讀論文原文,了解更多研究內(nèi)容。






























