project
3FS - DeepSeekのオープンソース高性能分散ファイルシステム
3FS(Fire-Flyer File System)は、DeepSeekが開発した高性能分散ファイルシステムで、AIのトレーニングおよび推論タスク向けに特別に設計されています。3FSは最新のSSDとRDMAネットワーク技術を使用し、独自のアーキテクチャに基づいて数千台のSSDを統合しています。
3FSとは何ですか?
3FS(Fire-Flyer File System)は、DeepSeekが開発した高性能分散ファイルシステムで、AIのトレーニングと推論タスク向けに特別に設計されています。最新のSSDとRDMAネットワーク技術を活用し、3FSは、ディスクリートアーキテクチャに基づいて数千台のSSDのスループットと数百台のストレージノードのネットワーク帯域幅を集約し、最大6.6 TiB/sの読み取りスループットを実現します。3FSは、強力な一貫性保証と汎用的なファイルインターフェースを提供し、新しいストレージAPIを習得する必要性をなくします。3FSは、大規模データ処理と推論最適化において優れた性能を発揮し、GraySortテストで3.66 TiB/分のスループット、KVCacheで最大40 GiB/sの読み取りスループットを達成しています。
3FSの主な機能
- 高性能データアクセス数千台のSSDのスループットと数百台のストレージノードのネットワーク帯域幅を統合することで、最大6.6 TiB/sの読み取りスループットを実現します。大規模クラスタにおける高スループットの並列読み書きをサポートし、AIトレーニングや推論タスクにおけるデータロード効率を最適化します。
- 高い安定性を保証しますデータの一貫性を強力に確保し、アプリケーション開発の複雑さを軽減するために、連鎖レプリケーションおよび割り当てクエリ(CRAQ)技術を導入します。
- 一般的なファイルインターフェースステートレスなメタデータサービスを提供し、トランザクション対応のキーバリューストア(FoundationDBなど)をサポートしているため、ユーザーは新しいストレージAPIを学習する必要がありません。
- AIワークロードを最適化する:
- データ準備多数の中間出力を効率的に管理し、階層的なディレクトリ構造をサポートします。
- データ読み込みプリフェッチやデータセットのシャッフルなしに、計算ノード間でのランダムアクセスをサポートします。
- Checkpointのサポート大規模トレーニング向けに、高スループットの並列チェックポイント機能を提供します。
- KVCacheこれは、推論タスク向けに高スループットかつ大容量のキャッシュ代替手段を提供し、推論効率を最適化します。
- 高い拡張性と柔軟性大規模なクラスタ展開をサポートし、単一ノードから数千ノードまで、多様なアプリケーションシナリオに適しています。
3FSの技術原理
- 分離型アーキテクチャコンピューティングとストレージを分離した設計に基づき、ストレージリソースは一元管理され、高速ネットワーク(RDMAなど)を用いて効率的なデータ伝送を実現します。これにより、アプリケーションは「場所に依存しない」方法でストレージリソースにアクセスでき、リソース管理が簡素化されます。
- 連鎖レプリケーションおよび割り当てクエリ(CRAQ)3FSは、高いデータ一貫性を実現するためにCRAQテクノロジーを採用しています。連鎖レプリケーションにより、複数のレプリカ間でデータの一貫性が確保され、アロケーションクエリによって読み取りパフォーマンスが最適化され、レイテンシが低減されます。
- ステートレスメタデータサービス3FSは、トランザクション型キーバリューストア(FoundationDBなど)に基づいたステートレスなメタデータサービスを導入することで、システムの拡張性を向上させ、メタデータ管理の複雑さを軽減します。
- ダイレクトI/OとRDMAの最適化ダイレクトI/OはSSDへの直接アクセスを可能にし、ファイルキャッシュを回避し、CPUとメモリのオーバーヘッドを削減し、RDMAテクノロジーを使用して効率的なデータ転送を実現することで、パフォーマンスをさらに向上させます。
- KVCacheテクノロジー推論タスクにおいて、KVCacheは重要な中間結果をキャッシュすることで、冗長な計算を回避し、推論効率を大幅に向上させます。高いスループットと大容量を兼ね備えたKVCacheは、DRAMキャッシュに代わる低コストなソリューションです。
- データ局所性の最適化最適化されたデータレイアウトとアクセスパターンに基づいて、データ伝送の遅延と帯域幅の消費を削減し、大規模な分散トレーニングおよび推論タスクにおいて特に優れた性能を発揮します。
3FSのパフォーマンス
- 大規模読み取りスループット180台のストレージノードで構成されるクラスタでは、各ノードに2枚の200Gbps InfiniBandネットワークインターフェイスカード(NIC)と16台の14TiB NVMe SSDが搭載されています。読み取り負荷テストには、約500台以上のクライアントノードが使用され、各ノードには1枚の200Gbps InfiniBand NICが搭載されています。トレーニングジョブのバックグラウンドトラフィック下で、最終的な合計読み取りスループットは約6.6 TiB/sに達しました。
- GraySortのパフォーマンステスト3FS は GraySort ベンチマーク テストで非常に優れたパフォーマンスを発揮しました。GraySort は、分散システムのデータ処理能力を測定するために使用される大規模データソート テストです。テスト クラスタは、25 台のストレージ ノード (各ノードに 2 つの NUMA ドメイン、各ドメインに 1 つのストレージ サービス、および 2 つの 400Gbps NIC) と 50 台のコンピューティング ノード (各ノードに 192 個の物理コア、2.2 TiB のメモリ、および 1 つの 200Gbps NIC) で構成されていました。このテストで、3FS は 8192 個のパーティションにまたがる 110.5 TiB のデータをわずか 30 分 14 秒で正常にソートし、平均スループット 3.66 TiB/分を達成しました。
- KVCache推論最適化KVCacheは、3FSがLLM(大規模言語モデル)の推論プロセスを最適化するために設計したキャッシング技術です。デコード層でキーベクトルと値ベクトルをキャッシュすることで、冗長な計算を回避します。性能テストでは、KVCacheは最大40 GiB/sの読み取りスループットを達成し、推論効率を大幅に向上させました。また、KVCacheのガベージコレクション(GC)操作は高いIOPS性能を発揮し、効率的なキャッシュ管理と更新を実現します。
3FSプロジェクトの住所
- GitHubリポジトリ:https://github.com/deepseek-ai/3FS
3FSアプリケーションシナリオ
- 大規模AIトレーニング大量のデータの高速な読み書きを効率的にサポートし、トレーニング速度を向上させます。
- 分散データ処理データ読み込みと管理を最適化し、ランダムアクセスをサポートし、プリフェッチやシャッフルを不要にします。
- 推論最適化KVCacheを使用して中間結果をキャッシュすることで、冗長な計算が削減され、推論効率が向上します。
- Checkpointのサポートトレーニングタスクの安定性と復旧性を確保するために、高スループットの並列チェックポイント機能を提供します。
- マルチノードコンピューティング環境大規模クラスターへのシームレスな統合、柔軟な拡張のサポート、そして様々な規模のAIアプリケーションのニーズへの対応を実現します。