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。

相关

  • 项目
  • 项目
  • 项目
  • 项目