Skip to main content
QUICK REVIEW

[論文レビュー] SparCML: High-Performance Sparse Communication for Machine Learning

Cédric Renggli, Saleh Ashkboos|arXiv (Cornell University)|Feb 22, 2018
Stochastic Gradient Optimization Techniques参考文献 57被引用数 11
ひとこと要約

SparCML は、勾配のスパarsity を活用し、低精度でブロッキングなしの通信を可能にする、機械学習向けの高性能でスパースな通信ライブラリである。すべてのノードで非ゼロ勾配インデックスの重複が未知である状況においても動的に適合するため、密度の高い実装や単純なスパース実装と比べて、順序の桁の高速化を達成している。これは大規模クラスタ上で効率的かつスケーラブルな低減を実現する。

ABSTRACT

Applying machine learning techniques to the quickly growing data in science and industry requires highly-scalable algorithms. Large datasets are most commonly processed "data parallel" distributed across many nodes. Each node's contribution to the overall gradient is summed using a global allreduce. This allreduce is the single communication and thus scalability bottleneck for most machine learning workloads. We observe that frequently, many gradient values are (close to) zero, leading to sparse of sparsifyable communications. To exploit this insight, we analyze, design, and implement a set of communication-efficient protocols for sparse input data, in conjunction with efficient machine learning algorithms which can leverage these primitives. Our communication protocols generalize standard collective operations, by allowing processes to contribute arbitrary sparse input data vectors. Our generic communication library, SparCML, extends MPI to support additional features, such as non-blocking (asynchronous) operations and low-precision data representations. As such, SparCML and its techniques will form the basis of future highly-scalable machine learning frameworks.

研究の動機と目的

  • 大規模分散機械学習における通信ボトル neck を解消すること。特に、密度の高い勾配の allreduce がスケーラビリティを制限する要因である。
  • ディープラーニングで一般的なモデル勾配の内在的スパarsity を活用し、通信量と遅延を削減すること。
  • 機械学習ワークロード向けに、スパースで低精度、非ブロッキングな集合的演算をサポートする汎用通信ライブラリの設計と実装を行うこと。
  • ノード間での非ゼロインデックスの重複が未知である状況に適応できる、効率的なスパース集合的演算を MPI に拡張すること。
  • 既存の ML フレームワークへのシームレスな統合を可能にするとともに、帯域幅と遅延の面でほぼ最適なパフォーマンスを達成すること。

提案手法

  • ノード間での非ゼロ勾配インデックスの重複が未知である状況を動的に処理できる、適応型スパース集合的アルゴリズムの設計。
  • 非ブロッキング操作と低精度データ表現(例:4ビット勾配)をサポートする新しいプリミティブを用いて、MPI を拡張し、スパース allreduce を実装。
  • リダクションフェーズで非ゼロ値のみを転送するように、リダスカートとアングラを組み合わせたハイブリッド通信戦略を実装。
  • スパースベクトルを効率的に符号化するデータ表現を導入し、必要に応じてリダクション中に密度表現に変換する。
  • 大きなモデルにおける通信オーバーヘッドを低減するため、テンソルフュージョンを用いて隣接する勾配を統合。
  • 非ブロッキング操作により計算と通信をオーバーラップし、スパース allreduce パipラインにおける遅延を隠蔽。

実験結果

リサーチクエスチョン

  • RQ1スパース通信プロトコルは、分散機械学習の allreduce 操作において帯域幅と遅延を顕著に削減できるか?
  • RQ2ノード間で変動する非ゼロインデックスの重複に適応できるように、スパース集合的演算をどのように設計できるか?
  • RQ3低精度および非ブロッキング操作は、機械学習のスパース通信において、さらにどの程度パフォーマンスを向上させられるか?
  • RQ4SparCML のような汎用通信ライブラリは、実世界の ML ワークロードにおいて、高度に最適化された密度実装や単純なスパース実装を上回る性能を発揮できるか?
  • RQ5勾配のスパarsity は大バッチ学習とどのように相互作用するか?また、SparCML はこのようなシナリオをサポートするように拡張可能か?

主な発見

  • SparCML は、合成ベンチマークおよび実際の ML ワークロードにおいて、高度に最適化された密度実装よりも順序の桁の高速化を達成している。
  • ライブラリは、特に ReLU 活性化関数を用いた深層ネットワークにおいて頻繁にゼロまたは近似ゼロとなる勾配のスパarsity を活用することで、通信コストを削減している。
  • SparCML は効率的な 4 ビット精度のリダクションをサポートしており、収束に影響を与えることなく帯域幅を大幅に節約できる。
  • 帯域幅と遅延の面で、理論的限界の定数倍の範囲内でほぼ最適なパフォーマンスを示している。
  • SparCML の非ブロッキング操作により、計算と通信のオーバーラップが効果的に実現され、さらにスケーラビリティが向上している。
  • SparCML は既存の ML フレームワークにシームレスに統合可能であり、テンソルフュージョンをサポートすることで、大規模モデルにおける通信フェーズ数を削減している。

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

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

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

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