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を含む。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト