Skip to main content
QUICK REVIEW

[論文レビュー] Exploring Hidden Dimensions in Parallelizing Convolutional Neural Networks

Zhihao Jia, Sina Lin|arXiv (Cornell University)|Feb 14, 2018
Advanced Neural Network Applications参考文献 21被引用数 51
ひとこと要約

各CNNレイヤーが独自の並列化戦略を使用できる層ごとの並列化を導入し、グラフベースのコストモデルでレイヤーごとの実行を最適化してスループットを向上させ、精度を犠牲にせず通信を削減する。

ABSTRACT

The past few years have witnessed growth in the computational requirements for training deep convolutional neural networks. Current approaches parallelize training onto multiple devices by applying a single parallelization strategy (e.g., data or model parallelism) to all layers in a network. Although easy to reason about, these approaches result in suboptimal runtime performance in large-scale distributed training, since different layers in a network may prefer different parallelization strategies. In this paper, we propose layer-wise parallelism that allows each layer in a network to use an individual parallelization strategy. We jointly optimize how each layer is parallelized by solving a graph search problem. Our evaluation shows that layer-wise parallelism outperforms state-of-the-art approaches by increasing training throughput, reducing communication costs, achieving better scalability to multiple GPUs, while maintaining original network accuracy.

研究の動機と目的

  • 異なる層特性のため、CNN層全体で柔軟な並列化が必要であることを動機づける。
  • 層ごとの設定を可能にしネットワークの精度を維持するために層ごとの並列化を提案する。
  • グローバルに最適な層ごとの並列化戦略を見つけるためのコストモデルとグラフ探索アルゴリズムを開発する。
  • 標準的なCNNにおいて最先端手法よりもスループットと通信の改善を示す。

提案手法

  • 各レイヤの並列化構成を、各次元の並列度の積として定義する。
  • t_c、t_x、および t_s を用いて計算と通信コストをモデル化し、レイヤーごとおよびレイヤー間のタイミングを推定する。
  • 最適化を、デバイスグラフと計算グラフ上のグラフ探索問題に変換し、動的計画法を用いる。
  • 最適な戦略を保持しつつ計算グラフを簡略化するために、ノードおよびエッジの削除削減を適用する。
  • コストモデルの下でグローバルに最適な層ごとの戦略を計算するアルゴリズム(Algorithm 1)を提供する。

実験結果

リサーチクエスチョン

  • RQ1層ごとの並列化はCNN学習においてデータ並列やモデル並列などの単一戦略よりも性能を上回るか?
  • RQ2コストモデルとグラフベースの探索を用いて、反復ごとの時間を最小化する層ごとの並列化構成をいかに特定できるか?
  • RQ3標準的なCNNにおける層ごとの並列化がスループットとデバイス間通信へ与える影響は何か?
  • RQ4提案手法は大規模なGPUクラスタや異なるCNNアーキテクチャに対してどの程度スケールするか?
  • RQ5学習された戦略は元のネットワーク精度を維持するか?

主な発見

  • 層ごとの並列化は、AlexNet、VGG-16、Inception-v3で16 GPUsを対象とした最先端手法と比較して、トレーニングスループットを1.4–2.2×向上させる。
  • 層ごとの並列化は、データ並列およびモデル並列と比較して通信コストを1.3–23.0×削減する。
  • 層ごとの並列化はより良いスケーラビリティを達成し、例えばInception-v3では1から16GPUへ拡張して15.5×のスピードアップを達成、他の戦略では最大11.2×に留まる。
  • コストモデルは、テストした構成全体で1ステップあたりの実行時間を測定値の約10%以内に推定する。
  • このアプローチはデータ/モデル並列と同じネットワークを学習し、元のネットワーク精度を維持しつつ実行時性能を向上させる。

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

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

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

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