[논문 리뷰] EasyScale: Accuracy-consistent Elastic Training for Deep Learning
EasyScale는 자원 할당과 독립된 훈련 행동을 통해 동일한 모델 정확도를 유지하는 혁신적인 유연한 딥러닝 훈련 시스템이다. 이는 동일한 GPU 자원(동일한 유형 및 이종 유형)에서도 일관된 정확도를 유지한다. 이는 결정론적이고 정확도가 일관된 훈련 추상화(EasyScaleThread, EST)와 효율적인 내부/외부 작업 스케줄링을 통해 달성되며, 실제 운영 환경에서 클러스터 GPU 활용도를 62.1% 향상시킨다.
Distributed synchronized GPU training is commonly used for deep learning. The resource constraint of using a fixed number of GPUs makes large-scale training jobs suffer from long queuing time for resource allocation, and lowers the cluster utilization. Adapting to resource elasticity can alleviate this but often introduces inconsistent model accuracy, due to lacking of capability to decouple model training procedure from resource allocation. We propose EasyScale, an elastic training system that achieves consistent model accuracy under resource elasticity for both homogeneous and heterogeneous GPUs. EasyScale preserves the data-parallel training behaviors strictly, traces the consistency-relevant factors carefully, utilizes the deep learning characteristics for EasyScaleThread abstraction and fast context-switching. To utilize heterogeneous cluster, EasyScale dynamically assigns workers based on the intra-/inter-job schedulers, minimizing load imbalance and maximizing aggregated job throughput. Deployed in an online serving cluster, EasyScale powers the training jobs to utilize idle GPUs opportunistically, improving overall cluster utilization by 62.1%.
연구 동기 및 목표
- 동적 자원 할당과 GPU 이종성으로 인한 모델 정확도의 일관성 없는 문제를 해결하기 위해.
- 모델 훈련 과정을 자원 할당에서 분리하여 개발자가 원래 설정한 초모수와 훈련 절차를 유지하기 위해.
- 유연성 환경에서도 다양한 GPU 유형 간에 비트 단위로 동일한 결과를 보장하는 결정론성과 재현 가능성을 확보하기 위해.
- 모델 정확도를 훼손하지 않으면서도 비어 있는 GPU를 유연하게 활용하여 클러스터 활용도를 극대화하기 위해.
- 모델 설계나 훈련 워크플로우에 변경 없이도 생산용 GPU 클러스터에 확장 가능한 훈련을 원활하게 통합하기 위해.
제안 방법
- 훈련 상태를 캡슐화하고 동적 GPU 할당 환경에서도 일관된 실행을 보장하기 위해 EasyScaleThread(EST) 추상화를 도입한다.
- cuBLAS, NCCL, CUDA 커널 등 딥러닝 소프트웨어 스택 전반에서 정확도에 영향을 주는 요소를 추적하고 제어하여 비결정론성을 제거한다.
- 이중 수준 스케줄링 전략을 적용한다: 작업 내에서 동적 워커 재할당을 위한 내부 작업 스케줄러와 이종 GPU 클러스터 간의 부하 균형을 맞추기 위한 외부 작업 스케줄러.
- 기울기 누적과 미니배치 처리와 같은 딥러닝 특성을 활용하여 스케일인/스케일아웃 시 빠른 컨텍스트 스위칭과 낮은 오버헤드를 달성한다.
- 비트 단위로 동일한 결과를 보장하는 결정론적 실행 모델을 도입하여, GPU 수나 GPU 유형이 변경되더라도 일관된 결과를 얻는다.
- 모델 아키텍처나 초모수에 영향을 주지 않고도 기존 DDP 기반 훈련 프레임워크(예: PyTorch DDP)와 통합된다.
실험 결과
연구 질문
- RQ1유연한 딥러닝 훈련이 다양한 GPU 수와 이종 GPU 유형 간에서도 일관된 모델 정확도를 유지할 수 있는가?
- RQ2분산 훈련에서 동적 스케일인/스케일아웃 작업 중에 모델의 결정론성과 재현 가능성을 어떻게 유지할 수 있는가?
- RQ3성능을 유지하면서도 자원 할당에서 훈련 행동을 분리하기 위해 필요한 시스템 수준의 추상화와 스케줄링 메커니즘은 무엇인가?
- RQ4모델 정확도를 떨어뜨리지 않으면서도 생산 클러스터에서 비어 있는 GPU 자원을 얼마나 활용할 수 있는가?
- RQ5실제 온라인 서비스 환경에서 확장 가능한 결정론적 훈련 시스템을 대규모로 구현할 수 있는가?
주요 결과
- EasyScale는 실제 온라인 서비스 환경에서 비어 있는 GPU를 유연하게 활용함으로써 클러스터 GPU 활용도를 62.1% 향상시켰다.
- 추론 작업이 GPU를 해제한 후 약 5분 이내로 스케일인/스케일아웃이 완료되어 자원 가용성에 매우 민감하게 반응함을 입증했다.
- 362회의 프리empt(중단)가 발생한 1일 동안의 운영 테스트에서 EasyScale 훈련 작업 중 하나도 실패하지 않아 고신뢰성과 높은 장애 내성 능력을 입증했다.
- 소프트웨어 스택 내 비결정론적 행동을 제거함으로써 A100과 이전 세대 GPU를 포함한 다양한 GPU 수와 유형 간에도 일관된 모델 정확도를 유지했다.
- 하루 평균 459개의 비어 있는 GPU가 EasyScale 작업에 의해 활용되었으며, 고우선순위 추론 워크로드가 필요할 경우 신속하게 확보되었다.
- EST 추상화와 결정론적 실행을 통해 자원 변화가 발생하더라도 비트 단위로 동일한 훈련 결과를 보장하여 완전한 재현 가능성을 확보했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.