intelligent-machine-learning/dlrover
DLRover: An Automatic Distributed Deep Learning System
해결하는 문제
DLRover는 대규모 AI 모델의 분산 딥러닝 훈련에서 발생하는 엔지니어링 복잡성을 해결합니다. 특히 대규모 클러스터(K8s/Ray)에서 훈련할 때 발생하는 불안정성, 다운타임, 자원 비효율성 문제를 해결하여 개발자가 하드웨어 가속 또는 분산 런타임 관리가 아닌 모델 아키텍처에 집중할 수 있도록 합니다.
작동 방식
DLRover는 훈련 작업을 위한 자동 운영 및 유지보수 계층을 제공합니다. 다음과 같은 핵심 메커니즘을 사용합니다:
- 장애 내성: 시스템은 장애를 자동으로 진단하고, 소프트웨어 오류의 경우 특정 프로세스를 재시작하거나, 하드웨어 오류의 경우 실패한 노드를 재시작하여 전체 작업을 중단하지 않고 복구합니다.
- 플래시 체크포인트: 메모리 내 체크포인트를 사용해 모델 상태를 초 단위로 저장 및 로드하여 SSD나 NAS 저장소 대비 I/O 시간을 크게 단축합니다.
- 자동 스케일링: 노드의 부하와 처리량을 모니터링하여 리소스를 동적으로 증감시키며, 노드 지연 또는 파라미터 서버의 부하 불균형과 같은 병목을 완화합니다.
- 동적 데이터 샤딩: 데이터셋을 작은 샤드로 분할하여 실패한 워커에서 손실된 샤드를 복구하고, 더 빠른 워커에 샤드를 재할당하여 지연을 줄입니다.
대상 사용자
PyTorch 또는 TensorFlow를 사용하여 Kubernetes 또는 Ray에서 대규모 AI 모델(예: LLM)을 분산 클러스터에서 훈련하는 모델 개발자 및 ML 엔지니어.
주요 특징
- 높은 유효 처리량: 수천 개의 GPU에서 GLM-65B 훈련의 유효 처리량을 69%에서 95%로 향상.
- 빠른 복구: 공유 메모리를 통해 플래시 체크포인트로 장애 복구를 수초 내에 수행.
- 광범위한 프레임워크 지원: PyTorch(DDP, FSDP, DeepSpeed, Megatron-LM) 및 TensorFlow와의 통합 제공.
- 인프라 유연성: Kubernetes 및 Ray 아키텍처 모두 지원.
- 온라인 학습: Kafka 또는 Pulsar와 같은 메시지 큐를 통해 실시간 스트리밍 데이터 통합 지원.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트