PrimeIntellect-ai/prime-diloco
prime is a framework for efficient, globally distributed training of AI models over the internet.
何を解決するか
Prime はインターネット上での効率的かつグローバル分散型のAIモデル学習を目的としたフレームワークです。地理的に分散したノード間で大規模モデルを学習する際の課題、たとえばネットワークの不安定性、高レイテンシ、チェックポイント作成および回復の高コストを解決します。
動作方法
Prime は通信オーバーヘッドを最小限に抑えるため、DiLoCo(分散型低通信)アプローチを採用しています。以下の主要な最適化を実装しています:
- ElasticDeviceMesh:動的プロセスグループを管理するフェイルセーフな抽象化。ノードが学習実行中に参加または離脱しても、コールドリスタートを必要とせず、柔軟に対応可能。
- 非同期チェックポイント:メインの学習プロセスをブロッキングしないように、チェックポイントはまず RAM ベースのファイルシステム(
/dev/shm)に保存され、その後非同期にディスクまたはリモートストレージにアップロードされます。 - ライブチェックポイント復元:参加するノードはサイドカー HTTP サーバー経由でピアから最新のモデル状態を迅速に取得でき、学習実行中に途中から参加することが可能。
- カスタム Int8 All-Reduce カーネル:Pseudo-Gradient を Int8 に量子化する C++ 実装のリングリダクションカーネル。ネットワークペイロードサイズを 4 倍削減しても損失曲線に影響を与えない。
- 帯域幅最適化:シャーデッドな pseudo-Gradient(複数の同時接続)と VPN 技術を活用して、ピアツーピアルーティングを最適化し、ネットワーク利用効率を最大化。
- メモリ管理:PyTorch FSDP2/DTensor ZeRO-3 を使用して、モデル重み、勾配、オプティマイザ状態をノード内 GPU 間でシャーディングし、DiLoCo オプティマイザのテンソルを CPU メモリにオフロードします。
対象ユーザー
複数のデータセンターまたは公開インターネット上に分散して学習を実行したい、大規模AIモデルを訓練する研究者やエンジニア。
特徴
ElasticDeviceMeshとハートビートメカニズムによるフェイルセーフな学習。- カスタム Int8 All-Reduce カーネルにより通信ペイロードを 4 倍削減。
- RAM ベースの非同期アップロードによるブロッキングなしのチェックポイント。
- 高帯域インターネット学習で、米国間のデータセンター間で最大 4Gb/s を達成。
- エフェクティブなメモリシャーディング(ZeRO-3)を実現する FSDP2 統合。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト