Skip to main content
QUICK REVIEW

[論文レビュー] Unifying Data, Model and Hybrid Parallelism in Deep Learning via Tensor Tiling

Minjie Wang, Chien-Chin Huang|arXiv (Cornell University)|May 10, 2018
Parallel Computing and Optimization Techniques参考文献 52被引用数 14
ひとこと要約

この論文では、通信オーバーヘッドを最小限に抑える最適なテンソルタイリングを通じて、ディープラーニングにおけるデータ、モデル、ハイブリッド並列化を統合するSoyBeanというシステムを提案する。並列化をテンソルタイリング問題としてモデル化し、構造的なDNNデータフロー・グラフ上で動的計画法を適用することで、8-GPU環境下でAlexNetおよびVGGに対して純粋なデータ並列化よりも1.5倍〜4倍の高速化を達成した。

ABSTRACT

Deep learning systems have become vital tools across many fields, but the increasing model sizes mean that training must be accelerated to maintain such systems' utility. Current systems like Tensorflow and MXNet focus on one specific parallelization strategy, data parallelism, which requires large training batch sizes in order to scale. We cast the problem of finding the best parallelization strategy as the problem of finding the best tiling to partition tensors with the least overall communication. We propose an algorithm that can find the optimal tiling. Our resulting parallelization solution is a hybrid of data parallelism and model parallelism. We build the SoyBean system that performs automatic parallelization. SoyBean automatically transforms a serial dataflow graph captured by an existing deep learning system frontend into a parallel dataflow graph based on the optimal tiling it has found. Our evaluations show that SoyBean is 1.5x-4x faster than pure data parallelism for AlexNet and VGG. We present this automatic tiling in a new system, SoyBean, that can act as a backend for Tensorflow, MXNet, and others.

研究の動機と目的

  • 分散システムにおける通信オーバーヘッドが原因で生じるスケーラビリティのボトル neck を解消すること。
  • 大規模バッチサイズを必要とし、モデルの精度を低下させる単一のデータ並列化に依存する既存のシステムの限界を克服すること。
  • テンソルタイリングに基づく単一のフレームワークで、データ、モデル、ハイブリッド並列化を統合し、通信量を最小限に抑えるパーティショニング戦略を可能にすること。
  • 既存のディープラーニングフレームワーク(TensorFlow や MXNet など)と統合可能な、自動的かつバックエンド非依存のシステムを開発すること。
  • データフロー・グラフ上のタイリング最適化として問題を定式化することで、最適かつスケーラブルなDNN並列化の解決策を提供すること。

提案手法

  • テンソルを異なる次元に沿ってタイリングすることで並列化を可能にするデータフロー・グラフとしてディープラーニング計算をモデル化する。
  • 各テンソルの最適なタイリング戦略を選択することで、合計通信コストを最小化する形で並列化問題を定式化する。
  • DNNの階層的・レイヤー構造を活用し、データフロー・グラフを効率的な動的計画法に適したレベルの連鎖に再編集する。
  • サイズ、形状、モデル構成を考慮した上で、各テンソルの最適なタイリング構成を再帰的動的計画法で計算する。
  • デバイス間のデータ移動を表す重み付き通信コストグラフを構築し、タイリング意思決定をガイドする。
  • MXNet用のC++バックエンドプラグインとしてSoyBeanを実装し、シリアルデータフロー・グラフを最適化された並列グラフに自動変換可能にする。

実験結果

リサーチクエスチョン

  • RQ1共通のタイリング抽象化を通じて、ディープラーニングにおけるデータ、モデル、ハイブリッド並列化を統合するフレームワークは可能か?
  • RQ2DNN計算内のすべてのテンソルにわたって通信コストを最小限に抑える最適なタイリング戦略を特定することは可能か?
  • RQ3最適なタイリング戦略の性能は、さまざまなDNNアーキテクチャにおいて、純粋なデータ並列化やモデル並列化と比較してどのように異なるか?
  • RQ4構造的なDNNデータフロー・グラフに対して動的計画法を効果的に適用することで、タイリング問題の近似最適解または正確な解を効果的に得られるか?
  • RQ5既存のディープラーニングフレームワークに、フ론トエンドの変更なしに自動タイリングシステムを統合できる範囲はどの程度か?

主な発見

  • 8-GPU環境でSoyBeanは、AlexNetおよびVGGの純粋なデータ並列化に対して1.5倍〜4倍の高速化を達成した。
  • SoyBeanが特定した最適なタイリング戦略は、データ並列化とモデル並列化を効果的に組み合わせ、単一戦略アプローチを上回る性能を発揮した。
  • システムは、デバイス間のデータ移動を最小限に抑える次元に沿ってテンソルを知的にパーティショニングすることで、通信オーバーヘッドを削減した。
  • NP困難性を示す一般のタイリング問題とは対照的に、動的計画法アプローチは、レイヤー構造を持つDNNに対して最適なタイリング構成を効果的に計算できた。
  • SoyBeanのバックエンド設計により、MXNet や TensorFlow などの既存のディープラーニングフレームワークとシームレスに統合可能であり、ユーザーのコード変更なしに自動並列化を実現した。
  • 性能向上は、通信コストが支配的になる大規模モデル(例:VGG)において特に顕著であり、本手法のスケーラビリティを示している。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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