yandex/YaFSDP

YaFSDP: Yet another Fully Sharded Data Parallel

解決する課題

YaFSDPは、大規模言語モデル(LLM)の事前学習を最適化するために設計されており、特にSharded Data Parallelismにおける通信およびメモリ操作に関連するオーバーヘッドをターゲットとしています。高メモリ負荷条件下でのGPU利用率とパフォーマンスを向上させることで、PyTorchのFSDP(Fully Sharded Data Parallel)に代わる、より高速な選択肢を提供することを目指しています。

仕組み

Transformer型のニューラルネットワークアーキテクチャに特化してチューニングされたSharded Data Parallelismフレームワークを実装しています。通信およびメモリ操作のオーバーヘッドを削減することで、複数のGPUにわたるトレーニング実行中の反復時間を短縮します。

対象ユーザー

Hugging Faceスタックを使用し、大規模GPUクラスター(64〜256デバイス)で大規模なTransformerモデル(Llama 2やLlama 3など)をトレーニングするMLエンジニアおよび研究者。

ハイライト

  • パフォーマンス向上: 標準的なFSDPと比較して、LLMの事前学習が最大20%高速化。
  • スケーラビリティ: 最大256枚のA100 GPUを使用し、7Bから70Bパラメータのモデルでベンチマークを実施。
  • スケーラビリティ: 因果的事前学習(causal pre-training)および教師あり微調整(SFT)をサポート。
  • 統合: 提供されるサンプルやDockerイメージを通じて、Hugging Faceエコシステムと連携。

関連

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