一個不必發明的規律
用「下一個字預測」訓練一個大型語言模型,再看它表現如何——也就是它的交叉熵損失(cross-entropy loss),即每個詞元(token)平均的「驚訝程度」。現在改訓練一個大十倍、或多看十倍文字、或多花十倍運算的模型。損失值不會雜亂無章地起伏,而是會下降,而且沿著一條驚人地乾淨的曲線下降。這個經驗規律就是我們所說的 神經規模法則:當你把材料按比例放大,模型品質會平滑且可預測地提升。
最後那個詞——可預測——正是規模法則之所以重要的全部理由。它們把「更大的模型會不會更好?」這個問題,從一場賭博變成接近工程的事。你可以量測幾個小而便宜的訓練,然後事先讀出:一個大上百倍的模型,大概會有多好。
對數—對數座標上的直線
曲線之所以這麼乾淨,是因為它是一條冪次法則(power law)。冪次律損失曲線意味著損失值的行為,像是某個量的某個(負)次方——例如,損失值大致隨模型參數量的約 −0.07 次方下降。把它畫在一般座標上,你會看到一條模糊向下的弧線;但若兩個軸都改用對數刻度,那條弧線就會拉直成一條近乎完美的直線。
损失对模型规模的对数-对数图,呈现一条向下的直线。
L(N) ≈ (N_c / N)^a + L_inf
\_________/ \____/
falls as N grows the floor三個旋鈕:參數、資料、運算
規模法則通常針對三種資源來描述,而每一種都有自己的冪次法則。參數量擴展問的是:當你替模型加上更多權重,會發生什麼。資料擴展問的是:當你餵它更多訓練文字的詞元,會發生什麼。而運算擴展把兩者結合起來:你花的預訓練運算(以浮點運算次數 FLOPs 計)大致正比於「參數量乘以詞元數」。
- 只加參數但資料固定,損失最終會停滯——模型會背誦,不再學會類推。
- 只加資料但模型維持很小,損失同樣會停滯——小模型能吸收的就那麼多。
- 兩者一起成長,並有足夠運算去用上它們,那條乾淨的冪次律下降就會持續。
每个旋钮都有自己的幂律项:参数量 N 与数据量 D 各自把损失推向下限 E。
你鑽不穿的地板
注意上面公式裡那第二項——永不改變的那一項。那就是 不可約損失(irreducible loss),曲線會逼近、卻永遠跨不過的地板。人類語言並非完全可預測:即使是一個完美的模型,當好幾個詞都同樣合理時,也無法知道你接下來會選哪一個。這份殘餘的不確定性——文字真正的熵——設下了一道硬性的下限。再多的規模也買不回它。
损失分为规模无法触及的不可约下限 L∞,以及随 N 增大而缩小的可约项。
為什麼這改變了實驗室打造模型的方式
在規模法則被描繪出來之前,打造前沿模型意味著猜一個大小然後祈禱。之後,團隊可以在花掉真實預算的一分錢之前,在紙上就為龐大而昂貴的訓練辯護,因為小規模的訓練已經告訴他們大模型會落在哪裡。接下來的指南會把這幅圖變成食譜:如何在「大小」與「資料」之間分配固定預算(Chinchilla)、如何解讀曲線來規劃一次前沿訓練,以及人們回報的那些新能力是否真的是新的——還是只是量尺造成的把戲。