Skip to main content
QUICK REVIEW

[論文レビュー] Sparse Communication for Training Deep Networks

Negar Foroutan Eghlidi, Martin Jaggi|arXiv (Cornell University)|Sep 19, 2020
Stochastic Gradient Optimization Techniques参考文献 29被引用数 15
ひとこと要約

本稿では、分散型ディープラーニングにおける通信オーバーヘッドを低減しつつ、標準のSGDと同等の訓練精度を維持するシンプルで効果的な勾配圧縮技術、ランダム・ブロックスパース化を提案する。各イテレーションで勾配を固定サイズのブロックに分割し、ランダムに選択されたブロックの送信を実施するとともに、誤差フィードバックを用いることで、特にAllReduce通信を用いたマルチGPU環境下で、標準のSGDよりも高速な訓練を達成する。

ABSTRACT

Synchronous stochastic gradient descent (SGD) is the most common method used for distributed training of deep learning models. In this algorithm, each worker shares its local gradients with others and updates the parameters using the average gradients of all workers. Although distributed training reduces the computation time, the communication overhead associated with the gradient exchange forms a scalability bottleneck for the algorithm. There are many compression techniques proposed to reduce the number of gradients that needs to be communicated. However, compressing the gradients introduces yet another overhead to the problem. In this work, we study several compression schemes and identify how three key parameters affect the performance. We also provide a set of insights on how to increase performance and introduce a simple sparsification scheme, random-block sparsification, that reduces communication while keeping the performance close to standard SGD.

研究の動機と目的

  • 大規模またはエッジデバイスでの訓練環境において特に顕著な、分散同期SGDにおける通信ボトルneckを解消すること。
  • スパース化のスケール、スキームタイプ、通信集約方法といった、勾配スパース化の性能に影響を与える実用的要因を調査すること。
  • モデル精度を損なわずに通信コストを低減する、シンプルで効率的なスパース化スキームを開発すること。
  • 実世界の分散トレーニングシステムへのスパース化SGDの導入に役立つ実用的ガイドラインを提供すること。

提案手法

  • 勾配を固定サイズのブロックに分割し、各イテレーションでランダムに選択されたブロックのサブセットを送信する新しいスパース化スキーム、ランダム・ブロックスパース化を提案する。
  • 元の勾配とスパース化された勾配の差分を格納し、再適用することで収束性を維持するため、誤差フィードバックを統合する。
  • AllReduceとAllGatherを通信の基盤として用い、異なる集約戦略における性能を評価する。
  • レイヤー単位とグローバルのスパース化スコープを実装し、勾配共有の粒度がモデル精度とトレーニング速度に与える影響を比較する。
  • 前方伝搬、逆伝搬、勾配交換、圧縮/展開の各フェーズにおけるトレーニング時間の内訳を測定し、性能ボトルneckを特定する。
  • 複数のスパース化スキーム(top-k、random-k、block-random-k)を、異なるワーカー数とスパース化比の下で評価する。

実験結果

リサーチクエスチョン

  • RQ1スパース化スコープ(レイヤー単位 vs グローバル)の選択が、モデル精度とトレーニング効率にどのように影響するか?
  • RQ2通信量削減とモデル性能のトレードオフにおいて、どのスパース化スキーム(top-k、random-k、block-random-k)が最良のバランスを達成するか?
  • RQ3通信集約方法(AllReduce vs AllGather)が、スパース化SGDの性能にどのように影響するか?
  • RQ4ワーカー数の増加が、スパース化SGDにおけるテスト精度とトレーニング時間に与える影響は何か?
  • RQ5top-k よりも単純なスパース化スキーム、block-random-k が、同等の精度を維持しつつ、標準のSGDよりもトレーニング速度を向上させられるか?

主な発見

  • レイヤー単位のスパース化は、各イテレーションで全レイヤーがパラメータ更新に寄与するため、グローバルスパース化に比べて一貫して高いテスト精度を達成する。
  • top-k スパース化は、すべての設定において最高のテスト精度を達成する。これは、最も情報量の多い勾配を優先的に選択できるためである。続くのはblock-random-k、その後がrandom-kである。
  • block-random-k は、top-k よりも送信データ量が多いにもかかわらず、圧縮オーバーヘッドが低いため、標準のSGD(8GPU環境で1バッチあたり375ms)よりも速いトレーニング時間(273ms)を達成する。
  • random-k スキームはレイヤー単位スパース化下ではblock-random-kと同等の性能を示すが、グローバルスパース化下では参加レイヤー数が限られるため、精度の低下が顕著に現れる。
  • random-k では、AllReduceとAllGatherの間でテスト精度に顕著な差が見られないが、block-random-k ではワーカー数が増えると、勾配の多様性が低下するため、AllReduceを用いると精度が著しく低下する。
  • ワーカー数の増加は、すべての設定で一般化ギャップを引き起こし、テスト精度を低下させる。これは特にグローバルスパース化下で顕著に顕在する。

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

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

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

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