meta-pytorch/torchft

Fault tolerance for PyTorch (HSDP, LocalSGD, DiLoCo, Streaming DiLoCo)

何を解決するか

大規模なAIモデルの学習は、単一のGPUまたはノードがクラッシュすると失敗することが多く、通常は最後のチェックポイントから再開する必要がある。torchftはステップ単位のフェイルセーフを提供し、エラーが発生しても学習全体を中断せずに継続可能にする。

動作方法

このライブラリは、学習ステップ単位でのメンバーシップ変更のためのプリミティブを提供する。"ライトハウス"サーバーを使用して、レプリカグループ間を調整し、ステップごとのハートビートによりワーカーの健全性を判断する。また、フェイルセーフなProcessGroupとチェックポイント転送を実装しており、スケールアップ操作中に健全なピアからライブリカバリを可能にする。

対象ユーザー

PyTorchを使用して大規模モデル(例:Llama 3 70B)を学習する機械学習エンジニアや研究者。特にDDPやHSDPのようなレプリケートされた重み戦略を採用している人。

主な特徴

  • フェイルセーフアルゴリズム:標準でフェイルセーフDDP、フェイルセーフHSDP、LocalSGD、DiLoCoをサポート。
  • ライトハウス調整:ワーカーの健全性を管理し、レプリカグループを調整する専用サーバー。"世界停止"を回避する学習一時停止を防ぐ。
  • ライブリカバリ:スケールアップ操作中に、専用のチェックポイント転送を使用して健全なピアから状態を復元可能。
  • 統合性:既存のPyTorch学習スクリプトに最小限の変更で統合可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト