Skip to main content
QUICK REVIEW

[論文レビュー] Benchmarking State-of-the-Art Deep Learning Software Tools

Shaohuai Shi, Qiang Wang|arXiv (Cornell University)|Aug 25, 2016
Advanced Neural Network Applications参考文献 22被引用数 70
ひとこと要約

この論文は、Caffe、CNTK、MXNet、TensorFlow、Torch の5つの最先端のディープラーニングフレームワークを、複数のニューラルネットワーク型(FCN、CNN、RNN)およびハードウェアプラットフォーム(CPUとGPU)でベンチマークしている。性能はフレームワーク、ネットワーク型、ハードウェアによって顕著に異なることが明らかになった。CNTKはRNNで優れた性能を示し、MXNetは大規模なCNNで優れている。GPUアクセラレーションはCPUに比べて顕著な高速化を実現しており、マルチGPUスケーリングは勾配集約戦略に大きく依存する。

ABSTRACT

Deep learning has been shown as a successful machine learning method for a variety of tasks, and its popularity results in numerous open-source deep learning software tools. Training a deep network is usually a very time-consuming process. To address the computational challenge in deep learning, many tools exploit hardware features such as multi-core CPUs and many-core GPUs to shorten the training time. However, different tools exhibit different features and running performance when training different types of deep networks on different hardware platforms, which makes it difficult for end users to select an appropriate pair of software and hardware. In this paper, we aim to make a comparative study of the state-of-the-art GPU-accelerated deep learning software tools, including Caffe, CNTK, MXNet, TensorFlow, and Torch. We first benchmark the running performance of these tools with three popular types of neural networks on two CPU platforms and three GPU platforms. We then benchmark some distributed versions on multiple GPUs. Our contribution is two-fold. First, for end users of deep learning tools, our benchmarking results can serve as a guide to selecting appropriate hardware platforms and software tools. Second, for software developers of deep learning tools, our in-depth analysis points out possible future directions to further optimize the running performance.

研究の動機と目的

  • さまざまなニューラルネットワークアーキテクチャ上で、GPUアクセラレーションを活用する主要なフレームワークのパフォーマンスを評価・比較すること。
  • 異なるディープラーニングワークロードに最適なソフトウェア・ハードウェアの組み合わせを特定すること。
  • 特に勾配集約戦略を含むシステム設計の選択がマルチGPUスケーラビリティに与える影響を分析すること。
  • エンドユーザーが効率的なツールとハードウェアを選択するのを支援し、開発者がパフォーマンス最適化の機会を理解するのを支援すること。

提案手法

  • 本研究では、2つのCPUプラットフォーム(Intel i7-3820 および Xeon E5-2630)と3つのGPUプラットフォーム(GTX 980、GTX 1080、Tesla K80)上で、Caffe、CNTK、MXNet、TensorFlow、Torch の5つのディープラーニングフレームワークをベンチマークした。
  • 実験では、全結合ネットワーク(FCN)、畳み込みニューラルネットワーク(CNN)、LSTMを用いた再帰的ニューラルネットワーク(RNN)の小型および大規模バージョンの学習を含めた。
  • パフォーマンスは、合成データと実世界のデータの両方を用いて測定され、主に学習時間とスループットに注目した。
  • マルチGPUパフォーマンスは、2枚のTesla K80カード(4つのGPU)を用いたデータ並列処理で評価され、勾配集約のオーバーヘッドと通信パターンが分析された。
  • カーネル起動パターンや、cuDNNの利用、オートチューニング、メモリのトレードオフといったシステムレベルの最適化も分析された。
  • 詳細なプロファイリングを通じて、カーネル演算、メモリ転送、通信トポロジー(特にPCIe帯域幅の制限)の分析が行われ、結果の妥当性が検証された。

実験結果

リサーチクエスチョン

  • RQ15つのディープラーニングフレームワークは、CPUおよびGPU上で異なるニューラルネットワークアーキテクチャの学習速度において、どのように比較されるか?
  • RQ2ハードウェアプラットフォーム(CPU対GPU)およびGPUモデル(GTX 980、1080、K80)が学習パフォーマンスに与える影響は何か?
  • RQ3マルチGPUデータ並列処理はスケーラビリティにどのように影響し、勾配集約戦略がパフォーマンスに果たす役割は何か?
  • RQ4なぜCNTKはLSTMネットワークを含むRNN学習において他のツールを上回るのか?
  • RQ5設定設定値やシステムレベルの最適化(例:オートチューニング、メモリのトレードオフ)がフレームワークのパフォーマンスにどの程度影響を与えるか?

主な発見

  • 単一GPUでは、CNTKがLSTMベースのRNN学習において、最適化されたカーネル設計と効率的な勾配処理のおかげで、他のツールに比べて最大5〜10倍の効率性を達成している。
  • MXNetは大規模なCNNにおいて最良のパフォーマンスを示し、特にGTX 1080上では、効率的なカーネルフュージョンとcuDNN統合のおかげで他を大きく上回っている。
  • CNTKとMXNetはCNNおよびFCNにおいて優れたマルチGPUスケーリングを示したが、TensorFlowとTorchはCPUベースの勾配集約に起因するボトルネックにより、スケーラビリティが制限された。
  • GTX 1080は、高い計算スループットとメモリ帯域幅のおかげで、ほとんどのベンチマークで最高のパフォーマンスを発揮した。
  • CPU側での勾配集約(TensorFlowやTorchで見られる)は深刻なボトルネックとなっており、PCIe転送時間(1ミニバッチあたり最大0.0256秒)がパフォーマンスに顕著に影響を与えた。
  • システム設計の選択が顕著に影響を及ぼし、CNTKの1ビット確率的勾配降下法やMXNetのGPUベースの集約戦略は、CPU中心のアプローチに比べてマルチGPUスケーリングを著しく向上させた。

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

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

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

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