Skip to main content
QUICK REVIEW

[논문 리뷰] A Study of Checkpointing in Large Scale Training of Deep Neural Networks

Elvis Rojas, Albert Njoroge Kahira|arXiv (Cornell University)|2020. 12. 01.
Adversarial Robustness in Machine Learning참고 문헌 25인용 수 4
한 줄 요약

이 논문은 PyTorch, TensorFlow, Chainer에서 대규모 딥러닝 훈련 환경에서의 체크포인팅을 평가하여 성능 오버헤드, 파일 크기, 확장성 및 결정론적 행동을 측정한다. 연구는 특히 단일 노드 체크포인팅과 비결정론적 행동으로 인한 심각한 체크포인팅 병목 현상을 드러내며, 고성능 컴퓨팅(HPC) 환경에서의 확장 가능한 체크포인팅 솔루션의 필요성을 강조한다.

ABSTRACT

Deep learning (DL) applications are increasingly being deployed on HPC systems, to leverage the massive parallelism and computing power of those systems for DL model training. While significant effort has been put to facilitate distributed training by DL frameworks, fault tolerance has been largely ignored. In this work, we evaluate checkpoint-restart, a common fault tolerance technique in HPC workloads. We perform experiments with three state-of-the-art DL frameworks common in HPC Chainer, PyTorch, and TensorFlow). We evaluate the computational cost of checkpointing, file formats and file sizes, the impact of scale, and deterministic checkpointing. Our evaluation shows some critical differences in checkpoint mechanisms and exposes several bottlenecks in existing checkpointing implementations. We provide discussion points that can aid users in selecting a fault-tolerant framework to use in HPC. We also provide takeaway points that framework developers can use to facilitate better checkpointing of DL workloads in HPC.

연구 동기 및 목표

  • HPC 환경에서 사용되는 주요 딥러닝 프레임워크의 체크포인팅 메커니즘의 성능 및 효율성을 평가하는 것.
  • 다중 GPU 및 노드를 통해 체크포인팅의 계산 오버헤드, 파일 크기, I/O 특성에 대한 분석.
  • 프레임워크 재시작 시 결정론적 훈련 행동과 재현 가능성의 조사.
  • 다중 노드 및 모델 병렬 훈련에 특화된 기존 체크포인팅 지원의 한계 규명.
  • 장애 내성 프레임워크 선택을 위한 실질적 통찰 제공 및 딥러닝 시스템 내 체크포인팅 개선을 위한 개발자 가이드라인 제공.

제안 방법

  • CIFAR-10 데이터셋을 사용하여 다중 GPU에서 데이터 병렬 처리를 적용한 최신 딥러닝 프레임워크인 Chainer, PyTorch, TensorFlow를 벤치마킹.
  • 체크포인팅 오버헤드 측정: 체크포인팅 작업 중 소요 시간, I/O 대역폭, GPU 활용도 분석.
  • 다양한 모델 아키텍처와 스케일에서의 프레임워크 간 체크포인팅 파일 포맷, 크기, 구조 분석.
  • 동일한 시드를 사용한 다중 실행 간 모델 가중치 및 기울기 비교를 통한 결정론적 훈련 및 재시작 행동 평가.
  • 다중 노드 체크포인팅 기능 및 확장성 평가. 특히 분산 환경에서 단일 노드 체크포인팅으로 인한 병목 현상 분석.
  • 통제된 실험과 프로파일링을 조합하여 체크포인팅 파이프라인 내 성능 병목 원인 규명.

실험 결과

연구 질문

  • RQ1분산 딥러닝 훈련에서 GPU 및 노드 수가 증가함에 따라 체크포인팅 오버헤드는 어떻게 변화하는가?
  • RQ2PyTorch, TensorFlow, Chainer 간 파일 크기, 포맷, I/O 패턴의 차이는 무엇인가?
  • RQ3현재 프레임워크들이 결정론적 훈련과 재현 가능한 재시작을 얼마나 잘 지원하는가?
  • RQ4다중 노드 HPC 환경에서 기존 체크포인팅 메커니즘의 확장성에 대한 제약 조건은 무엇인가?
  • RQ5모델 크기 및 아키텍처는 체크포인팅 성능과 메모리 사용에 어떻게 영향을 미치는가?

주요 결과

  • 체크포인팅 오버헤드는 특히 다수의 GPU를 사용할 경우 확장성 증가에 따라 크게 증가하며, 체크포인팅 동안 GPU가 정지하는 시간으로 인해 발생한다.
  • Chainer는 모델 아키텍처에 따라 체크포인팅 파일 크기가 매우 변동성이 크며, PyTorch 및 TensorFlow는 더 일관된 크기 유지.
  • 다중 노드 체크포인팅을 지원하는 유일한 프레임워크이지만, 체크포인팅 시간 향상 없이 중복 복사본을 생성하여 진정으로 병렬화되지 않은 것으로 나타나, 기술적 한계 존재.
  • 결정론적 훈련 옵션을 제공하지만, 모든 프레임워크가 재시작 시 100% 재현 가능성을 보장하지 못하여 핵심 응용 분야에서 재현 가능성에 심각한 영향을 미친다.
  • 단일 노드 체크포인팅 병목 현상으로 인해 다중 노드 HPC 클러스터에서 확장성이 제한되며, 오직 한 노드에서만 체크포인팅을 수행함으로써 성능 핫스팟 발생.
  • 기존 체크포인팅 메커니즘은 부분적 또는 모델 병렬 체크포인팅을 지원하지 않아 대규모 모델 병렬 훈련 환경에 적합하지 않다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.