whitecircle/halo
Halo is an open-source framework built by White Circle for training large language and multimodal models
解決的問題
Halo 是一個高效率的訓練框架,旨在讓大型語言模型(LLMs)與多模態模型的前沿級訓練變得可及。它透過提供一個從單一 GPU 到多節點叢集皆可擴展的統一程式碼庫,解決了分散式訓練的低效率與複雜性問題,同時維持與 Hugging Face 生態系統的相容性。
如何運作
Halo 將專家並行(EP)、上下文並行(CP)、張量並行(TP)與專家張量並行(ETP)等先進的平行策略,直接整合至現有的 Hugging Face 模型中,無需額外的分散式實作。它利用 PyTorch 原語(FSDP2、DTensor、DeviceMesh)與 FlashAttention 4、DeepEP、Liger 等專用核心,以最大化吞吐量。在強化學習(RL)方面,它採用非同步架構,將訓練(透過 Transformers)與推演(透過 vLLM 或 SGLang)分離,並透過預取佇列實現重疊執行。
適用對象
專為需要高訓練吞吐量、支援混合專家(MoE)與長上下文序列的大規模模型訓練的研究人員與工程師設計,同時保持檢查點與標準 Hugging Face from_pretrained 載入器的相容性。
主要特色
- 原生 Hugging Face 支援:直接訓練模型,並以標準 SafeTensors 格式儲存檢查點。
- 極致吞吐量:在 B300 GPU 上,訓練吞吐量最高可達原生 TRL 的 2.8 倍。
- 彈性平行:可獨立設定 EP、CP、TP 與 ETP,以優化 MoE 或長上下文工作負載。
- 非同步強化學習:支援多回合 RL,訓練器與推演伺服器之間有明確分離。
- 硬體最佳化:包含對 Blackwell 與 Hopper 架構的專用支援,包括 FA4 與 DeepGEMM。
相關
- 專案
- 專案
- 專案
- 專案