Skip to main content
QUICK REVIEW

[논문 리뷰] Efficient and Robust Parallel DNN Training through Model Parallelism on Multi-GPU Platform

Chi‐Chung Chen, Chia-Lin Yang|arXiv (Cornell University)|2018. 09. 08.
Advanced Neural Network Applications참고 문헌 49인용 수 78
한 줄 요약

이 논문은 SpecTrain이라는 파이프라인식 모델 병렬화의 가중치 예측 기법을 제시하여 다중-GPU DNN 학습에서의 staleness를 완화하고, 데이터 병렬성과의 정확도 비교를 유지하며 4개의 GPU에서 최대 8.91x의 속도 향상을 달성합니다.

ABSTRACT

The training process of Deep Neural Network (DNN) is compute-intensive, often taking days to weeks to train a DNN model. Therefore, parallel execution of DNN training on GPUs is a widely adopted approach to speed up the process nowadays. Due to the implementation simplicity, data parallelism is currently the most commonly used parallelization method. Nonetheless, data parallelism suffers from excessive inter-GPU communication overhead due to frequent weight synchronization among GPUs. Another approach is pipelined model parallelism, which partitions a DNN model among GPUs, and processes multiple mini-batches concurrently. This approach can significantly reduce inter-GPU communication cost compared to data parallelism. However, pipelined model parallelism faces the weight staleness issue; that is, gradients are computed with stale weights, leading to training instability and accuracy loss. In this paper, we present a pipelined model parallel execution method that enables high GPU utilization while maintaining robust training accuracy via a novel weight prediction technique, SpecTrain. Experimental results show that our proposal achieves up to 8.91x speedup compared to data parallelism on a 4-GPU platform while maintaining comparable model accuracy.

연구 동기 및 목표

  • 다중-GPU 플랫폼에서 GPU 간 통신 오버헤드로 인한 데이터 병렬성의 한계를 동기부여하고 분석합니다.
  • GPU 활용도 향상과 GPU 간 데이터 전송 감소를 위해 파이프라인식 모델 병렬화를 모색합니다.
  • 파이프라인식 모델 병렬화에 내재된 가중치 오래됨 문제를 식별하고 해결합니다.
  • 훈련의 견고성과 정확성을 유지하기 위한 스무스한 기울긋값 기반의 가중치 예측 기법인 SpecTrain을 도입합니다.
  • 다양한 CNN, FCN, RNN 모델에서 4-GPU 플랫폼에서 처리량과 정확도를 평가합니다.

제안 방법

  • PipeDream에서 파생된 파이프라인식 모델 병렬 학습 프레임워크를 채택하고 가중치 예측을 위한 SpecTrain을 도입합니다.
  • 모멘텀 SGD의 스무스한 그래디언트를 사용해 초기 파이프라인 단계 동안 가중치 업데이트를 추정합니다.
  • W_hat_{t+s} = W_t - s * eta * v_{t-1}의 식으로 예측 가중치를 계산하며, v_{t-1}은 스무스한 그래디언트입니다.
  • GPU 인덱스와 미니배치가 순방향/역전파 중 어느 단계에 있는지에 따라 버전 차이 s를 결정합니다(논문에 구체적 수식 제시).
  • CIFAR-10/IMDb 데이터셋에서 6개 모델(CNN, FCN, RNN)에 대해 Data Parallelism, Vanilla Model P., PipeDream(Weight Stashing), SpecTrain를 비교합니다.
  • 처리량, 수렴 거동 및 정확도 분석을 제공해 견고성과 성능 향상을 입증합니다.

실험 결과

연구 질문

  • RQ1데이터 병렬성이 다중-GPU 플랫폼에서 GPU 간 통신 및 학습 효율성 측면에서 모델 병렬성과 어떻게 비교되는가?
  • RQ2파이프라인식 모델 병렬화가 정확도에 손실을 주지 않으면서 높은 GPU 활용도를 달성할 수 있는가, 가중치 오래됨을 완화하는 메커니즘은 무엇인가?
  • RQ3SpecTrain의 가중치 예측이 데이터 병렬성 및 기존 파이프라인 방식에 비해 처리량 향상을 제공하면서 모델 정확도를 유지하거나 개선하는가?
  • RQ4다중-GPU 시스템에서 CNN, FCN, RNN 모델에 대한 SpecTrain의 성능/정확성 트레이드-오프는 어떠한가?

주요 결과

Parallelization SchemeMin. Train LossMin. Val LossMax. Val Accuracy
VGG16Data P.0.2132710.79461373.4776%
VGG16Vanilla Model P.0.2041260.81114873.0569%
VGG16PipeDream0.2005850.81114472.8365%
VGG16SpecTrain0.1855660.79601773.8081%
ResNet-152Data P.0.3388450.89236671.2139%
ResNet-152Vanilla Model P.0.2543270.94558870.3225%
ResNet-152PipeDream0.4675270.97940167.9287%
ResNet-152SpecTrain0.2317240.92424170.9936%
Inception v4Data P.0.8044750.91315569.1607%
Inception v4Vanilla Model P.0.8588340.91947068.6599%
Inception v4PipeDream0.8641990.93032068.5297%
Inception v4SpecTrain0.7569390.87489870.7732%
SNNData P.0.4318321.4512450.9115%
SNNVanilla Model P.0.7665521.44020050.6911%
SNNPipeDream0.8104521.45023950.4107%
SNNSpecTrain0.7244021.40644752.0733%
TransformerData P.0.6492870.66087160.3265%
TransformerVanilla Model P.0.6558010.66237960.0963%
TransformerPipeDream0.6558770.66254459.9760%
TransformerSpecTrain0.6521930.66250260.1362%
Residual LSTMData P.0.3477420.65858366.0557%
Residual LSTMVanilla Model P.0.4599750.65265165.0240%
Residual LSTMPipeDream0.4675950.65294864.8137%
Residual LSTMSpecTrain0.4548130.65225164.8137%
  • 모델 병렬화는 데이터 병렬성에 비해 GPU 간 통신을 더 크게 줄여(평균 13.4x 감소, 테스트 모델 전반에 걸쳐 최대 528x), 효율성을 높인다.
  • 오래됨 완화가 없는 파이프라인식 모델 병렬화는 특히 더 큰 모델에서 불안정하고 정확도를 저하시킬 수 있다.
  • SpecTrain은 오래됨을 완화하는 가중치 예측을 제공하여 대부분의 워크로드에서 데이터 병렬성과 유사한 학습 곡선 및 최종 정확도를 얻는다.
  • 4-GPU 시스템에서 SpecTrain은 FCN/RNN 모델에 대해 데이터 병렬성 대비 최대 8.91x의 처리량 향상을 달성하며, 대부분의 경우 데이터 병렬성과 비교해 정확도 손실이 없다.
  • PipeDream과 비교해 SpecTrain은 가중치 저장 대기열에서 발생하는 추가 메모리 오버헤드를 피하고 안정성과 정확성을 유지한다.
  • Transformer 및 기타 CNN/RNN 모델에서 SpecTrain은 데이터 병렬성과 근접한 학습 손실 및 검증 정확도로 견고함을 유지하는 반면, Vanilla Model P. 및 PipeDream은 여러 모델에서 정확도 페널티를 야기할 수 있다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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