
2026/03/20 3:51
**NanoGPT スロールン:10倍のデータ効率と無限計算**
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
NanoGPT の “Slowrun” アンサンブル戦略―多くの大型モデルを並列で訓練し、各モデルをより長いエポック数で実行させることにより、1億トークンで約10倍のデータ効率を達成し、標準的なスケーリング法則が予測する(約10億トークン)をはるかに上回っています。アンサンブル訓練により、モデルは通常の12エポックを超えて訓練でき、PR #26 で18エポックへ拡張した結果、個別損失は3.295から3.310に増加しましたが、アンサンブル損失は3.185から3.166に減少し、より長い訓練が全体的な汎化性能を向上させることを証明しています。
チェーン知識蒸留(PR #31)によりさらにアンサンブル損失が3.126まで低下し、データ効率は7倍から8倍へと向上しました。これは、直前のモデルから蒸留された次々としたモデルを連続で訓練し、結合 CE/KL 損失を用いることで実現しています。正則化は不可欠であり、重み減衰を1.6(典型的な約0.1の16倍)まで上げ、ドロップアウト 0.1 と組み合わせることで 27億パラメータモデルへのスケーリングが可能になり、より大きなモデルではさらに強力な正則化が必要です。
構造的イノベーションも重要な貢献をしています:
- Exclusive Self Attention (XSA) は自己値投影を除去します。
- RoPE 切断(半分切り捨て)と単層誘導ヘッド用の partial key offset が位置情報処理を改善します。
- 調整された残差ラムダ(PR #29)はレイヤーのスケーリングを微調整します。
- U‑Net スキップ接続 は鏡像トランスフォーマーレイヤー(0–14 → 29–15)を結びます。
- SwiGLU 活性化関数 が平方 ReLU を置き換えます。
- 学習済み値埋め込み が別々の埋め込みテーブルを置き換えます。
チームはまた looped transformers を実装しています:訓練中半分で、レイヤー 15–24 を4回繰り返し、最終層をループさせずに誘導バイアスを高めています。これらの調整が総合的に優れた効率向上をもたらします。
NanoGPT の結果は、Chinchilla が推奨する約 5 M パラメータモデルで 1 億トークンの場合と比べて約3600倍離れており、これらの構造的および訓練イノベーションの力を強調しています。著者は、さらに突破があれば 1 年以内にデータ効率を 100 倍に上げる可能性があると予測しており、これは研究機関、商業 AI 開発者、およびトランスフォーマー ベースの産業全体で大規模言語モデルの訓練コストと時間を劇的に削減するでしょう。
本文
NanoGPT Slowrun – 数週間で10倍のデータ効率
NanoGPT Slowrun では、1.8 Bパラメータモデルを複数組み合わせたアンサンブル(合計18 Bパラメータ)により、100 Mトークンで10倍のデータ効率を実現しました。これは、通常ならば1 Bトークンが必要となる標準的な言語モデルベースラインと同等です。
データ効率は重要です。計算リソースがデータよりも急速に増大するため、現在のスケーリング法則では計算量とデータ量を比例して増やす必要があります。そうでなければ、知能は最終的にデータによってボトルネックとなります。この結果により、データではなく計算量でモデル性能を向上させることが可能になります。
主な観察点
- これは現在のスケーリング法則(例:Chinchilla が示す100 Mトークンに対する約5 Mパラメータモデル、3600倍差)とは挙動が異なります。
- 10倍のデータ効率を達成できるとは想像しづらかったものの、数週間で実現しました。
- 一部のアーキテクチャ調整は経験的でしたが、他は理論に基づいており、大規模化にも応用可能です。
アンサンブル
アンサンブルは未だ十分に探求されていないスケーリング軸です。1つのモデルを学習する代わりに、多数のモデルを独立して訓練し、推論時に予測を集約します。これにより固定データ量で計算資源を増やし、一般化性能が向上します。
訓練ダイナミクス
| 実験 | エポック | 個別損失 | アンサンブル損失 |
|---|---|---|---|
| PR #26 | 12 → 18 | 3.295 → 3.310 | 3.185 → 3.166 |
ベースモデルは訓練を重ねると過学習しますが、アンサンブルでは長期訓練を好みます。
チェーン蒸留
各新しいモデルを直前のモデルから順次蒸留します:
1. M₁ を D で CE 損失により学習。 2. k = 2 … K の間: a. M_{k-1} を教師として固定。 b. M_k を D 上で以下の損失で訓練: L = (1 – α)·CE(M_k(x), y) + α·T²·KL( M_k(x)/T ‖ M_{k‑1}(x)/T ) ただし α = 0.5, T = 1.0。 c. 教師を破棄。 3. 推論時: K 個のモデルのロジットを平均。
前方モデルのみが教師になるため、メモリは一定に保たれ、訓練も高速です。
8つのチェーンモデルで:
| モデル数 | 個別損失 | アンサンブル損失 |
|---|---|---|
| 1 | ~3.20 | – |
| … | ||
| 8 | ~3.20 | 3.126 |
データ効率は7倍から8倍へ向上しました。
正則化
一般化は圧縮と相関があり、正則化はシンプルさの代理です。
- 重み減衰を最大 1.6(標準的な値の約16倍)まで増やす。
- ドロップアウト 0.1。
- 過剰パラメータモデル(例:2.7 B → 1.8 B)はより強い正則化が必要です。
ループ
ループ付きトランスフォーマーは層を反復して表現を洗練します:
- 30 層のトランスフォーマーを通常訓練。 - 中間で層 15–24 を4回ループ: * 層 0–24 を実行 * 層 15–24 を4回再実行 * 層 25–29 を実行
後半層をループさせると逆に劣化します。これが最良の検証損失をもたらします。
アーキテクチャ変更
| 変更 | 効果 |
|---|---|
| Exclusive Self Attention (XSA) – 自己注意の値投影を除外 | PR #36 |
| EMA + 重み減衰調整、半分トランケート RoPE、部分キーオフセット、残差 λ のチューニング | PR #29 |
| U‑Net スキップ接続(対称層間) | PR #17 |
| SwiGLU 活性化関数(平方 ReLU を置換) | PR #12 |
| 入力埋め込みから学習した投影で値埋め込みを生成 | PR #11 |
これらの調整は一貫してデータ効率を向上させ、体系的なアーキテクチャ探索の価値を示しています。
今後
- 100倍のデータ効率を目指す。新たな突破口が必要ですが、1年以内に実現可能と見込まれます。
貢献者
- @ChinmayK0607
- @not-nonymous
- @shmublu
- @zhiweixx
- @em-see-squared
- @ms337
- @kvegesna
- @akshayvegesna
← Qへ戻る