whitecircle/halo

Halo is an open-source framework built by White Circle for training large language and multimodal models

何を解決するか

Haloは、大規模言語モデル(LLM)およびマルチモーダルモデルの最先端トレーニングを可能にする高パフォーマンスなトレーニングフレームワークです。分散トレーニングの非効率性と複雑さを克服し、単一GPUからマルチノードクラスタまでスケーラブルな統合コードベースを提供しながら、Hugging Faceエコシステムとの互換性を維持します。

どう動くか

Haloは、Expert Parallelism(EP)、Context Parallelism(CP)、Tensor Parallelism(TP)、Expert Tensor Parallelism(ETP)といった高度な並列化戦略を、既存のHugging Faceモデルに直接統合します。別途分散実装を必要とせず、PyTorchのプリミティブ(FSDP2、DTensor、DeviceMesh)とFlashAttention 4、DeepEP、Ligerなどの専用カーネルを活用してスループットを最大化します。強化学習(RL)では、非同期アーキテクチャを採用し、TransformersによるトレーニングとvLLMまたはSGLangによるロールアウトを分離。プリフェッチキューにより、両者を重ねて実行可能にします。

だれ向けか

大規模モデルをトレーニングする研究者やエンジニア向けです。高スループット、Mixture-of-Experts(MoE)および長文シーケンスのサポート、標準のHugging Face from_pretrainedローダーと互換性のあるチェックポイントを必要とする方々に最適です。

特徴

  • Hugging Faceネイティブ:モデルを直接トレーニングし、標準のSafeTensors形式でチェックポイントを保存。
  • 極めて高いスループット:B300 GPU上で、標準のTRLの2.8倍のトレーニングスループットを実現。
  • 柔軟な並列化:EP、CP、TP、ETPを独立して設定可能。MoEや長文ワークロードに最適化。
  • 非同期RL:複数ターンのRLをサポート。トレーナーとロールアウトサーバーの明確な分離を実現。
  • ハードウェア最適化:BlackwellおよびHopperアーキテクチャを専用サポート。FA4やDeepGEMMを含む。

関連

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