OpenLake MLPerf Storage v3.0 パフォーマンス結果
OpenLakeは、Llama 3.1 8BのチェックポインティングにおけるMLPerf Storage v3.0ベンチマークにおいて、同等のClosed division S3提出物の中で最高の読み取りおよび書き込み帯域幅を達成しました。この結果は、大規模なLLMトレーニング中の状態保存におけるGPUのアイドル時間を最小限に抑え、障害発生後のリカバリを加速させるシステムの能力を実証しています。
MLPerf Storage v3.0 ベンチマーク結果
OpenLakeは、Llama 3ファミリーのモデルをエミュレートするLlama 3.1 8B構成において、同等のS3提出物をリードしました。このベンチマークは、トレーニングプロセスがモデルの状態を保存または復元する際に、フルロード下でのストレージシステムの動作をテストするものです。
パフォーマンス指標
Llama 3.1 8B構成において、OpenLakeは以下のパフォーマンス指標を達成しました:
| Metric | OpenLake Result |
|---|---|
| Write Bandwidth | 6.72 GiB/s |
| Write Duration | 29.42 seconds |
| Read Bandwidth | 11.55 GiB/s |
| Read Duration | 9.37 seconds |
他の提出物との比較
同じClosed divisionのチェックポインティング・ワークロード、S3 APIインターフェース、Llama 3.1 8Bモデル、1つのクライアントノード、および1つのデータ並列インスタンスを使用した他の公開結果と比較した場合、OpenLakeは競合他社を上回りました:
| Organization | Write Bandwidth | Read Bandwidth | Write Duration | Read Duration |
|---|---|---|---|---|
| OpenLake | 6.72 GiB/s | 11.55 GiB/s | 29.42 s | 9.37 s |
| NVIDIA AIStore (6 node) | 3.40 GiB/s | 11.08 GiB/s | 30.83 s | 9.47 s |
| NVIDIA AIStore (12 node) | 3.20 GiB/s | 8.33 GiB/s | 30.83 s | 12.90 s |
| NVIDIA AIStore (3 node) | 3.02 GiB/s | 6.99 GiB/s | 34.67 s | 15.00 s |
| Nebius Object Storage | 2.81 GiB/s | 7.14 GiB/s | 37.24 s | 14.67 s |
OpenLakeの書き込み帯域幅6.72 GiB/sは、次に速い同等の提出物の1.98倍でした。
OpenLakeの技術アーキテクチャ
OpenLakeは、AIワークロード向けの高パフォーマンスストレージを実現するために、Infinity Core I/O Engineを利用しています。このシステムは、低レイテンシと高スループットを実現するために、io_uringとGPUDirect Storage向けに設計されています。
主要な実装詳細
I/O操作のインフライト(実行中)を最大化しつつCPUオーバーヘッドを削減するために、OpenLakeは以下の手法を採用しています:
- Asynchronous io_uring I/O: 非ブロッキング・カーネル操作に使用されます。
- Pinned Execution Threads: スケジューリングのオーバーヘッドを削減します。
- Fine-grained I/O Coalescing: データ移動を最適化します。
- XFS and Workload-Specific Tuning: AIストレージ要件に合わせて調整されています。
- S3 API Interface: チェックポイントの読み取りおよび書き込みのための標準インターフェースを提供します。
さらに、このプロジェクトは、KV offloadingをサポートするために、Rustのcompio(thread-per-core設計)とオンGPU圧縮を使用しており、96ノードのクラスターで1ms以内に100万IOPS以上を達成しています。
チェックポインティング・パフォーマンスがLLMトレーニングに与える影響
チェックポインティングは、数週間続く可能性のある大規模なトレーニング・ランの進捗を保護するために、モデルの重み、オプティマイザの状態、およびトレーニングの状態を保存するために、定期的にストレージへ保存するプロセスです。
トレーニングコストの削減
同期的なチェックポインティングでは、トレーニングが状態の書き込みが完了するまで一時停止します。書き込み帯域幅が速くなれば、GPUのアイドル時間を短縮し、アセレータの利用率を向上させ、全体的なトレーニングコストを低削減させます。
リカバリの加速
読み取り帯域幅が速くなれば、失敗後のリカバリ・パスを短縮し、トレーニングをより迅速に再開できます。これは、強化学習、事前学習、およびポストトレーニング・ジョブにおいて、チェックポイントが頻繁繁に作成され、インフラストラクチャの障害が発生しうる環境において極めて重要です。