今日最熱論文:Scaling Law后繼乏力,量化也不管用,AI大佬齊刷刷附議
幾十萬人關(guān)注,一發(fā)表即被行業(yè)大佬評為“這是很長時間以來最重要的論文”。
哈佛、斯坦福、MIT等團隊的一項研究表明:訓(xùn)練的token越多,需要的精度就越高。
例如,Llama-3在不同數(shù)據(jù)量下(圓形8B、三角形70B、星星405B),隨著數(shù)據(jù)集大小的增加,計算最優(yōu)的精度也會增加。

換句話就是,對于大規(guī)模的訓(xùn)練任務(wù),低精度的量化可能不再足夠有效。
按照結(jié)論,對Scaling Law的遵循意味著我們需要保持更高精度,然而一直以來,人們通常會選擇量化(將連續(xù)值或多精度值轉(zhuǎn)換為較低精度)來節(jié)省計算資源。
一旦結(jié)論成立,GPU的設(shè)計和功能可能也需要相應(yīng)調(diào)整,因為傳統(tǒng)上,GPU的性能提升部分依賴于對低精度計算的優(yōu)化。
正如艾倫AI研究所科學(xué)家所指出的:
這是很長時間以來最重要的論文。它用強有力的證據(jù)表明,我們正在達到量化的極限。論文得出的結(jié)論對整個領(lǐng)域以及GPU的未來有著廣泛的影響。

與此同時,研究得出了兩個重要結(jié)論:
- 如果量化是在后訓(xùn)練階段進行的,那么更多的預(yù)訓(xùn)練數(shù)據(jù)最終可能反而有害;
- 在高(BF16)和下一代(FP4)精度下進行預(yù)訓(xùn)練可能都是次優(yōu)的設(shè)計選擇;
這也引來OpenAI員工大贊特贊:
將非常酷地看到如何SOTA量化方案(mxfp,Pw≠Pkv≠Pa等)推動前沿;在我看來,將一半的計算預(yù)算用于一次大規(guī)模運行以檢查模型是否適用于大模型是值得的。

提出“精度感知”Scaling Laws
一上來,研究就指出,當前擴展的焦點主要放在了模型規(guī)模、數(shù)據(jù)量上,忽視了對精度的關(guān)注。
而事實上,隨著模型進一步應(yīng)用落地,低精度量化正在成為新的范式。
深度學(xué)習(xí)正朝著更低精度的方向發(fā)展。
當前的前沿模型(如Llama-3系列)在BF16中進行訓(xùn)練,并且大家都在努力將預(yù)訓(xùn)練范式轉(zhuǎn)移到FP8,甚至下一代硬件將支持FP4;
因此,研究想要搞清:
精度、參數(shù)和數(shù)據(jù)之間的權(quán)衡是什么?它們在預(yù)訓(xùn)練和推理方面如何比較?
具體而言,團隊研究了在預(yù)訓(xùn)練和后訓(xùn)練 ,隨著數(shù)據(jù)和參數(shù)的變化,精度對損失的影響如何變化。
同時,為了精確測量相關(guān)變化,團隊專門提出了“精度感知(precision-aware)”的Scaling Laws,以預(yù)測和優(yōu)化不同精度下的語言模型訓(xùn)練和推理。

先說結(jié)論。下圖展示了兩個主要的實驗結(jié)果:
- 在較低精度下訓(xùn)練模型(例如INT3和INT4)會導(dǎo)致較高的損失;
- 在推理時使用較低精度會導(dǎo)致性能下降;
具體而言,左側(cè)圖表展示了在不同精度下訓(xùn)練模型的效果。
其中縱軸表示最終的驗證損失(Val Loss),橫軸表示不同的模型規(guī)模(Model Size),從30M到220M參數(shù)。不同的顏色代表了不同的訓(xùn)練精度,從INT3到INT6,以及沒有后訓(xùn)練量化(No PTQ)。
研究發(fā)現(xiàn),在較低精度下訓(xùn)練模型(例如INT3和INT4)會導(dǎo)致較高的損失,而隨著精度的提高,損失會減少;同時,隨著模型規(guī)模的增加,損失也會減少。
另外,右側(cè)圖表展示了在不同精度下進行推理時的模型性能。
其中橫軸表示了推理時的權(quán)重精度(Final Val Loss)。
結(jié)果顯示,在推理時使用較低精度(例如INT3和INT4)會導(dǎo)致性能下降,即損失的增加;而隨著精度的提高,損失會逐漸減少,接近沒有進行后訓(xùn)練量化的模型性能。

上述發(fā)現(xiàn)也解釋了為什么Llama-3難以量化?
要知道,Llama-3發(fā)布后,它因“超15T Token數(shù)據(jù)上的超大規(guī)模預(yù)訓(xùn)練”而聞名,不過人們后來發(fā)現(xiàn),Llama-3低比特量化性能下降顯著。
這可能正如研究提到的,模型在預(yù)訓(xùn)練階段看到的數(shù)據(jù)越多,對量化的敏感性就越高。
與此同時,研究還發(fā)現(xiàn)了:
后訓(xùn)練量化(PTQ,即訓(xùn)練完成后對模型進行量化)引起的性能退化隨著模型訓(xùn)練數(shù)據(jù)量的增加而增加。
換句話說,在大量數(shù)據(jù)上訓(xùn)練的模型,如果在推理時進行低精度的PTQ,可能會導(dǎo)致性能顯著下降。

接下來,團隊提出利用“精度感知”Scaling Laws來預(yù)測模型在不同精度下的性能,并指出:
在較低精度下進行訓(xùn)練可以減少模型的“有效參數(shù)數(shù)量(effective parameter count)”,從而預(yù)測在低精度下訓(xùn)練和后訓(xùn)練量化產(chǎn)生的額外損失。
其中包含兩個關(guān)鍵公式,它們構(gòu)成了一個統(tǒng)一的理論框架,用于預(yù)測不同精度下訓(xùn)練和推理的性能。
訓(xùn)練后量化(PTQ)引起的損失退化預(yù)測公式:

考慮訓(xùn)練精度的模型損失預(yù)測公式:

統(tǒng)一預(yù)訓(xùn)練與后訓(xùn)練的精度預(yù)測
BTW,研究最終將后訓(xùn)練量化和預(yù)訓(xùn)練量化的影響統(tǒng)一起來,以此實現(xiàn):
預(yù)測在任何精度組合下的預(yù)訓(xùn)練和后訓(xùn)練損失
相關(guān)公式如下:

同時,為了驗證預(yù)測的準確性,研究對超過465次預(yù)訓(xùn)練運行的數(shù)據(jù)進行擬合,并在高達1.7億參數(shù)、訓(xùn)練了高達260億個token的模型上進行了驗證。
并在過程中提出了以下幾點建議:
- 需要衡量精度與性能,在資源有限的情況下,可以考慮使用較低的精度來訓(xùn)練更大的模型;
- 需要衡量精度與參數(shù),在低精度下訓(xùn)練時,可以考慮增加模型的規(guī)模(即參數(shù)數(shù)量),因為研究表明這樣做可能是計算上最優(yōu)的;
- 需要優(yōu)化數(shù)據(jù)量,通過數(shù)據(jù)增強、選擇性數(shù)據(jù)采樣等技術(shù)提高數(shù)據(jù)使用率,并在預(yù)訓(xùn)練時應(yīng)避免使用過多的數(shù)據(jù),特別是在模型需要后期量化的情況下。
不過,這項研究目前也存在一定局限性,比如作者自述使用了一個固定的模型架構(gòu)來控制變量。
這意味著,相關(guān)結(jié)果可能不適用于經(jīng)過架構(gòu)調(diào)整的低精度訓(xùn)練模型,因為架構(gòu)的變化可能會影響模型對精度變化的敏感性。

最后,有網(wǎng)友還想得更遠。提出一旦量化失敗,還有3條路可以考慮:
- 擴展數(shù)據(jù)中心
- 轉(zhuǎn)向更小的專業(yè)模型
- 知識蒸餾

你怎么看?
論文:https://arxiv.org/abs/2411.04330
參考鏈接:
[1]https://x.com/Tim_Dettmers/status/1856338240099221674。
[2]https://x.com/Tanishq97836660/status/1856045600355352753。


































