ソニー、NVIDIA V100 Tensor コア GPU を使い、ResNet-50 でのトレーニングの新記録を樹立

投稿者: NVIDIA Japan

ソニーの研究者チームは 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 が搭載されています。