本記事は、松尾・岩澤研究室「大規模言語モデル講座 基礎編」で学んだ内容をもとに、講義内容を自分なりに整理した学習メモとして、自分の言葉で説明できるようになることを目的としたまとめです。
今回は第4回講義「スケール則」を題材に、スケール則の基本的な考え方とその重要性、さらに Chinchilla 論文で示された「最適な計算資源配分」について整理したいと思います。
スケール則とはなにか
スケール則とは、モデルの規模と性能(誤差)との間に成立する経験則です。
深層学習、とりわけ大規模言語モデルの分野では、以下の要素と誤差(Loss)の間に規則的な関係が観測されています。
- 計算資源(Compute, C)
- データセットサイズ(Data, D)
- パラメータ数(Parameters, N)
- 誤差(Loss, L)
これらの関係は、対数グラフ上でほぼ直線関係として現れることが知られています。
スケール則の基本式
スケール則は、以下の冪乗(べき乗)関数で表されます。
$$
L(X) = \left( \frac{X_c}{X} \right)^{\alpha}
$$
ここでは、
- L(X):誤差(Loss)
- X:モデル規模(計算量・データ量・パラメータ数など)
- Xc:定数
- α:スケール指数
を表しています。
上記関数の両辺の対数を取ると次のようになります。
$$
\log L(X) = \alpha \log X_c - \alpha \log X
$$
傾き=−𝛼 の直線となり、式が「モデル規模を大きくすればするほど、誤差(Loss)が下がる」ことを表しているのが分かります。
Transformer 以外・言語以外でも成り立つスケール則
スケール則は Transformer や自然言語処理に特有の現象ではありません。
- 畳み込みニューラルネットワーク(CNN)
- 画像認識・音声認識・強化学習
- 言語以外のタスク
といった多様なモデル・タスクにおいても、スケール則が確認されています。
LLM学習における計算量・パラメータ数・トークン数の関係
大規模言語モデルの学習では、計算量 (C)、パラメータ数 (N)、学習トークン数 (D) の間に、次のような近似関係が成り立つことが知られています。
$$
C \approx 6 \times N \times D
$$
これは、Transformer ベースのモデルにおいて、
- 各トークン処理における計算コスト
- Forward・Backward計算
などが考慮された近似式です。
この関係式により、「どの程度の計算資源で、どれくらいのモデルとデータを扱えるか」を事前に見積もることが可能になります。
スケール則の重要性:予測可能な性能改善
スケール則の最大の価値は、性能向上が予測可能になる点にあります。
- 計算資源を何倍にすれば、誤差がどの程度下がるか
- パラメータ数を増やすべきか、データ量を増やすべきか
- 投資に見合う性能向上が得られるか
といった予測を、実験前に定量的に行えるようになります。
これは研究だけでなく、産業応用における投資判断やモデル選択においても極めて重要です。
Chinchilla:最適な計算配分という考え方
スケール則をさらに一歩進めたのが、DeepMind による Chinchilla 論文です。
Chinchilla では、「計算量が固定された状況で、パラメータ数とデータ量をどう配分すべきか」が検討されました。
U カーブと最適点
与えられた計算量のもとで、
- 小さいモデルから大きいモデルまで
- それぞれを十分に学習させた場合
各モデルの最終的な Training Loss をプロットすると、U 字型(U カーブ)が現れます。
- モデルが小さすぎる → 表現力不足
- モデルが大きすぎる → データ不足(過学習)
この U カーブの底が、最適なパラメータ数とデータ量の組み合わせを示しています。
Chinchilla Optimal:最適トークン数
Chinchilla 論文では、最適条件として次の経験則が示されました。
$$
\text{最適トークン数} \approx 20 \times \text{パラメータ数}
$$
推論コストを考慮した最適化
ただし、この「20」という係数は不変でなく、
- 推論時の計算コスト
- レイテンシ要求
- サービス運用コスト
などを考慮すると、最適なトークン数とパラメータ数のバランスは変化します。
実運用では、学習コストと推論コストのトレードオフを踏まえた設計が必要になります。
まとめ
- スケール則は、モデル規模と性能の間に成立する経験則
- 性能改善が予測可能になることで、効率的な研究・投資判断が可能に
- Chinchilla は「計算資源の最適配分」という新しい視点を提示
- LLM 開発は、「大きくする」フェーズから「賢く配分する」フェーズへと移行している