12倍に増加しました!香港バプティスト大学とMassGridが低帯域幅で効率的なAIトレーニングのための新しいアルゴリズムをリリース

12倍に増加しました!香港バプティスト大学とMassGridが低帯域幅で効率的なAIトレーニングのための新しいアルゴリズムをリリース

[[264844]]

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

トレーニング データの量が増加し、ディープ ニューラル ネットワーク (DNN) の複雑さが増すにつれて、DNN のトレーニングを加速するために分散コンピューティング環境 (GPU クラスターなど) が広く採用されるようになりました。機械学習における分散コンピューティング ネットワークのボトルネックとなるのは、ノード間のデータ転送の効率です。では、このネットワークで AI トレーニングを効率的に実行するにはどうすればよいでしょうか。

2018年、中国香港バプティスト大学のヘテロジニアスコンピューティング研究所はMassGridと共同で、低帯域幅ネットワークでのグローバルTop-kスパース化に使用できる分散同期SGDアルゴリズムを提案し、低帯域幅ネットワークでもAIトレーニングを効率的に実行できることを実験的に実証しました。現在の実験結果と関連論文は ICDCS ワークショップに含まれています。

データ並列分散同期確率的勾配降下法 (S-SGD) は、大規模ニューラル ネットワークのトレーニングによく使用される最適化手法の 1 つです。単一ノード SGD と比較すると、S-SGD はワークロードを複数のコンピューティング ノードに分散してトレーニングを高速化しますが、各反復でモデル パラメーターまたは勾配を交換する通信オーバーヘッドも発生します。

DNN モデルをトレーニングするために S-SGD を使用する P 個のノードがあると仮定します。各反復では、すべてのコンピューティング ノードが異なるデータのミニバッチを使用して、モデルの勾配を並列に計算します。次に、各ノードの勾配が平均化されてモデルが更新されますが、これにより大きな通信オーバーヘッドが発生します。

コンピューティング ノード内のアクセラレータ (GPU や TPU など) の計算能力はネットワーク速度よりもはるかに速く増加するため、特に通信と計算の比率が高い場合、ネットワーク通信のパフォーマンスがトレーニングのパフォーマンスのボトルネックになることがよくあります。

多くの大手 IT 企業は、通信負荷を軽減するために 40/100Gbps IB やイーサネットなどの高価な高速ネットワークを使用していますが、1Gig-Ethernet などの低帯域幅ネットワークで接続されたコンシューマーグレードの GPU しか使用できない研究者や中小企業も依然として多く存在します。

通信のパフォーマンスのボトルネックを克服するには、より大きなミニバッチを使用してワークロードを増やし、通信と計算の比率を下げるか、各通信プロセス中に必要な通信量を減らすことができます。

  • 一方、多くの大規模バッチ SGD 技術では、モデルの精度を損なうことなくミニバッチを改善するための最適化戦略がいくつか提案されています。
  • 一方、研究者らは、収束速度に影響を与えずに通信量を削減するために、交換される勾配の数を大幅に減らす勾配スパース化、量子化、圧縮などの手法も提案している。

モデル/勾配圧縮技術において、 Top-k スパース化は主要な方法の 1 つであり、各ノードの勾配を元の約 1000 分の 1 にスパース化できます (つまり、勾配の 99.9% がゼロ値を送信せずにゼロに設定されます)。

Top-k スパース化は比較的効果的な勾配圧縮法であり、関連する研究が実験的および理論的に行われてきました。

Top-k スパース S-SGD では、モデルの収束や精度に影響を与えることなく、各反復で平均化のために少量の勾配を送信するだけで済みます。ただし、スパース後の非ゼロ勾配のインデックス位置は異なるコンピューティング ノード間で一貫性がないため、効率的なスパース勾配の集約が困難になります。

リングベースの AllReduce メソッド (DenseAllReduce) を密な勾配で使用する場合の通信の複雑さは O(P + m) です。ここで、P は計算ノードの数、m はパラメーター/勾配の数です。 Top-k スパース化では、各ノードの非ゼロ値の対応するインデックスが異なるノード間で矛盾するため、各ノードの勾配密度は ρ、つまり k = ρ×m であると想定されます。

したがって、各通信では 2k 個の値(勾配値とインデックス)の送信が必要になります。 AllGather を使用してこれらの 2k 個の値を集約する (TopKAllReduce と呼ばれる) には、O(kP) の通信複雑度が必要です。大規模なクラスターにスケーリングする場合 (つまり、P が大きい場合)、k が小さくても、かなりの通信オーバーヘッドが発生します。

Top-k スパース化の主な考え方は、絶対値が大きい勾配がモデルの収束に大きく貢献できるという事実に基づいています。 Top-k アルゴリズムでは、たとえ P 個のコンピューティング ノードが集約後に k×P 個の非ゼロ勾配を生成できたとしても、絶対値が最も高い k 個の勾配値がモデルの更新にとってより重要になるからです。

この観察に基づいて、香港バプティスト大学のヘテロジニアスコンピューティング研究所MassGridの研究者は、TopKAllReduce の非効率性を解決するための効果的な Top-k スパース化手法を提案しました。

具体的には、異なるノードの勾配の絶対値に応じて、グローバル Top-k (略して gTop-k) 勾配が選択されます。この論文では、研究者らは主に AllReduce を使用して gTop-k スパース化を適用する分散 S-SGD について議論していますが、これはパラメータ サーバー ベースの分散 S-SGD にも適用できます。

gTop-k はツリー構造をうまく利用してすべてのノードからグローバルトップ k 値を選択し、これを gTopKAllReduce と呼びます。通信の複雑さは元の O(kP) から O(klogP) に削減されます。さまざまな勾配集約方法の通信の複雑さを表 1 にまとめます。

実験研究および発表論文における主な貢献は次のとおりです。

  1. 研究者らは、Top-k のスパース集約結果は、モデルを更新する前にさらにスパース化できることを観察しました。
  2. ディープニューラルネットワークの分散トレーニングを加速するために、分散 SGD 上の効率的なグローバル Top-k スパース化アルゴリズム(gTop-k S-SGD と呼ばれる) を提案します。
  3. gTop-k S-SGDは主流のディープラーニングフレームワークPyTorchとMPI上に実装されており、コードとパラメータ設定はGitHubでオープンソース化されます。
  4. さまざまなニューラル ネットワークデータ セットで実験検証が行われました。実験結果によると、gTop-k S-SGD は、低帯域幅ネットワーク GPU クラスター (MassGrid マイニング クラスター) 上のシステムのスケーラビリティ効率を大幅に向上させることがわかりました。
  5. MassGrid 分散コンピューティング ネットワークは、仮想化技術を使用して、グローバルに利用可能なコンピューティング リソースを汎用コンピューティング デバイスに仮想化し、迅速に展開して接続することで、大規模な分散コンピューティング用のネットワークを形成できます。低コストで柔軟に使用できるという利点があります。この実験では、MassGrid は次の構成のマイニング クラスターを提供します。

トレーニング方法

gTop-kの重要なアイデア

Top-k S-SGD では、各ノードがローカルに k 個の勾配値を選択し、それがすべてのノードにわたって集計されます。研究者たちは、(非ゼロ要素の数が および )すべてがモデルの収束を助けるわけではないことを発見しました。

具体的には、各モデルの更新で必要な非ゼロ勾配の数が少なくなるように、さらにスパース化することができます。つまり、モデルの収束速度を確保しながら、絶対値が最大となる上位k個の勾配( と表現される)をさらに選択してモデルを更新することができます。 4 ノードの例を図 1 に示します。

図1 Top-kアルゴリズムで最大のk×Pの非ゼロ値からさらにk個の勾配を選択する例

比較が収束速度に影響を与えないことを確認するために、比較用に ResNet をトレーニングしました。実験結果を図 2 に示します。

図2 Top-kアルゴリズムからk個の勾配を選択してモデルを更新した場合の収束結果

gTopKAllReduce: gTop-k スパース化のための効率的な AllReduce アルゴリズム

表 1 から、AllGather コレクションは不規則なインデックスからの AllReduce 操作には非常に非効率的であり、特に P が通信パフォーマンスに与える影響が顕著であることがわかります。新しく提案された効果的なアルゴリズムの主な目的は、変数 P が通信オーバーヘッドに与える影響を軽減することです。最終的にモデルを更新するには k 個の値のみを選択する必要があるため、通信プロセス中に毎回 k 個の非ゼロ値のみを送信する必要があります。

双方向通信にはツリー構造が使用され、毎回 k 個の非ゼロ値のみが送信されます。受信者は 2k 個の値を持ち、次の送信では k 個の値のみを送信します。受信者は 2k 個の値から k 個の値を選択し、次の受信者に渡します。双方向通信を同時に実行できるため、P 個のノードの場合、logP 回の通信のみが必要です。8 個のノードの例を図 3 に示します。

図 3 からわかるように、最初のノードは各通信ラウンドで別のノードから k 個の非ゼロ要素を受信します。最後の通信ラウンドの後、最初のノードは k 個の非ゼロ要素を選択し、他のノードにブロードキャストするため、全体的な通信オーバーヘッドは 2αlogP + 4kβlogP になります。マシンスケール P が大きくなっても、gTop-k は高いスケーラビリティを維持できます。アルゴリズムの疑似コードを図 4 に示します。

図3 8ノードの場合、合計3回の通信が必要であり、各通信ラウンドではk個の非ゼロ値のみが送信される。

図4 gTopKAllReduceアルゴリズムの擬似コード

実験結果

香港バプティスト大学のヘテロジニアスコンピューティング研究所とMassGridの研究者らは、それぞれNvidia P102-100グラフィックカードを搭載した32台のマイニングマシンで実験を行った。

まず、gTop-k S-SGD の収束を検証します。その後、3 つの S-SGD アルゴリズム (高密度勾配ベースの S-SGD、Top-k S-SGD、gTop-k S-SGD) のトレーニング効率を比較しました。

実験の具体的なハードウェア構成は表IIに示す。

実験に使用したニューラルネットワークの構成は表IIIに示すとおりである。

gTop-kの収束性能

全体的に、異なるデータセットにおける 3 種類の DNN の収束結果は、研究者が提案した gTop-k S-SGD がトレーニング中にモデルのパフォーマンスを損なわないことを示しています。

図5 gTop-k S-SGDの収束性能

gTop-kのスケーラビリティ

S-SGD と Top-k S-SGD を比較すると、32 個のコンピューティング ノードを持つクラスター環境では、gTop-k S-SGD は平均して S-SGD の 6.7 倍、Top-k S-SGD の 1.4 倍高速です。異なるモデルと異なるノード数の高速化を図 6 と表 IV に示します。

図6 ノード数の違いによる拡張効率の比較

表7 各モデルの膨張効率の比較

ローカルスパース化時間 (tcompr.) と通信時間 (tcommu.)。結果を図11に示します。

一方、通信オーバーヘッドは、VGG-16 モデルと AlexNet モデルの時間的セグメンテーションにおける計算よりもはるかに大きくなります。 VGG-16 と AlexNet には 3 つの完全接続層があるため、計算が比較的高速でありながら、多数のパラメーターを持ちます。これらは、gTop-k スパース化を使用しても、図 6 の S-SGD のスケーリング効率が非常に低いことも反映しています。

一方、通信とスパース化にかかる時間は、ResNet20 および ResNet-50 を使用した計算時間よりもはるかに短く、通信と計算の比率が低いため、低帯域幅のネットワークでも最大 80% のスケーリング効率が得られます。

さらに、勾配スパース化にかかる時間は、VGG-16 モデルや AlexNet モデルの計算時間と同程度であることにも留意する必要があります。主な理由は、GPU での Top-k 選択が非効率であり、SIMD アーキテクチャで高度に並列化するのが簡単ではない可能性があることです。研究者たちはこれを将来の最適化の方向性とみなしている。

実験概要

分散同期確率的勾配降下法 (S-SGD) は、大規模なディープ ニューラル ネットワーク (DNN) のトレーニングに広く使用されていますが、通常、勾配を反復的に交換するために計算ワーカー (GPU など) 間で非常に高い通信帯域幅が必要になります。

最近、ワーカー間で交換されるデータの量を削減するために、Top-k スパース化技術が提案されています。 Top-k スパース化は、モデルの収束に影響を与えることなく、ほとんどの勾配をゼロにすることができます。

本研究では、さまざまなDNNに対する広範な実験を通じて、 gTop-k S-SGDはS-SGDとほぼ同じ収束性能を持ち、一般化性能はわずかに低下するだけであることを検証しました。

スケーリング効率の観点から、研究者らは、1 Gbps イーサネットで相互接続された 32 台の GPU マシン (MassGrid マイニング クラスター) を備えたクラスターで gTop-k を評価しました。

実験結果によると、この方法は S-SGD よりも 2.7 ~ 12 倍、既存の Top-k S-SGD よりも 1.1 ~ 1.7 倍高いスケーリング効率を実現します

ポータル

原著論文リンク: https://arxiv.org/abs/1901.04359

MassGrid のアプリケーション シナリオの詳細については、www.massgrid.com をご覧ください。

<<:  最先端技術の共有:脳の信号を音声に変換するAIアルゴリズムは、失語症の人が正常に話すことを助けることが期待されています

>>:  人工知能がビデオ業界に力を与え、新しいエンターテインメント時代の変化が訪れる

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

今後 20 年間で人工知能は何ができるでしょうか?

人工知能は長年にわたって世界を支配しており、さまざまな分野における主要な問題が AI を使用して解決...

70%は輸入品。中国の産業用ロボットはチップのような悲劇をどう回避できるのか?

ロボットは産業の魂です。 [[386663]]しかし、私たちの身近な国である日本が、20年もの間、世...

...

【ビッグネームがやってくる 第12話】eスポーツデータ処理プラットフォームにおけるAIとビッグデータシステムの応用

[51CTO.comより引用] eスポーツは近年最も急速に発展した競技スポーツのユニークな分野として...

人工知能は気候変動の転換点を明らかにするかもしれない

ウォータールー大学の応用数学教授であるクリス・バウチ氏は、新しいディープラーニングアルゴリズムの結果...

...

機械学習における正規化とはどういう意味ですか?

[[279210]]正則化はさまざまな記事や資料でよく見られます。たとえば、一般的な目的関数には次...

TensorFlow を通じてディープラーニング アルゴリズムを実装し、企業の実務に適用する方法

この記事は、Caiyun Technology のトップ ビッグ データ サイエンティストである Z...

2020年のサイバーセキュリティの転換点: 人工知能

先日終了したRSAC2020カンファレンスのテーマは「ヒューマンファクター」でした。業界では、この重...

Junhao Real EstateはIBM MaximoとTRIRIGAを使用して標準化されたインテリジェントデジタルビジネスシステムを構築しました

IBM は、IBM Maximo インテリジェント資産管理プラットフォームや TRIRIGA スマー...

...

アルゴリズムは偏っているか?他の人よりも優れていればいいのです!

[[241158]]ビッグデータダイジェスト制作編集者: Ni Ni、Chen Tongxue、A...

...

[Dry Goods] 機械学習を始めるには、まず10の古典的なアルゴリズムを理解するところから始めましょう

[[219151]]機械学習の分野では、「ただで得られるものはない」というのは不変の定理です。つまり...

複数人の3D姿勢を正確かつ効率的に推定、Meitu Beihang分散知覚シングルステージモデルがCVPRに採用

最近、トップコンピュータビジョンカンファレンスCVPR 2022がカンファレンスの参加結果を発表し、...