Scaling Laws
スケーリング則は、モデルのパラメーター数、データ量、計算量の増加に伴って損失がどのように低下するかを予測するべき乗則の近似です。Kaplan、Chinchilla、テスト時スケーリングを解説します。
ニューラルスケーリング則は、3つのリソースが増加するにつれてモデルの損失がどのように減少するかを予測する、経験的なべき乗則の関係です。3つのリソースとは、パラメーター数 (N)、トークンで測る学習データ量 (D)、浮動小数点演算で測る学習計算量 (C)です。曲線は桁違いの範囲にわたって滑らかに推移するため、研究機関は小規模で低コストな実験に曲線を当てはめ、大規模な実験に費用をかける前に、適切な規模とデータ量を推定できます。たとえばOpenAIのGPT-4のレポートでは、計算量が最終モデルの1/1,000以下のモデルから、最終モデルの性能の一部を予測しました。最もよく知られている法則は言語モデリングに関するものですが、同じ手法はビジョン、音声、推論の各モデルにも適用できます。
Kaplanのスケーリング則#
Jared Kaplan率いるOpenAIの研究者たちは、2020年にScaling Laws for Neural Language Modelsを発表しました。彼らは、Transformer言語モデルのクロスエントロピー損失がN、D、Cに対するべき乗則に従い、一部の傾向は7桁を超える範囲に及ぶ一方、幅、深さ、その他のアーキテクチャの詳細は広い範囲でほとんど影響しないことを示しました。大規模モデルはサンプル効率も高いため、この論文は、計算効率の高い学習では比較的少ないデータで非常に大規模なモデルを学習し、収束よりかなり前に学習を停止すると結論づけました。GPT-3はこの方法に従い、3,000億トークンで1,750億パラメーターを学習しました。
Chinchillaと計算量最適な学習#
DeepMindのChinchilla研究では、7,000万から160億超のパラメーターを持つ400以上のモデルを、50億から5,000億トークンで学習させ、異なる結論に達しました。計算予算が一定なら、モデルサイズと学習トークン数は同じ割合で増やす必要があり、パラメーター数を2倍にするたびにデータも2倍にする必要があります。Chinchillaは2,800億パラメーターのGopherと同じ計算量を使いましたが、パラメーター数は700億でデータ量は約4倍でした。それにもかかわらず、Gopher、GPT-3、5,300億パラメーターのMegatron-Turing NLGを上回りました。この研究では、損失をL(N, D) = E + A / N^α + B / D^βとして当てはめました。Eは自然言語テキストの不可約な損失で、残りの2つの項はモデルサイズとデータ量に応じて減少します。学習コストはパラメーター1つ、トークン1つあたり約6 FLOPsであるため、C ≈ 6NDとなります。与えられたCについて当てはめた損失を最小化すると、計算量最適なモデルが得られます。
import numpy as np
# Chinchilla loss fit L(N, D) = E + A / N^alpha + B / D^beta, as re-estimated by Besiroglu et al. (2024)
E, A, B, alpha, beta = 1.8172, 482.01, 2085.43, 0.3478, 0.3658
# Training costs about 6 FLOPs per parameter per token, so a budget C fixes D = C / (6N)
N = np.logspace(8, 13, 10_000)
for C in [1e21, 1e23, 5.76e23, 1e25]:
D = C / (6 * N)
loss = E + A / N**alpha + B / D**beta
best = loss.argmin()
print(
f"C={C:.2e} FLOPs: {N[best] / 1e9:6.1f}B params, {D[best] / 1e12:5.2f}T tokens, "
f"{D[best] / N[best]:.0f} tokens/param, loss {loss[best]:.3f}"
)係数には、元の論文の3つ目の推定値を修正したEpoch AIによるChinchillaの適合結果の再現を使用しています。Chinchillaの予算である5.76 × 10^23 FLOPsでは、この適合結果はパラメーター数722億、トークン数1兆3,300億を選びます。実際のChinchillaの700億パラメーター、1兆4,000億トークンに近い値です。また、10^21から10^25 FLOPsまでのすべての予算で、パラメーターあたり17~22トークンとなり、一般的な目安である約20と一致します。
計算量最適化の先へ#
Chinchillaの法則が最小化するのは学習計算量だけですが、デプロイされたモデルのコストはクエリごとに発生します。計算量最適点を大きく超えて学習させた小規模モデルは、推論コストを抑えられます。Metaは、パラメーター数80億のモデルでChinchilla最適となるデータ量は約2,000億トークンだと指摘しましたが、Llama 3 8Bは15兆トークンまで対数線形的に改善し続けました。そのため、小規模言語モデル (SLM)は日常的に過剰学習されます。データ供給も別の制約です。データ制約下のスケーリングに関する2023年の研究では、データを最大4エポック繰り返して学習しても、固有データと比べて損失はほとんど変化しないことが示されました。また、合成データによって学習データの供給をさらに拡大できます。
テスト時計算量のスケーリング#
もう1つの軸は、推論時に計算量を使うことです。OpenAIのo1などの推論モデルは、回答前に長い思考の連鎖を生成します。OpenAIは2024年、強化学習の計算量を増やす場合も、思考に費やす時間を増やす場合も、o1の精度が向上したと報告しました。Google DeepMindとUC Berkeleyによるテスト時計算量のスケーリングの研究では、プロセス報酬モデル (PRM)を使った探索など、計算量最適な戦略はbest-of-Nサンプリングの4倍以上の効率があることが分かりました。また、小規模モデルがある程度成功する問題では、テスト時の計算量を追加することで、同じFLOPsで14倍大きなモデルを上回れることも示されました。
コンピュータビジョンにおけるスケーリング#
ビジョンモデルも同じパターンに従います。GoogleのScaling Vision Transformers研究では、パラメーター数20億のビジョントランスフォーマー (ViT)を学習させ、ImageNetでトップ1精度90.45%を達成しました。Ultralytics YOLO26は、1つのモデルYAMLから5つのサイズを構成します。このYAMLのscalesエントリは、深さと幅の倍率、およびチャネル上限をn: [0.50, 0.25, 1024]からx: [1.00, 1.50, 512]まで設定します。COCOでは、平均適合率 (mAP)が、パラメーター数240万のYOLO26nの40.9から、パラメーター数5,570万のYOLO26xの57.5に上昇します。これはパラメーター数が23倍になることで、mAP50-95が16.6ポイント向上したことを意味します。










