Skip to main content
QUICK REVIEW

[논문 리뷰] ImageNet Training in Minutes

Yang You, Zhao Zhang|arXiv (Cornell University)|2017. 09. 14.
Advanced Neural Network Applications참고 문헌 24인용 수 45
한 줄 요약

이 논문은 LARS 최적화기(Layer-wise Adaptive Rate Scaling)를 사용함으로써 2048개의 KNL 프로세서를 사용해 ResNet-50을 ImageNet-1k에서 단 20분 만에 훈련시킬 수 있음을 보여주며, 상위 1위 정확도 74.9%를 달성한다—이는 기존 최상위 성능 결과를 15분 만에 달성하는 데 비해 훈련 시간은 14분으로 줄였다. 이 방법은 배치 크기를 최대 32K까지 유지하면서 대규모 배치 확률적 경사 하강법을 효율적으로 스케일링하여 성능 저하 없이 훈련 시간을 크게 단축시킨다.

ABSTRACT

Finishing 90-epoch ImageNet-1k training with ResNet-50 on a NVIDIA M40 GPU takes 14 days. This training requires 10^18 single precision operations in total. On the other hand, the world's current fastest supercomputer can finish 2 * 10^17 single precision operations per second (Dongarra et al 2017, https://www.top500.org/lists/2017/06/). If we can make full use of the supercomputer for DNN training, we should be able to finish the 90-epoch ResNet-50 training in one minute. However, the current bottleneck for fast DNN training is in the algorithm level. Specifically, the current batch size (e.g. 512) is too small to make efficient use of many processors. For large-scale DNN training, we focus on using large-batch data-parallelism synchronous SGD without losing accuracy in the fixed epochs. The LARS algorithm (You, Gitman, Ginsburg, 2017, arXiv:1708.03888) enables us to scale the batch size to extremely large case (e.g. 32K). We finish the 100-epoch ImageNet training with AlexNet in 11 minutes on 1024 CPUs. About three times faster than Facebook's result (Goyal et al 2017, arXiv:1706.02677), we finish the 90-epoch ImageNet training with ResNet-50 in 20 minutes on 2048 KNLs without losing accuracy. State-of-the-art ImageNet training speed with ResNet-50 is 74.9% top-1 test accuracy in 15 minutes. We got 74.9% top-1 test accuracy in 64 epochs, which only needs 14 minutes. Furthermore, when we increase the batch size to above 16K, our accuracy is much higher than Facebook's on corresponding batch sizes. Our source code is available upon request.

연구 동기 및 목표

  • LARS 최적화기가 더 많은 프로세서로 DNN 훈련을 효율적으로 스케일링할 수 있는지 조사하기 위해.
  • 단일 GPU에서 14일이 걸리는 ImageNet-1k 훈련 시간을 대규모 배치 동기 SGD를 통해 분 단위로 단축시키기 위해.
  • 데이터 증강 없이도 매우 큰 배치 크기(최대 32K)에서도 높은 테스트 정확도(상위 1위 정확도 74.9%)를 유지하기 위해.
  • 대규모 배치 크기에서 데이터 증강의 영향을 정확도에 미치는 영향을 평가하기 위해.
  • LARS를 사용한 대규모 배치 훈련이 ResNet-50 및 AlexNet에서 최상의 속도-정확도 트레이드오프를 달성할 수 있음을 입증하기 위해.

제안 방법

  • 극히 큰 배치 크기(최대 32K)에서 안정적인 훈련을 가능하게 하기 위해 계층별 적응 학습률 스케일링(LARS) 알고리즘을 활용하였다.
  • 1024개의 CPU(_RESERVED)에서 32K 배치 크기로 확장된 동기 확률적 경사 하강법(SGD)을 사용하였다.
  • 기울기 노름과 가중치 노름의 비율에 따라 각 계층별로 학습률을 조정하여 모델 정확도를 유지하였다.
  • 배치 크기를 증가시켜 계산과 통신의 균형을 최적화하고, 반복 횟수와 통신 라운드 수를 줄였다.
  • 큰 배치 크기에서의 훈련 안정성을 높이기 위해 웜업 학습률 스케줄을 사용하였다.
  • 대규모 배치 크기에서 데이터 증강 유무에 따른 정확도를 비교하기 위한 분석 연구를 수행하였다.

실험 결과

연구 질문

  • RQ1LARS 최적화기가 ImageNet-1k에서 최대 32K의 배치 크기에서도 안정적이고 정확한 훈련을 가능하게 할 수 있는가?
  • RQ2정확도 저하를 최소화하면서 LARS를 사용한 DNN 훈련에서 효율적으로 활용할 수 있는 최대 프로세서 수는 얼마인가?
  • RQ3LARS를 사용할 경우 배치 크기와 프로세서 수가 증가함에 따라 훈련 시간은 어떻게 스케일링되는가?
  • RQ4표준 훈련 대비 대규모 배치 크기에서 데이터 증강이 없는 경우 정확도에 어떤 영향을 미치는가?
  • RQ5LARS를 사용한 대규모 배치 훈련이 이전 방법보다 훨씬 적은 훈련 분량으로 최상의 정확도를 달성할 수 있는가?

주요 결과

  • 1024개의 CPU와 32K 배치 크기를 사용해 AlexNet을 위한 100에포크 ImageNet 훈련이 11분 만에 완료되었으며, 상위 1위 정확도 58.6%를 달성하였다.
  • 2048개의 KNL 프로세서와 32K 배치 크기를 사용해 ResNet-50을 위한 90에포크 ImageNet 훈련이 20분 만에 완료되었으며, 상위 1위 정확도 74.9%를 달성하였다.
  • 저자들은 뿌리 64에포크(14분)만에 74.9% 상위 1위 정확도를 달성하였으며, 이는 동일한 정확도를 달성하는 데 15분이 소요된 최상위 성능 결과를 뛰어넘었다.
  • 16K 이상의 배치 크기에서는 특히 데이터 증강 없이도 페이스북의 해당 결과보다 유의미하게 높은 정확도를 달성하였다.
  • 통신 볼륨은 배치 크기에 비례하여 감소하여, 동일한 수의 부동소수점 연산에서 소규모 배치 훈련 대비 데이터 이동을 최대 90%까지 줄였다.
  • LARS 기반 훈련은 높은 정확도 스케일링 효율성을 유지하였으며, 대규모 배치 크기에서 이전 방법 대비 속도-정확도 트레이드오프 측면에서 뛰어난 성능을 보였다.

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

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

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

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