Olmo-core 3 オープン混合エキスパート学習インフラストラクチャ
TL;DR
Olmo-core 3 は、新しくリリースされたオープンソースの学習スタックであり、1兆パラメータ規模の効率的な混合エキスパート(MoE)モデルを可能にし、従来の実装と比較して最大2.7倍のトークンスループットを実現し、MXFP8精度などの高度な最適化をサポートします。
Olmo-core 3 とは何か、そしてなぜ重要なのか
Olmo-core 3 は、アレン研究所のMoE学習フレームワークを再設計したもので、エキスパートプールが数十から数百に成長しても、トークンあたりのアクティブパラメータ数をほぼ一定に保ちながら、計算効率を維持するように構築されています。従来MoEの利点を損なっていた通信とルーティングのオーバーヘッドを排除することで、このスタックは1兆パラメータのスパースモデルを学術ラボや小規模な研究チームにとって手頃なものにします。
主要なアーキテクチャ変更
FSDPからDDPへの切り替え
- 以前のOlmo-coreは、完全シャーディングデータ並列処理(FSDP)を使用しており、各ミニバッチごとにモデルの重みを繰り返し収集して再共有していました。
- Olmo-core 3 は、分散データ並列処理(DDP)を採用し、エキスパートの重みをGPU上に常駐させ、必要なトークンデータのみをルーティングします。これにより、コストのかかる重み収集ステップが排除されます。
統合MoEスタック vs. Megatron-Core
- NVIDIAのMegatron-Coreは、大規模MoEのリファレンス実装として残っています。
- Olmo-core 3 は、以前のFSDPベースのバージョンを上回る、エンドツーエンドで緊密に統合されたMoEスタックを提供します。8基のNVIDIA B300 GPUでのベンチマークでは、470億パラメータのMoEが、以前の19,400トークン/秒/GPUと比較して、52,000トークン/秒/GPUを達成し、2.7倍のスループット向上を実現しました。
採用されたスケーリング技術
並列処理戦略
| 技術 | 目的 |
|---|---|
| エキスパート並列処理 | エキスパートプールをGPU全体に分散し、各GPUがエキスパートのサブセットのみを格納するようにします。 |
| パイプライン並列処理 | モデルレイヤーをGPUグループ間で分割し、GPUあたりのメモリフットプリントを削減します。 |
| 分散オプティマイザ | オプティマイザの状態をGPU全体に分散し、すべてのデバイスでの完全なコピーを回避します。 |
これらの3つのメカニズムにより、すべてのGPUがモデル全体やオプティマイザの状態を保持する必要なく、MoEモデルをスケーリングできます。
ルーティングと計算の最適化
- 行方向エキスパート並列処理 – ルーティングされたトークンをエキスパートの入力バッファに直接書き込み、データの再形成を削減します。
- GPU常駐ルーティング – ルーティングメタデータをGPU上に保持し、CPUがボトルネックにならないようにします。
- グループ化GEMM – 異なるエキスパートからの多数の小さな行列乗算を単一のより大きなGEMM呼び出しにバッチ処理し、GPU使用率を向上させます。
MXFP8による精度最適化
- MXFP8は、計算とGPU間トラフィックの両方を削減する低精度の数値形式です。
- 4基のNVIDIA B300 GPUでの管理されたベンチマークでは、MXFP8を有効にすると、BF16ベースラインと比較してエンドツーエンドのスループットが約21%向上し、ピークアクティブメモリが103 GiBから95 GiBに削減されました。
- ほとんどの利点は、フィードフォワード計算の高速化とエキスパート間のデータ移動の削減によるものです。
実証されたスケール
| 構成 | 総パラメータ数 | トークンあたりのアクティブパラメータ数 | GPU数 | ピークスループット |
|---|---|---|---|---|
| 1.2兆パラメータMoE | 1.2兆 | 583.6億 | 512 | 858 TFLOP/s/GPU |
| 2.38兆パラメータ(DeepEP v2) | 2.38兆 | — | — | — |
1.2兆パラメータの実行では、システムパフォーマンスをストレステストするためにランダムルーティングを使用しました。これはトレーニングされたモデルの品質を反映するものではありません。
生の速度を超えた実証的発見
- トークンゲリマンダリング – ルーティングバランススコアが改善されても、実際のワークロードバランスが悪化する可能性があり、メトリック設計の落とし穴が浮き彫りになります。
- エキスパート学習率スケーリング – スパースに使用されるエキスパートの学習率を下げても、テストしたモデルファミリーではより良い結果は得られませんでした。
- 入力値依存のタイミング – GPUカーネルは、入力値が異なる場合に同一の行列形状でも実行時間が変動し、値が一致したベンチマークの必要性が強調されました。
- 通信と計算のオーバーラップ – これらのストリームをオーバーラップさせると、全体的な実行が遅くなることがあり、オーバーラップが多いほど常に有益であるとは限らないことが示されました。
これらの観察結果は、付属のテクニカルレポートで詳述されており、将来のMoEトレーニング研究を導きます。
オープンソースの可用性とコミュニティへの影響
- コード – GitHubで完全にオープン: https://github.com/allenai/olmo-core
- テクニカルレポート – 詳細なシステム設計、アブレーション、実験方法論を提供: https://allenai.org/papers/olmocore3
- インタラクティブデモ – データ、エキスパート、パイプライン並列処理の視覚的なウォークスルー: https://narrative.allen.ai/scaling-up-training
オープンライセンスでスタックをリリースすることで、アレン研究所は研究者が独自の1兆パラメータMoEをトレーニングし、システムを代替ハードウェアに適応させ、新しいルーティングや精度スキームを実験できるようにします。
展望
Olmo-core 3 は、次世代のOlmoモデルのバックボーンを形成します。これらのモデルは、新しいMoEアーキテクチャと、より大規模なデータセットおよびより長いコンテキストウィンドウを組み合わせます。このスタックのモジュール設計により、ハードウェアの進歩に合わせて進化し、研究コミュニティをスケーラブルなスパースモデルトレーニングの最前線に保つことができます。
重要なポイント
- Olmo-core 3 は、トークンあたりのアクティブパラメータを一定に保ちながら、MoEトレーニングを1兆パラメータ規模にスケーリングします。
- DDP、エキスパート/パイプライン並列処理、ルーティング最適化により、以前のFSDPベースのスタックと比較して最大2.7倍のトークンスループットを達成します。
- MXFP8精度により、さらに**約21%**の速度向上とメモリ使用量の削減が追加されます。
- このフレームワークは完全にオープンソースであり、大規模スパースモデル研究のための本番グレードのツールをコミュニティに提供します。