[논문 리뷰] Bamboo: Making Preemptible Instances Resilient for Affordable Training of Large DNNs
Bamboo는 파이프라인 병렬 학습에서 파이프라인 버블에 부가적인 계산을 삽입함으로써, 가용성 낮은 클라우드 인스턴스에서 대규모 딥 네트워크(DNN) 학습의 복원성과 효율성을 향상시키는 분산 시스템이다. 이는 온디맨드 인스턴스 대비 3.7배 높은 학습 처리량과 2.4배 낮은 비용을 달성하며, 빈번한 전환이 발생하는 상황에서 재시작 오버헤드를 최소화함으로써 체크포인팅 기반 기법을 능가한다.
DNN models across many domains continue to grow in size, resulting in high resource requirements for effective training, and unpalatable (and often unaffordable) costs for organizations and research labs across scales. This paper aims to significantly reduce training costs with effective use of preemptible instances, i.e., those that can be obtained at a much cheaper price while idle, but may be preempted whenever requested by priority users. Doing so, however, requires new forms of resiliency and efficiency to cope with the possibility of frequent preemptions - a failure model that is drastically different from the occasional failures in normal cluster settings that existing checkpointing techniques target. We present Bamboo, a distributed system that tackles these challenges by introducing redundant computations into the training pipeline, i.e., whereby one node performs computations over not only its own layers but also over some layers in its neighbor. Our key insight is that training large models often requires pipeline parallelism where "pipeline bubbles" naturally exist. Bamboo carefully fills redundant computations into these bubbles, providing resilience at a low cost. Across a variety of widely used DNN models, Bamboo outperforms traditional checkpointing by 3.7x in training throughput, and reduces costs by 2.4x compared to a setting where on-demand instances are used.
연구 동기 및 목표
- 대규모 DNN 학습의 높은 비용 문제를 해결하기 위해, 특히 소규모 기관 및 연구소의 부담을 줄이기 위해.
- 가용성 낮은 클라우드 인스턴스의 불안정성과 빈번한 전환으로 인해 장시간 실행되는 DNN 학습이 방해받는 문제를 해결하기 위해.
- 빈번한 전환 상황에서 높은 재시작 오버헤드를 유발하는 전통적 체크포인팅 기법을 뛰어넘어, 비용 절감과 효율성 향상을 달성하기 위해.
- 확장성이나 모델 크기의 제약 없이, 가용성 낮은 자원에서도 신속한 복구와 높은 처리량을 보장하는 시스템 설계를 위해.
- 체크포인팅 기반 기법을 뛰어넘어, 파이프라인 병렬 학습에서의 부가적 계산을 활용해 온디맨드 인스턴스 대비 저비용 대안을 제공하기 위해.
제안 방법
- Bamboo는 각 학습 노드가 자신만의 모델 레이어뿐만 아니라, 파이프라인에서 뒤따르는 노드의 레이어까지도 계산하도록 하여 부가적 계산(RC)을 도입한다.
- 파이프라인 병렬 처리에서 발생하는 '파이프라인 버블'(즉, 공백 기간)을 활용하여, 전환 발생 시 신속한 복구가 가능하도록 부가적 계산을 채운다.
- 노드가 활성일 때 이중 계산을 방지하고 일관성을 확보하기 위해 경량의 조율 메커니즘을 사용한다.
- 동일한 RC 기반 복원성 메커니즘을 사용하여, 파이프라인 병렬 처리와 순수 데이터 병렬 처리 모두를 지원한다.
- 전체 체크포인팅이 필요로 하는 것을 방지하기 위해, 파이프라인 버블에 결과를 사전 계산하고 캐시함으로써 재시작 시간과 낭비된 계산을 줄인다.
- 예측 불가능한 전환에 대비해 복원성을 극대화하면서도 자원 오버헤드를 최소화하도록 설계되었다.
실험 결과
연구 질문
- RQ1파이프라인 버블에 부가적 계산을 적용할 경우, 가용성 낮은 인스턴스에서 학습 재시작 오버헤드를 상당히 줄일 수 있는가?
- RQ2빈번한 전환 상황에서 Bamboo의 접근 방식은 전통적 체크포인팅 대비 처리량과 비용 효율성 측면에서 어떻게 비교되는가?
- RQ3온디맨드 인스턴스 사용 대비 Bamboo는 얼마나 많은 비용 절감을 이룰 수 있는가, 동시에 높은 처리량을 유지할 수 있는가?
- RQ4동일한 RC 메커니즘이 파이프라인 병렬 처리와 순수 데이터 병렬 처리 양쪽 모두에 효과적으로 적용될 수 있는가?
- RQ5다양하고 널리 사용되는 DNN 아키텍처 전반에서 Bamboo의 성능과 비용 영향은 어떠한가?
주요 결과
- Bamboo는 가용성 낮은 인스턴스에서 체크포인팅 기반 기법 대비 3.7배 높은 학습 처리량을 달성한다.
- 온디맨드 인스턴스 사용 대비 비용을 2.4배 절감하여 강력한 비용 효율성을 입증한다.
- 빈번한 전환 상황에서 체크포인팅 기법은 GPT-2(64개 스폟 인스턴스 사용 시)에서 학습 시간의 최대 77%를 낭비하는 반면, Bamboo는 이에 뛰어나게 성능을 높인다.
- Bamboo의 부가적 계산 기법은 추가 오버헤드나 자원 경쟁을 유발하지 않으면서도, 공백 상태인 파이프라인 버블을 효과적으로 메운다.
- 여섯 가지 대표적인 DNN 모델에 대해 일관된 처리량 향상과 비용 절감 효과를 보이며, 성능 향상이 뚜렷하다.
- Bamboo의 설계는 파이프라인 병렬 처리와 순수 데이터 병렬 처리 모두에 일반화 가능하여, 대규모 DNN 학습 분야에 넓은 적용 가능성을 지닌다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.