HF 사이언스 팀은 비동기 RL (Reinforcement Learning, 강화학습) 가중치 동기화의 대역폭 비용을 약 100배 저렴하게 만들었으며, 이제 더 이상 공유 클러스터 (shared cluster)가 필요하지 않습니다.
문제점: 모든 RL 단계마다 트레이너 (trainer)는 일반적으로 추론 엔진 (inference engine)에 새로운 가중치를 동기화해야 합니다. bf16 형식의 7B 모델의 경우 약 14GB가 필요합니다. 프런티어 (frontier)급 1T fp8 체크포인트의 경우 동기화당 약 1TB가 필요하며, bf16의 경우 약 2TB가 필요합니다.
통찰: 두 RL 단계 사이에는 bf16 가중치의 약 99%가 비트 단위로 동일합니다. RL 학습률 (learning rates) 수준에서는 옵티마이저 (optimizer)가 속삭이는 수준이라 bf16은 그 대부분을 실제로 듣지 못합니다. 저장된 bf16 비트들은 변하지 않습니다.
TRL에 배포된 내용: 변경된 요소들만 희소 safetensors (sparse safetensors) 파일로 인코딩되어 Hugging Face Bucket에 저장되고, vLLM에 의해 가져와집니다. Qwen3-0.6B 모델의 경우, 단계별 페이로드 (payload)가 1.2GB에서 20~35MB로 줄어듭니다. 이것이 바로 우리가 Buckets를 만든 목적입니다. 즉, Hub 상의 S3와 유사한 객체 스토리지 (object storage)이며, Xet 기반이므로 전체 스냅샷 (full snapshots)조차 변경된 청크 (chunks)만 전송합니다.
가장 핵심적인 부분: 우리는 다음과 같은 완전한 분리형 학습 (disaggregated training)을 실행했습니다:
- 트레이너는 한 대의 박스에서 실행
- vLLM은 Hugging Face Space 내부에서 실행
- Wordle 환경은 다른 Space에서 실행
- 가중치는 하나의 Hub bucket을 통해 흐름
공유 클러스터도, RDMA도, VPN도, 클라우드 간의 NCCL도 필요 없습니다. 오직 HTTPS와 bucket만 있으면 됩니다.
이제 GPU 한 대와 Hugging Face 계정만 있으면 실제적인 분리형 RL을 수행하기에 충분합니다. 여러 리전 (regions)에 걸친 멀티 레플리카 (multi-replica) 추론 플릿 (fleets)을 구축하는 것은 이제 연구 프로젝트가 아닌 간단한 데브옵스 (devops) 작업이 됩니다.
전체 글: https://t.co/CG115IjT0q
오픈 소스 RL이 해자 (moat)를 계속해서 허물고 있습니다!
[IMG:https://pbs.twimg.com/media/HJWvNSjXgAQ0uuo.jpg]