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)에서는 비동기 아키텍처를 사용하여 트레이너(Transformer 기반)와 롤아웃(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를 포함합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트