Skip to content

Scaling Laws:算力多十倍,該加在模型還是資料|MIT 6.7960 第 20 堂

2026年10月13日1 分鐘
TL;DR測試損失對資料量、參數量、算力都近似冪律,但指數很小:Kaplan 等人量到的資料指數約 0.095,資料加倍只讓損失降 6%,要砍半得多 1,400 多倍。算力該怎麼分,兩篇論文答案不同:Kaplan 是參數 ∝ C^0.73、資料 ∝ C^0.27,Chinchilla 改成各約一半。公開錄影只涵蓋到第二個發現,後面的內容本文依投影片整理,沒有講者的口頭說明。

🌏 English version

影片狀態:已附影片。 影片來源與說明

教材版本:基於 MIT 6.7960 Fall 2024 OCW(對應 OCW Lec 20 Scaling Laws,Phillip Isola 主講)。OCW 公開的錄影只有 38 分鐘,官方逐字稿停在全部 52 頁投影片的第 17 頁附近,講到一半就結束。本文前半依逐字稿與投影片,後半只依投影片,兩部分在文中分開標明。


這一堂要回答的問題

你有一筆固定的算力預算。該訓練一個很大的模型配少量資料,還是小一點的模型配大量資料?兩種配法花的浮點運算次數可以一樣,結果卻差很多。

MIT 6.7960 第 20 堂用 scaling laws 回答:先在小規模量出損失隨資源變化的規律,再外推到大規模。Phillip Isola 開場就提醒,這幾堂進入的是進行中的科學,這些經驗結果能不能經得起時間考驗還不知道。

讀完這篇,你應該能:

  • 從冪律的指數算出「資源加倍,損失降多少」。
  • 說明為什麼只放大模型或只加資料都看不到冪律。
  • 比較 Kaplan 與 Chinchilla 兩種算力分配,並算出算力變 10 倍時各自怎麼加。
  • 判斷批次大小加大到哪裡就不划算。

先備是第 6 堂泛化理論的訓練損失與測試損失,以及第 8 堂 Transformer。

為什麼要研究規模(依錄影)

深度學習是在資料、算力、參數都很多的時候才贏的。他的說明可以整理成三個理由。

趨勢本身可預測。 OpenAI 的 AI and Compute 統計訓練各個代表性模型用的算力,隨年份呈現穩定的成長;Isola 在課堂上說大約每三個月加倍,而且斜率還在變陡(OpenAI 那篇文章寫的是 3.4 個月,統計到 2018 年)。

苦澀的教訓。 Richard Sutton 2019 年的短文 The Bitter Lesson 主張,聰明的演算法大多沒有留下來,系統性勝出的是簡單、能隨資源放大的方法。所以現在誰比較好不重要,誰放大之後比較好才重要。Isola 說這篇文章當年很多人討厭、很多人喜歡,他認為裡面有不少是對的。

省錢。 這是最實際的理由。訓練一次最終模型如果要上百萬美元,直覺上設計階段的超參數搜尋會貴上百倍。實際做法是在最終規模的千分之一到萬分之一做所有的搜尋與比較,在幾個小規模上各量一次,擬合出「損失對算力」的曲線,外推到最終規模,選預測最好的那個設定,然後大規模只訓練一次。投影片把這個做法標為省下 10,000 倍。

這類曲線不只對損失成立。課堂展示了一張下游能力的圖(23 題程式題的通過率),同樣是一條可預測的曲線。

Isola 也提醒 scaling law 不是新觀念。演算法課的漸進分析、大 O 記號,就是在問輸入變大時成本怎麼長。

問題的形式

三個資源:參數數量 NN、資料量 DD(這裡是訓練的 token 數,不是深度也不是維度)、算力 CC。訓練一個 NN 個參數的模型看過 DD 筆資料,成本大致與 N×DN \times D 成正比。Kaplan 等人 2020 年的論文用的估計是:

C≈6×N×B×SC \approx 6 \times N \times B \times S

BB 是批次大小,SS 是梯度步數,所以 B×SB \times S 就是看過的資料量。Isola 說他不清楚 6 這個常數怎麼來的,只知道它把單位換成浮點運算次數。

要解的問題是:固定 CC,NN 與 DD 各取多少,測試損失最低?

有學生問算力是否等於時間。答案是否:兩倍的運算可以是兩倍的時間,也可以是兩倍的 GPU 平行跑。

實驗設定(投影片):自迴歸 Transformer,資料是 WebText2,上下文長度 1024;模型大小從 768 個到 15 億個非嵌入參數,資料從 2,200 萬到 230 億個 token。全部只訓練一個 epoch,所以看過的 token 數就等於資料集大小。

發現一:冪律(依錄影)

把其他因素都調到最佳時,測試損失與任一種資源 XX 的關係近似:

L(X)=(XcX)αL(X) = \left(\frac{X_c}{X}\right)^{\alpha}

冪律的意思是「資源乘上一個倍數,損失就乘上固定的倍數」。資源變 2 倍,損失變成原來的 2−α2^{-\alpha}。在雙對數座標上它是一條直線,斜率是 −α-\alpha,XcX_c 只決定直線的高低。

對資料量,Kaplan 等人擬合到的是 αD≈0.095\alpha_D \approx 0.095、Dc≈5.4×1013D_c \approx 5.4 \times 10^{13} 個 token。對參數量與算力也各有一條冪律,指數與常數都不同。

課堂上的一個問答與一個提醒值得記下來:

  • 為什麼是冪律,不是指數衰減? Isola 的回答是這主要是經驗事實:冪律擬合得比指數好。後面有一個理論模型,但他說自己不確定多相信它。
  • 這是物理定律嗎? 不是。點也可能畫出一條拋物線,只是剛好在雙對數圖上是直線。

冪律是包絡線

這是最容易誤解的地方。拿一個固定大小的模型、一份固定大小的資料,只增加算力,畫出來的不是冪律,而是一條會趨平的曲線。冪律是很多條這種曲線的下緣(Pareto 前緣):在每一個算力水準上,都把模型大小與資料量調到最佳,連起來才是那條直線。

所以如果你只放大一個因素,看到報酬遞減是正常的,不代表冪律不成立。

發現二:模型與資料要一起放大(依錄影)

同一張「損失對 token 數」的圖上畫不同大小的模型:模型夠大時是冪律;模型太小時,加再多資料損失也不動,因為容量裝不下。Kaplan 等人的說法是:NN 與 DD 一起放大時表現可預測地變好,固定其中一個只放大另一個,就進入報酬遞減。

他們擬合的聯合形式(投影片):

L(N,D)=[(NcN)αN/αD+DcD]αDL(N,Smin⁡)=(NcN)αN+(ScSmin⁡)αSL(N, D) = \left[\left(\frac{N_c}{N}\right)^{\alpha_N/\alpha_D} + \frac{D_c}{D}\right]^{\alpha_D} \qquad L(N, S_{\min}) = \left(\frac{N_c}{N}\right)^{\alpha_N} + \left(\frac{S_c}{S_{\min}}\right)^{\alpha_S}

Isola 對這類式子的態度是保留的。他引了「五個參數可以擬合一頭大象」這句話,說這裡面可能有看茶葉占卜的成分。他當場把第一條的自由常數數成五個;照式子看是 NcN_c、DcD_c、αN\alpha_N、αD\alpha_D 四個。這句話的出處,他先猜是 von Neumann,有學生說聽過是 Anderson,他就接受了。本文補充:通行的出處是 Freeman Dyson 回憶 Fermi 轉述 von Neumann 的話,原話是四個參數擬合大象、五個參數讓牠搖鼻子(見 A meeting with Enrico Fermi)。

支持這些式子不只是湊數的證據,是它們能外推。Rosenfeld 等人在視覺與語言任務上擬合類似的形式(兩個冪律相加),只用一部分規模的點擬合,再去預測沒用來擬合的規模,預測是準的。

由擬合出來的指數可以推出算力的最佳分配:

N∝C0.73,D=B×S∝C0.27N \propto C^{0.73}, \qquad D = B \times S \propto C^{0.27}

意思是算力增加時,模型要放大得比資料多很多。投影片在旁邊用藍字寫著:這些確切的式子與數字要打折看。

逐字稿與公開錄影在這裡結束,停在 Isola 正要總結第二個發現的那一句。

以下只有投影片

這一節的內容沒有講者的口頭說明,本文只轉述投影片上寫的,不補上投影片沒有的推論。

Kaplan 等人的其餘發現

  • 發現三:表現強烈取決於規模,對模型形狀(深度、寬度、注意力頭數的比例)只有微弱的依賴。
  • 發現四:大模型達到同樣表現所需的樣本比較少。投影片另外引了 Li 等人 2020 年的結果:大模型訓練得比較快,之後壓縮損失不多。

投影片整理的結論:損失對參數量比對資料量敏感,所以算力增加時模型要放大得比資料多;不要把模型訓練到收斂,寧可把模型加大。

投影片也列了這篇論文自己承認的限制:模型很大時損失對 DD 的行為「仍然神祕」;小資料的情況沒有仔細研究,L(N,D)L(N, D) 在那裡擬合得不好;沒有研究正則化與資料增強;超參數沒有全部調過,短的訓練可能有更好的學習率。

兩年後:Chinchilla

Hoffmann 等人 2022 年的論文(訓練出 Chinchilla 模型的那篇)仍然假設冪律,但得到不同的分配。投影片列出的差別是:學習率排程隨資料集大小調整(Kaplan 等人沒有探索),而且用的模型更大(超過 5 億參數)。

他們用三種方法估計 L(N,D)L(N, D):固定模型大小、記錄整條訓練曲線;固定運算量、比較不同 (N,D)(N, D) 的最終損失;擬合參數式 L^(N,D)=E+A/Nα+B/Dβ\hat L(N, D) = E + A/N^{\alpha} + B/D^{\beta}。三種方法得到的分配都大約是:

N∝C0.49,D∝C0.51N \propto C^{0.49}, \qquad D \propto C^{0.51}

投影片的解讀是:當時既有的大模型需要的訓練資料比實際用的多很多,更好的分配是模型小一點、資料與步數多一點。

投影片列的限制:用平滑過的訓練損失代替測試損失;大規模的實驗只有兩次(Gopher 與 Chinchilla);高算力時曲線有些彎,冪律可能不是到處成立;只訓練一個 epoch。

投影片另一頁列了其他研究的結果,其中提到視覺模型(CNN)對模型大小的指數比較大,α≈0.5\alpha \approx 0.5。

為什麼會是冪律:資料流形假說

投影片給了一個玩具模型。要在 [0,1]d[0,1]^d 上用分段常數函數逼近一個 Lipschitz 函數,把空間切成邊長 ss 的小方塊,需要 N=s−dN = s^{-d} 塊。均方誤差隨 s2s^2 縮小,換成 NN 就是:

L(N)≲N−2/dL(N) \lesssim N^{-2/d}

ReLU 網路是分段線性的,誤差隨 s4s^4 縮小,所以 L(N)≲N−4/dL(N) \lesssim N^{-4/d}。

假說是:神經網路其實是在一個低維的資料流形上做迴歸,把 dd 換成流形的內在維度,就得到 α≈4/d\alpha \approx 4/d。這表示指數主要由資料與任務決定,不同模型在同一份資料上的指數應該接近。投影片說這個預測在視覺模型上吻合,對 Transformer 只得到 α≳4/d\alpha \gtrsim 4/d。對應的論文是 Sharma 與 Kaplan 的 A Neural Scaling Law from the Dimension of the Data Manifold。

打破冪律:資料修剪

指數很小表示損失每降一點,就要多一個數量級的資料或參數。投影片的解讀是這暗示很多訓練樣本高度重複,有技巧地修剪資料可以得到比冪律更好的趨勢(Sorscher 等人 2022)。

臨界批次大小

投影片先問一個問題:批次 16 走 16 步,與批次 256 走 1 步,運算量相同,哪個比較好?另外還有運算量以外的成本:一個運算節點能平行處理的批次有上限,超過就得分散到多個節點(通訊成本)或排隊算(時間成本)。

McCandlish、Kaplan、Amodei 2018 年的模型把小批次的梯度拆成真實梯度加雜訊,推導出一步 SGD 能前進的量正比於:

11+Bnoise/B\frac{1}{1 + B_{\text{noise}}/B}

BnoiseB_{\text{noise}} 是雜訊尺度。BB 遠小於它時,批次加倍、進展也加倍(完美縮放);BB 遠大於它時,再加大幾乎沒有效果。分界點 B≈BnoiseB \approx B_{\text{noise}} 稱為臨界批次大小。

表示的收斂

最後幾張投影片屬於另一個主題。把一個表示用它的核(任兩筆輸入的嵌入有多相似)來描述,然後比較語言模型的核與視覺模型的核。圖上顯示語言模型的表現愈好,它的核與視覺模型 DINOv2 的核愈對齊。出處是 The Platonic Representation Hypothesis(Huh、Cheung、Wang、Isola,ICML 2024)。投影片沒有文字說明,本文不多作解讀。

把數字算一遍

以下算例是本文依上面的式子自行計算的,不是課堂內容。

一、資料加倍值多少。 取 αD=0.095\alpha_D = 0.095:

資料量變成損失變成原來的
2 倍2−0.095=0.9362^{-0.095} = 0.936(降 6.4%)
10 倍10−0.095=0.80410^{-0.095} = 0.804(降 19.6%)

要讓損失砍半,需要 21/0.095≈1,4752^{1/0.095} \approx 1{,}475 倍的資料。用投影片的擬合式 L=(D/5.4×1013)−0.095L = (D / 5.4 \times 10^{13})^{-0.095} 驗算:D=108D = 10^8 時 L≈3.50L \approx 3.50,D=109D = 10^9 時 L≈2.82L \approx 2.82,與圖上的點相符。

二、算力變 10 倍怎麼分。

參數乘上資料乘上
Kaplan(C0.73C^{0.73}、C0.27C^{0.27})5.41.9
Chinchilla(C0.49C^{0.49}、C0.51C^{0.51})3.13.2

兩組的乘積都是 10。差別在算力放大到 100 倍時更明顯:Kaplan 是參數 29 倍、資料 3.5 倍;Chinchilla 是參數 9.5 倍、資料 10.5 倍。同一筆預算,前者買到的模型大三倍,後者看過的資料多三倍。

三、批次大小的報酬。

B/BnoiseB / B_{\text{noise}}每步進展(最大為 1)
0.10.091
10.5
100.909

從 0.1 加到 1,批次變 10 倍,進展變 5.5 倍,還算划算。從 1 加到 10,批次同樣變 10 倍,進展只變 1.8 倍。

四、指數與維度。 依流形假說 α≈4/d\alpha \approx 4/d,內在維度 d=40d = 40 時 α=0.1\alpha = 0.1。維度愈高指數愈小,放大就愈不划算。

常見誤解

  • 「冪律代表放大一定有效」:它只在其他因素都調到最佳時成立。固定模型只加資料,曲線會趨平。
  • 「0.73 與 0.27 是定律」:兩年後就被改成各約一半。投影片自己寫著要打折看。
  • 「指數小所以放大沒用」:指數小表示貴,不表示沒有回報。能預測才能事先算出值不值得。
  • 「批次愈大愈有效率」:遠超過臨界批次大小後,多出來的運算幾乎都花在已經夠準的梯度估計上。

自我檢查

  1. 某個任務量到 αN=0.5\alpha_N = 0.5。參數變 4 倍,損失變成多少? 答:4−0.5=0.54^{-0.5} = 0.5,砍半。這是投影片提到視覺模型(CNN)指數較大的情況。
  2. 你把模型固定,資料加了 100 倍,損失幾乎沒動。這違反 scaling law 嗎? 答:不違反。模型容量已經是瓶頸。冪律是把模型大小也調到最佳之後的包絡線。
  3. 依 Chinchilla 的分配,算力變 4 倍,模型該放大幾倍? 答:40.49≈1.974^{0.49} \approx 1.97,大約 2 倍,資料也大約 2 倍。
  4. 你的批次大小正好等於雜訊尺度。把批次加倍,每步進展增加多少? 答:從 1/(1+1)=0.51/(1+1) = 0.5 變成 1/(1+0.5)=0.6671/(1+0.5) = 0.667,增加三分之一,但每步的運算量加倍。

課程影片來源

2026-10-13 已即時回 MIT OCW Fall 2024 官方錄影列表核對講次,影片公開且允許嵌入;講次與主題以 OCW 的標示為準。這支影片長 38 分 22 秒,其他各堂約 68 到 83 分鐘;官方逐字稿同樣在句子中間結束,所以是公開的錄影只有前半,不是逐字稿缺頁。OCW 沒有說明原因。

YouTube:MIT 6.7960 Fall 2024 — Lec 20. Scaling Laws

原始影片:MIT 6.7960 Fall 2024 — Lec 20. Scaling Laws

課程與錄影入口:

查核日期:2026-10-13。

內容核對:已依字幕核對(2026-10-13):讀了 OCW 官方逐字稿全文與全部投影片。逐字稿沒有時間戳,本文未回聽原音。逐字稿只涵蓋到第二個發現;之後的章節只依投影片,已在正文標明。「把數字算一遍」一節是本文自行計算。

參考資料