Skip to main content
QUICK REVIEW

[論文レビュー] Domain-specific Communication Optimization for Distributed DNN Training

Hao Wang, Jingrong Chen|arXiv (Cornell University)|Aug 16, 2020
Robotics and Automated Systems参考文献 90被引用数 12
ひとこと要約

DLCP は分散 DNN 学習におけるドメイン特化型通信最適化フレームワークであり、限定的損失耐性トランスポート、レイヤーおよび大きさに基づくパケット単位の勾配優先順位付け、およびパケット間順序に依存しない負荷分散を通じて通信オーバーヘッドを低減する。パケットレベルでの細分化でネットワークに配慮した最適化により、最先端のソリューションよりも最大 84.3% の追加的な学習高速化を達成する。

ABSTRACT

Communication overhead poses an important obstacle to distributed DNN training and draws increasing attention in recent years. Despite continuous efforts, prior solutions such as gradient compression/reduction, compute/communication overlapping and layer-wise flow scheduling, etc., are still coarse-grained and insufficient for an efficient distributed training especially when the network is under pressure. We present DLCP, a novel solution exploiting the domain-specific properties of deep learning to optimize communication overhead of DNN training in a fine-grained manner. At its heart, DLCP comprises of several key innovations beyond prior work: e.g., it exploits {\em bounded loss tolerance} of SGD-based training to improve tail communication latency which cannot be avoided purely through gradient compression. It then performs fine-grained packet-level prioritization and dropping, as opposed to flow-level scheduling, based on layers and magnitudes of gradients to further speedup model convergence without affecting accuracy. In addition, it leverages inter-packet order-independency to perform per-packet load balancing without causing classical re-ordering issues. DLCP works with both Parameter Server and collective communication routines. We have implemented DLCP with commodity switches, integrated it with various training frameworks including TensorFlow, MXNet and PyTorch, and deployed it in our small-scale testbed with 10 Nvidia V100 GPUs. Our testbed experiments and large-scale simulations show that DLCP delivers up to $84.3\%$ additional training acceleration over the best existing solutions.

研究の動機と目的

  • ネットワークストレスや尾遅延の下でも継続的に発生する通信ボトルネックの課題に対処すること。
  • 勾配圧縮やフローディスパッチングなどの従来のソリューションで見られる粗い粒度のフローレベル最適化の限界を克服すること。
  • 深層学習のドメイン特化的特性(例えば SGD における限定的損失耐性、レイヤー/大きさによる勾配の重要性)を活用し、細分化されたネットワークリレーベースの最適化を可能にすること。
  • アプリケーションレイヤー以下のトランスポートおよびスケジューリングスタックを設計し、ディープラーニングフレームワークの変更なしにエンドツーエンドの学習効率を向上させること。
  • 尾遅延の低減と負荷分散の向上を通じて顕著な学習加速を達成するとともに、モデルの精度を維持すること。

提案手法

  • SGD が勾配損失に内在的に耐性を示すことに着目し、遅延または損失したパケットのわずかな設定可能な割合(最大 10%)を意図的に破棄または無視する限定的損失耐性トランスポートプロトコルを導入する。
  • スイッチでのパケット単位の優先順位キューイングと破棄を実装し、2 つの次元に基づく:勾配のレイヤー(後方のレイヤーがより重要)と勾配の大きさ(大きな値はより損失に耐性がある)。
  • DNN 学習におけるパケット間順序非依存性を活用し、再順序付けのオーバーヘッドなしにパケット単位の負荷分散を実現することで、ネットワーク設計を簡素化する。
  • パラメータサーバーおよびコラボラティブ通信パターン(例:NCCL)の両方と統合可能であり、TensorFlow、MXNet、PyTorch と互換性がある。
  • 専用ハードウェアに依存せず、商用スイッチを用いて優先順位ベースのスケジューリングと損失耐性を実装する。
  • 再送信タイムアウト(RTO)に依存しない設計を採用しており、TCP ベースのプロトコルに影響を及ぼす RTO 設定の問題に対しても耐性がある。

実験結果

リサーチクエスチョン

  • RQ1SGD に基づく学習における限定的損失耐性を活用することで、モデル収束の劣化を招かずに尾遅延通信時間を短縮できるか?
  • RQ2勾配のレイヤーおよび大きさに基づくパケット単位の優先順位付けが、学習収束の改善と通信ボトルネックの低減にどのように寄与するか?
  • RQ3再順序付けを伴わずにどの程度までパケット単位の負荷分散を達成できるか?また、高濃度状態下でどのような性能向上が得られるか?
  • RQ4ネットワークストレス下での学習高速化と耐性の観点から、DLCP は既存のフローレベル最適化技術と比較してどのように差をつけるか?
  • RQ5モデル固有のチューニングを要せず、さまざまなモデル(例:ResNet50、InceptionV3)や学習ワークロードにおいて、DLCP が顕著な性能向上を達成できるか?

主な発見

  • 大規模シミュレーションにおいて、DLCP は最良の既存ソリューション(ByteScheduler)に対して最大 84.3% の追加的な学習高速化を達成した。
  • 10% の損失耐性バインドを採用した場合、DLCP はベンチマークと同等のモデル精度を維持し、収束曲線はベースラインとほとんど区別がつかない。
  • RTOmin = 1ms 時に最大 84.5%、RTOmin = 5ms 時に最大 83.9% の尾遅延フローフェイルチャームタイム(FCT)低減を達成し、TCP ベースのプロトコルでさえも、攻撃的な RTO 設定下でも DLCP を上回った。
  • 1% と 10% の損失耐性バインドで収束時間がほとんど同一であったため、最適な性能を得るための損失耐性しきい値の微調整は不要であることが示された。
  • 再送信タイムアウト(RTO)の設定問題に対しても DLCP は耐性がある。再送信に依存しないため、誤った再送信やタイマー解像度の制限といった問題を回避できる。
  • DLCP は TensorFlow、MXNet、PyTorch といった複数のディープラーニングフレームワークと互換性があり、パラメータサーバーおよびコラボラティブ通信パターンの両方で動作する。

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

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

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

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