ソニーの研究者チームは 11 月 13 日、2,100 の NVIDIA Tesla V100 Tensor コア GPU を用いて、わずか 224 秒 (3 分 44 秒) で ImageNet/ResNet 50 を 75 パーセントの精度でトレーニングし、トレーニング速度の新記録を樹立したと発表しました。この記録は、ResNet-50 でこれまで公表されたなかで報告された最速のトレーニング時間となります。
このチームは、1,088 の NVIDIA Tesla V100 Tensor コア にて、90% を越える、GPU スケーリングの効率性も達成しました。
ImageNet/ResNet-50 のトレーニングと GPU スケーリングの効率性
Processor | Interconnect | GPU scaling efficiency | |
---|---|---|---|
Goyal et al. [1] | Tesla P100 x256 | 50Gbit Ethernet | ∼90% |
Akiba et al. [5] | Tesla P100 x1024 | Infiniband FDR | 80% |
Jia et al. [6] | Tesla P40 x2048 | 100Gbit Ethernet | 87.90% |
This work | Tesla V100 x1088 | Infiniband EDR x2 | 91.62% |
ImageNet/ResNet-50 でのトレーニング時間と最高検証精度「データセットとディープラーニング用ディープ ニューラル ネットワーク (DNN) モデルの規模が拡大するにつれ、モデルのトレーニングに必要な時間も増加した」とソニー チームは、自らの論文のなかで述べています。
Batch Size | Processor | DL Library | Time | Accuracy | |
---|---|---|---|---|---|
He et al. | 256 | Tesla P100 x8 | Caffe | 29 hours | 75.30% |
Goyal et al. | 8K | Tesla P100 x256 | Caffe2 | 1 hour | 76.30% |
Smith et al. | 8K→16K | full TPU Pod | TensorFlow | 30 mins | 76.10% |
Akiba et al. | 32K | Tesla P100 x1024 | Chainer | 15 mins | 74.90% |
Jia et al. | 64K | Tesla P40 x2048 | TensorFlow | 6.6 mins | 75.80% |
This work | 34K→68K | Tesla V100 x2176 | NNL | 224 secs | 75.03% |
チームによれば、この記録を達成するために、研究者たちは、大規模なミニバッチ トレーニングの不安定さと同期化通信のオーバーヘッドという、大規模分散トレーニングにおける、2 つの大きな問題に対処する必要があったということです。
研究者たちは次のように話しています。「バッチ サイズを制御する技術を導入して、大規模なミニバッチ トレーニングの不安定さという問題に対処しました。また、私たちは、2D トーラスにおける Allreduce のスキームを開発して、GPU を横断して勾配を効率的に交換できるようにしました」
2D トーラスは、集団演算における通信オーバーヘッドを削減する、効率的な通信トポロジとなっています。
ソフトウェア: チームは次のようにコメントしています。「私たちは、DNN のトレーニング フレームワークとして、ニューラル ネットワーク ライブラリ (NNL) とその CUDA 拡張を使用しました。さらに、NNL のバージョン 1.0.0 をベースとした開発ブランチを使用しました。GPU 内で DNN のトレーニングを行うのに、cuDNN のバージョン 7.3.1 を実装した、CUDA のバージョン 9.0 を採用しました」
「我々は、NCCL のバージョン 2.3.5 と OpenMPI のバージョン 2.1.3 を通信ライブラリとして使用した。NCCL2 には、2D トーラスの Allreduce のスキームが実装されている。上記のソフトウェアは、Singularity コンテナにパッケージされている。我々は、Singularity のバージョン 2.5.2 を使い、分散 DNN トレーニングを実施した」とチームは論文で述べています。
本プロジェクトでは、ソニーが開発したディープラーニング開発用のフレームワーク「コア ライブラリ: Neural Network Libraries」と、産業技術総合研究所 (AIST) が構築/運用している世界トップクラスのコンピューティング基盤、「AI 橋渡しクラウド」(ABCI) が活用されました。本システムは、4,300 以上の NVIDIA Volta Tensor コア GPU が搭載されています。