[論文レビュー] HyPar: Towards Hybrid Parallelism for Deep Learning Accelerator Array
HyParは、DNNアクセラレータアレイにおけるレイヤー単位のハイブリッド並列化を最適化する階層的動的計画法を提案する。トレーニング中のプロセッサ間通信を最小限に抑える。10個のDNNモデルにおいて、デフォルトのデータ並列化と比較して3.39倍の高速化と1.51倍のエネルギー効率向上を達成し、モデル並列化や先行の「ワンワケトリック」ヒューリスティックを上回る性能を発揮する。
With the rise of artificial intelligence in recent years, Deep Neural Networks (DNNs) have been widely used in many domains. To achieve high performance and energy efficiency, hardware acceleration (especially inference) of DNNs is intensively studied both in academia and industry. However, we still face two challenges: large DNN models and datasets, which incur frequent off-chip memory accesses; and the training of DNNs, which is not well-explored in recent accelerator designs. To truly provide high throughput and energy efficient acceleration for the training of deep and large models, we inevitably need to use multiple accelerators to explore the coarse-grain parallelism, compared to the fine-grain parallelism inside a layer considered in most of the existing architectures. It poses the key research question to seek the best organization of computation and dataflow among accelerators. In this paper, inspired by recent work in machine learning systems, we propose a solution HyPar to determine layer-wise parallelism for deep neural network training with an array of DNN accelerators. HyPar partitions the feature map tensors (input and output), the kernel tensors, the gradient tensors, and the error tensors for the DNN accelerators. A partition constitutes the choice of parallelism for weighted layers. The optimization target is to search a partition that minimizes the total communication during training a complete DNN. To solve this problem, we propose a communication model to explain the source and amount of communications. Then, we use a hierarchical layer-wise dynamic programming method to search for the partition for each layer.
研究の動機と目的
- 大規模なDNNトレーニングにおける頻繁なオフチップメモリアクセスが引き起こすパフォーマンスおよびエネルギーのボトル neck を解消すること。
- 個々のレイヤー内の細粒度並列化を超えて、複数のアクセラレータにまたがる粗粒度並列化を検討すること。
- 全プロセッサ間の合計通信量を最小化するように、特徴マップ、カーネル、勾配、誤差をレイヤー単位で最適に分割する方法を特定すること。
- トポロジーに依存しないスケーラブルなハイブリッド並列化ソリューションを設計し、デフォルトのデータ並列化やモデル並列化を上回ること。
- LeNetからVGGに至る多様なDNNアーキテクチャを、現実的なトレーニングワークロード下で評価すること。
提案手法
- HyParは、DNNトレーニング中の全プロセッサ間通信量を最小化する問題として、並列化構成の最適化を定式化する。
- 特徴マップ、カーネル、勾配、誤差テンソルのテンソルサイズと分割戦略に基づいて、データ移動量を定量化する通信モデルを導入する。
- 線形時間計算量を持つ階層的・レイヤー単位の動的計画法アルゴリズムを用いて、最適な分割構成を探索する。
- 本手法は、データ並列化(dp)とモデル並列化(mp)の両方、およびそれらのハイブリッド組み合わせ(例:mp-dp、dp-mp)を各レイヤーでサポートする。
- トポロジーに依存しないアプローチであり、H-tree やトーラスなどのさまざまなインタコネクトに展開可能で、HMCベースのアーキテクチャを用いて評価される。
- 分割意思決定を支援するため、重み更新テンソルの面積(A(ΔW))やフォワード特徴テンソルの面積(A(F))といった解析的指標を用いる。
実験結果
リサーチクエスチョン
- RQ1マルチアクセラレータDNNトレーニングにおいて、合計通信量を最小化する最適なレイヤー単位の並列化構成(データ、モデル、またはハイブリッド)は何か?
- RQ2パフォーマンスおよびエネルギー効率の観点で、ハイブリッド並列化はデフォルトのデータ並列化やモデル並列化と比べてどのように異なるか?
- RQ3トポロジーに依存しない通信モデルと動的計画法アプローチは、多様なDNNアーキテクチャにわたり、プロセッサ間データ移動を効果的に最小化できるか?
- RQ4HyParの分割戦略は、[107]における「ワンワケトリック」というヒューリスティック手法と比べてどのように異なるか?
- RQ5通信モデルは、テンソルサイズと依存関係のパターンに基づいて、各レイヤーにおける最良の並列化選択を正確に予測できるか?
主な発見
- HyParは、10個のDNNモデルにおいて、デフォルトのデータ並列化と比較して平均3.39倍のパフォーマンス向上と1.51倍のエネルギー効率向上を達成する。
- ハイブリッド並列化は、デフォルトのデータ並列化やモデル並列化を上回り、最適な構成はレイヤーやモデルごとに異なる。
- 平均して、HyParは[107]のヒューリスティック「ワンワケトリック」と比較して1.62倍速く、1.22倍エネルギー効率が良い。特定のケースでは最大2.40倍の高速化を達成する。
- H-treeインタコネクトトポロジーはトーラスを2.23倍の幾何平均で上回るが、HyParのトポロジー非依存性により、あらゆるトポロジーにわたり高い耐性を示す。
- 通信モデルは、conv5ではA(ΔW) < A(F)であるためモデル並列化が適切であると正しく特定するが、[107]のヒューリスティックでは誤って異なる選択をしている。
- fc3のような全結合レイヤーでは、A(ΔW) = A(F)であるため、層間通信解析によりデータ並列化がより適切であることが確認されるが、ヒューリスティックは誤ってモデル並列化を選択している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。