Skip to main content
QUICK REVIEW

[論文レビュー] ImageNet Training in Minutes

Yang You, Zhao Zhang|arXiv (Cornell University)|Sep 14, 2017
Advanced Neural Network Applications参考文献 24被引用数 45
ひとこと要約

この論文は、Layer-wise Adaptive Rate Scaling (LARS) 最適化手法を用いることで、2048個のKNLプロセッサを用いてImageNet-1kのResNet-50をたった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)で安定した学習を実現するため、Layer-wise Adaptive Rate Scaling (LARS) アルゴリズムを活用した。
  • 1024CPU(AlexNet)および2048KNL(ResNet-50)でスケーリングするため、段階的に増加するバッチサイズを用いた同期確率的勾配降下法(SGD)を採用した。
  • 勾配ノルムと重みノルムの比に基づいて、各層ごとに学習率を適応的に調整することで、モデルの精度を維持した。
  • バッチサイズの増加により通信と計算のバランスを最適化し、反復回数と通信ラウンド数を削減した。
  • 大バッチサイズでの学習安定化のため、ウォームアップ学習率スケジュールを採用した。
  • 大バッチサイズにおけるデータ拡張の有無を比較するアブレーションスタディを実施した。

実験結果

リサーチクエスチョン

  • RQ1LARS最適化手法は、ImageNet-1kで最大32Kのバッチサイズにおいて、安定的かつ正確な学習を可能にするか?
  • RQ2LARSを用いたDNN学習で、精度の低下を最小限に抑えながら効率的に利用可能なプロセッサの最大数はどれくらいか?
  • RQ3LARSを用いた場合、バッチサイズとプロセッサ数を増加させた際の学習時間のスケーリング特性はいかほどか?
  • RQ4データ拡張なしの場合、大バッチサイズにおける精度は標準的な学習と比べてどの程度低下するか?
  • RQ5LARSを用いた大バッチ学習は、先行手法よりも著しく少ない学習分で最先端の精度に到達できるか?

主な発見

  • 1024CPUを用いたAlexNetの100エポック分のImageNet学習は、バッチサイズ32Kで11分間で完了し、トップ-1精度58.6%を達成した。
  • 2048KNLプロセッサを用いたResNet-50の90エポック分のImageNet学習は、バッチサイズ32Kで20分間で完了し、トップ-1精度74.9%を達成した。
  • 著者らは、64エポック(14分間)で74.9%のトップ-1精度を達成し、同水準の精度に到達するための15分間を要する最先端の結果を上回った。
  • 16K以上のバッチサイズでは、本手法は特にデータ拡張なしの場合、Facebookの同条件における結果よりも顕著に高い精度を達成した。
  • 通信量はバッチサイズに比例して減少し、同じ浮動小数点演算数において、小バッチ学習と比較してデータ移動量を最大90%まで削減した。
  • LARSに基づく学習は高い精度スケーリング効率を維持し、大バッチサイズにおける速度-精度トレードオフの観点で、先行手法を上回った。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。