分散機械学習の地域的な問題を解決するにはどうすればよいでしょうか? DLion: マイクロクラウドにおける分散型ディープラーニング 論文集中読解

元のリンク: DLion (acm.org)

ABS

スマートフォンの普及により、エッジデバイスはますます多くのユーザーデータを取得しますが、分散トレーニングのためにすべてのユーザーデータをデータセンターに収集することは非現実的であり、これは主にユーザーのプライバシーに関係します。

同時に、収集されたデータがユーザーのコンピューター上でローカルに直接計算される場合、モデルが大きすぎると、エッジ デバイスのパフォーマンスによりトレーニングが不十分になります。

上記 2 つの理由により、著者はマイクロクラウド コンピューティングに基づく分散アーキテクチャを提案したいと考えています。

1 イントロ

エッジ デバイスの普及により大量のデータが生成され、従来の方法でデータ センターを構築すると、次の 2 つの問題に直面します。

  • 移動する必要があるデータが多すぎると、それを実現するのが困難になります。
  • ユーザーのプライバシー問題に関しては、ユーザーは自分のデータを開示することに消極的です。

プライバシー問題を解決するために提案されたフェデレーテッド ラーニング (Federated Learning) は、エッジ デバイス上で直接トレーニングされます。ただし、モデルが大きすぎると、エッジ デバイスで処理する必要があるデータ量が少なくても、依然として時間がかかります。長い間。(比較的大きなモデルには数百メガバイトのパラメータ サイズが含まれる場合があります。これは、各サンプルに数百メガバイトのメモリが必要であることを意味します。これは、現在のスマートフォンでは 8GB、6GB、8GB、6GB に相当します。8 GB 6 GBのメモリは非常に難しく、これには携帯電話とコンピュータの計算能力の差は考慮されていません)

マイクロクラウドはエッジデバイスに比べて性能がはるかに優れていると同時に、マイクロクラウドを利用することでローカルエリアのデータしかアップロードできないため、ユーザーのプライバシーもある程度保護されます。

図 1 図\ 11 は、マイクロ クラウドを使用した分散コンピューティングの基本アーキテクチャです

ここに画像の説明を挿入します

コンピューティングにマイクロ クラウドを使用するには、次の 2 つの大きな課題があります。

  • マイクロクラウドのパフォーマンスの違いと動的な変動性: 異なる地域のマイクロクラウドのパフォーマンスは大きく異なる可能性がありますが、同時に、マイクロクラウド内のデバイスは他のサービスを処理するように配置されているため、同じマイクロクラウドのパフォーマンスも異なります。クラウドも時間の経過とともに動的に変化します。
  • ネットワークリソースの違いとダイナミクス:同じマイクロクラウド内のLAN LAN通信するにはLAN必要ですが、異なるマイクロ クラウドはWAN WANを経由する必要がありますワンワン_ _ __WANリソースは非常に限られており、同時に、マイクロ クラウド内のノード数が増加するにつれて LAN リソースは希釈され、リソースは動的に変化します

ほとんどの分散システムはリソースの違いやダイナミクスを考慮していないため、トレーニング時間の増加につながります。

DL イオンこの記事で提案するDLionD Lion主に、リモートおよび動的な特性を持つ分散システムのコンピューティング問題を解決するように設計されています

DLイオン DLionD Lion は、上記の問題を解決するために 3 つの主要なテクノロジーを使用します

  • 重み付けされた動的バッチ処理 重み付けされた動的バッチ処理重み付け動的バッチ処理:このテクノロジーコンピューティングパフォーマンスの不均一性の問題を解決するため使用  されます
  • リンクごとの優先勾配交換 リンクごとの優先勾配交換あたり_link p r i or i t i ze d i n t e x chang e :このテクノロジーはネットワークの遠隔   問題を解決するために使用されます
  • 直接的な知識の伝達 直接的な知識の伝達直接知識伝達: この手法  モデルの精度向上せるため使用ます

この記事の主な貢献:

  • 遠隔性とダイナミクスの問題を解決できる分散システムが提案されています。
  • 設計されたシステムは簡潔かつ柔軟で、変更が容易で、さまざまな分散トレーニングに適用できます。
  • 環境テンサー フロー TensorFlowCPUをサポートしながらシステムのプロトタイプを確立Tensor FlowCPU G P U GPU GPUのバージョン

2 背景と動機

2.1 分散型深層学習

このセクションでは、勾配降下法を使用した機械学習と、勾配降下法を使用した分散機械学習について紹介します。

機械学習: 勾配を計算してモデルパラメータを更新します。

分散機械学習: 各作業ノードは独自の勾配を計算し、要約後にパラメーターを更新します。

2.2 分散型深層学習システム

TensorFlowなどのパラメータ サーバーを使用した分散機械学習を実装するためのフレームワークTensorFlowテンサーフローMXNet MXNet _ _ _MXN e tどちらもPS (パラメータ サーバー) PS (パラメータ\ サーバー)PS (パラメータサーバー) 実装_ _ _ _ _ _ _

パラメータサーバーなしで分散コンピューティングを実装する機械学習フレームワーク: A ko 、 H op 、 P rague Ako、Hop、Prague_ホップ_プラハほか_ _ _ _

図 2 図\ 22 この 2 つの違いを示します。 ( a ) (a)( a )はパラメータを持つサーバー、(b) (b)( b )はパラメータなしのサーバー (分散型)

ここに画像の説明を挿入します

これらのフレームワークは、分散機械学習のプロセスを簡素化します。

2.3 マイクロクラウドでの DL 学習

全体的な構造は図 3 のとおりです。 図\ 33に示すように、マイクロクラウド内部はLAN で接続され、クラウド間はWANで接続されています。

ここに画像の説明を挿入します

2.4 課題と動機

ここで紹介するのは第1節第1節です2 つの課題についてはセクション 1 で述べましたがここで 繰り返しませ

3 私たちのアプローチ: DLion

3.1 設計目標と概要

このフレームワークは、中央パラメータ サーバーなしで設計されています。

設計目標:

  • データの並列性を最大化する: データの並列性を最大化すると、モデルのトレーニングに必要な時間を短縮できますが、同時にトレーニングの精度の損失を最小限に抑える必要があります。
  • 通信時間の短縮:ノード間の通信時間を短縮しながら、モデルの精度損失を可能な限り低減する必要があります。
  • モデルの精度の向上: ノード間でデータを共有することで悪影響を軽減します。

上記の 3 つの目標は、先に提案された 3 つの重要な技術点に順番に対応しています。図 4 図\ 44 これら 3 つの主要な技術ポイントの使用時間とワークフロー全体を示しています

ここに画像の説明を挿入します

3.2 加重動的バッチ処理

まず 2 つの概念を紹介します。

  • LBS LBSL BSローカルバッチサイズ ローカル\バッチ\サイズローカルバッチサイズ計算参加する  各ワーカー ノードローカルバッチサイズ
  • GBS GBSGBS : 1 ラウンドのトレーニングに対する分散システム全体のグローバル バッチ サイズ。すべてのノードのLBS LBSL BS合計。

従来の分散システム アーキテクチャでは、各動作ノードが所有するLBS LBSに注意してください。LBS同様です。

これは通常、 LBS LBSを追加することで実現できます。L BSと増加するノードの数GBS GBSGBS、ここではLBS ごとの LBSGBS GBSを変更するL BSGBSの場合、稼働ノード数はnn固定

GBS GBSを追加GBS には次のような利点と欠点があります。

  • メリット: 計算量が増えた分、学習にかかる時間が短縮されます。
  • 欠点: GBS GBSの増加GBS は通常、最終的なトレーニングの精度の低下につながります。

GBS GBSを増やすGBS は、精度をあまり失わずにトレーニング時間を可能な限り短縮できる適切な値を見つける必要があります。

以前の記事では、モデルの最終収束精度は必ずしも学習率を制御することで向上させる必要はなく、GBS GBS を定期的に変更することによっても向上させることができると指摘しました。GBSが実装されており、この記事はこれにインスピレーションを受けて、モデルの精度をほとんど失わずに計算時間を短縮できる自動調整可能なコントローラーを設計しました。

各稼働ノードの計算パフォーマンスが同じで変化しない場合、各ノードのLBSL BSはGBS n \frac {GBS}{n}に設定されますnGBS合理的です。しかし、実際には、各稼働ノードのパフォーマンスは同じではなく、各左側ノードのパフォーマンスが変動する可能性があり、この場合でもLBS LBSが使用される場合、L BSが等しいように設定されている場合、最初に完了するノードは最後に完了するノードを待つ必要があるため、モデルの計算に必要な時間が増加します。

加重動的バッチ処理 加重\動的\バッチ処理重み付け動的バッチング  方法3コンポーネントあります_

  • GBS コントローラ GBS\ コントローラGBSコントローラー : GBS自動制御GBS _ _GBSの増加または減少。変更されたコンポーネントの設計のインスピレーションは、次の 2 つの発見から得られました:トレーニングの開始時にGBS GBSGBS は精度の大幅な低下を引き起こすため、GBS GBSGBSによって引き起こされる精度の低下は比較的低く、安定しています (図 5 を参照してください。 図\ 55 、横軸はエポック表しますep oc hincrease GBSGBS _GBS、縦軸は最終モデルの精度を表します)。これら 2 つの発見により、作成者はこのコンポーネントのワークフローを 2 つの段階に分割することになりました。ウォームアップ - ウォームアップワーム_ _ _upspeed −スピードアップスピード_ _ _アップ _ 第 1 段階:GBS t + 1 = GBS t + C ウォームアップ GBS_{t+1}=GBS_t + C_{warmup}GB St + 1=GB S+Cウォームアップ_ _ _ _、合計データ量の1% 1\%に増加すると増加は1%で停止します(増加しすぎると精度が低下するのを防ぐため)。第 2 段階:GBS t + 1 = GBS t × C スピードアップ GBS_{t+1}=GBS_t\times C_{speedup}GB St + 1=GB S×Cスピードアップ_ _ _ _、全体のデータ量の10% 10\%に増加すると10%で成長が停止(既存の研究では、GBS GBSGBSが大きすぎます)、パラメータCCCを設定する必要があります。

  • LBS コントローラ LBS\ コントローラL BSコントローラー: GBS  GBS確認_ _ _GBSの後、このコンポーネントは各動作ノードのLBSLBS LBSLBSLBS設計コンセプトは非常にシンプルです。LBS LBSは強力なコンピューティング能力を備えたノードです。L BSは大きくなり、データ量は計算能力の割合に基づいて割り当てられます。(これにより、すべてのノードの計算時間が確実に近くなります)、図 6 図\ 66、トレーニング 進行に伴う各ノードのLBS LBSを示していますL BSの調整LBS LBSL BSの具体的な計算式はRCP RCPRCP代表相対計算能力 相対\ 計算\ 能力相対計算能力(相対計算能力  ): LBS i = GBSRCP i ∑ j = 1 n RCP j LBS_i = GBS \ frac { RCP_i } { \ sum_
    {j=1}^{n}RCP_j}LBS _ _私は=GBSj = 1RCP _jRCP _私は

  • 加重モデル更新モジュール 加重\モデル\更新\モジュールw e i g h t e d mod e l u p d a t e module e :このモジュールはパラメータの集約、ノード   jjを担当しますjがこの質問の勾配を計算するとgtj g_t^jgtj、ノードkkk はノードjjj以降の集計プロセスは次のように更新されます。
    wt + 1 k = wtk − η 1 n ∑ j = 1 ndbjkgtjdbjk = LBS j LBS kw^k_{t+1}=w^k_t-\eta \frac 1 n\ sum_{j=1}^{n}db^k_jg^j_t\\ db^k_j=\frac {LBS_j}{LBS_k}wt + 1=wtn1j = 1db _jgtjdb _j=LBS _ _LBS _ _j

ここに画像の説明を挿入します

ここに画像の説明を挿入します

3.3 リンクごとの優先勾配交換

データ品質保証モジュール データ\品質\保証\モジュールデータ品質保証モジュール:このモジュール    Max N Max \ N使用更新する重要勾配選択する責任ありますMax a x N アルゴリズム このアルゴリズムは、絶対値が最大絶対値以上である勾配のN % N\%を選択します。N %の勾配が更新されます。

図 7 図\ 77 はさまざま NNを示していますモデルの精度に対するNの影響。

ここに画像の説明を挿入します

伝送速度保証モジュール 伝送速度保証モジュール伝送検査モジュール:このモジュール最大N Max \ N自動的決定するため使用ます    __M a x N アルゴリズムのNNN._ _ この決定方法は、ネットワーク環境がボトルネックにならずに、NNN、このモジュールではノードiii指向ノードjjjが送信できる勾配サイズは、次の式で評価されます。
BW _ netj I ter _ comi BW _ netj は、2 つのノードの直接利用可能な帯域幅を表します。 I ter _ comi は、ノード i が単位時間あたりに実行できる反復回数を表します。 \ frac {BW\_{net_j}}{Iter\_com_i}\\ BW\_{net_j} は 2 つのノードで直接利用可能な帯域幅を表します \\ Iter\_com_i はノード i が単位時間あたりに実行できる反復回数を表しますイーターコム_ _ _ _私はBW_ネット_ _ _ _jBW_ネット_ _ _ _j2 つのノード間で直接利用可能な帯域幅を表します。イーターコム_ _ _ _私はノードiが単位時間あたりに実行できる反復回数を表します
。上記の式の核心は、計算時間と通信時間を等しくすることです。

図 8 図\ 88ノード1  1です1からノード3 33とノード5 55.送信されるグラデーション サイズは、反復回数に応じて自動的に調整されます。

ここに画像の説明を挿入します

3.4 直接的な知識の伝達

上記で紹介した方法ではパラメータサーバーを使用せず、非同期方式を採用しているため、トレーニングに参加する各ノードが持つパラメータが異なる場合があります。

この部分の方法は、パラメータを定期的に交換することです。つまり、最良のトレーニング効果を持つノードを選択し、他のノードはこのノードからパラメータを取得します。

この方法を採用する場合、いくつかの問題を解決する必要があります。

  • トレーニングはいつ行われますか。
  • すべてのノードに送信する必要がありますか (これは比較的大きなオーバーヘッドです)。
  • 受け取ったパラメータを集計するか、直接置き換えるか、平均するか?

上記3つの疑問を解決するために、著者はいくつかの実験を行った。

図9 図\99 に実験 結果を示します

ここに画像の説明を挿入します

  • (a)異なる時点でのDKT DKTを表します。DK Tトレーニングが完了する (同じ精度に達する) のに必要な時間、初期 DKT 初期\ DKTe a r l y DK T は 初期トレーニング、後期 DKT 後期\ DKTl a t e DK T は トレーニングの後期段階の DKT を表し、著者は初期段階の DKT が DKT であるDK T はより高い精度を達成できます。上記DKT 100iter DKT\ 100iterDK T 100 i ter 、 100 100ごとを表します。100ラウンドに1回実行されますが、これ以上頻繁に実行すると、大量のネットワークリソースが必要となるため、トレーニング時間が増加することがわかります。間隔が長すぎると、収束速度が低下します。適切なパラメーターの相互作用がないため、トレーニングに時間がかかります。
  • (b) は、異なるノードに送信した結果を表します。未使用、毎回最も影響の悪いノードに送信、毎回すべてのノードに送信します。最悪のノードに送信するだけで精度が大幅に向上することがわかります。ただし、精度を高めるために、後の実装でもすべてのノードに送信することが選択されています。
  • デフォルト値: wlocal = ( 1 − λ ) wlocal + λ wbest w_{local}=(1-\lambda)w_{local}+\lambda w_{best}wl oc a l=( 1l ) wl oc a l+λw _そうです_λ \lambdaを使用λが増加すると、最適な重みの割合が増加します。これは、 λ = 0.75 \lambda=0.75でわかります。=最良の効果は0.75の場合です。

4 実装

ここではDL イオン DLionについて説明します。D Lionどのように実装されているのでしょうか? 興味があれば、原文を読むことができます

4.1 主要なコンポーネントと操作

ここでは、いくつかの主要なコンポーネントを紹介しますが、これらについては以前に紹介したため、ここでは繰り返しません。

4.2 汎用かつ柔軟な DLion

DLion DLionについて説明します。DLion はさまざまなアルゴリズムに簡単に適用できます

5 評価

5.1 方法論

5.1.1 アプリケーションとデータセット

わずかに。

5.1.2 実験用プラットフォーム

わずかに。

表 2 表\ 22は、Amazon の異なるリージョン 間の帯域幅のテストです

ここに画像の説明を挿入します

5.1.3 パフォーマンス指標

  • モデルが特定の時点で達成できる精度。
  • 一定の精度を達成するのに必要な時間。
  • 収束に必要な時間。

5.1.4 比較システム

以前のいくつかの方法と比較してください。

  • ベースライン ベースラインベースはすべての勾配が交換されるわけではなく最初の非同期SGD SGDSG D (これは非同期SGD SGDであると推定されます)同期の代わりのSG D は、最後の実験の結果に基づいています)。
  • 私、私Ako : 過去に出版され論文の精読がご覧いただけます - Ako 論文の精読
  • ガイア ガイアガイア _
  • ホップホップホップ _

5.1.5 実験のセットアップ

表 3 表\ 33 は各環境の詳細です。計算内の数字は各ノードのコア数を表し、ネットワーク内の数字はノードの帯域幅を表します

エミュレーションなし画像内のエミュレーションなしエミュレーションないということ ノードが同じコンピューティング リソースを持っていることを意味する必要あります

ここに画像の説明を挿入します

5.2 評価結果

5.2.1 システムの異質性

このセクションでは、異なるネットワーク リソースとコンピューティング リソースを持つノードで構成されるシステム上の状況を評価します。

図 11 図\ 1111 は、さまざまな構成 各固定時間メソッドが達成できる精度を示しています

ここに画像の説明を挿入します

ヘテロ SYS A ヘテロ\ SYS\ AHe tero S Y S A  は、強力なコンピューティング能力と強力なネットワーク リソースを備えたノードであり、 He tero SYS B Hetero\ SYS\ BHe tero S Y S B  は、強力なコンピューティング リソースと弱いネットワーク リソースを持つノードです

5.2.2 異種 GPU クラスターにおけるシステムの堅牢性

この部分で使用されるモデルはより大きく、交換する必要がある生成されるデータの量も多くなります ( GPUではGPUトレーニングするため、より大きなモデルが選択されました)、つまり、ネットワークが明らかなボトルネックになりました。

図 12 図\ 1212、一定のトレーニング時間後に達成さ た精度です。

ここに画像の説明を挿入します

5.2.3 異種コンピューティングリソース

このセクションでは、ネットワーク リソースは同じだがコンピューティング リソースが異なる状況を評価します。

図 13 図\ 1313 は、各ノードのネットワーク リソースが同じ環境で、固定時刻 各方法で達成できる精度を示しています。

ここに画像の説明を挿入します

図 14 図\ 1414 は 特定の精度を達成するのに必要な時間です。ここで、 DL ion − no − DBWU DLion-no- DBWUDライオン_ _ _いや_D B W U は動的バッチ選択を使用しないことを表します。DL ion − no − WU DLion-no-WUDライオン_ _ _いや_W U は加重集計更新がないことを表します。

ここに画像の説明を挿入します

5.2.4 異種ネットワークリソース

このセクションでは、ネットワーク リソースは異なるが、コンピューティング リソースは同じである状況を評価します。

図 15 図\ 1515 は、さまざまなシステムで固定時間 達成できる精度を示しています。

ここに画像の説明を挿入します

図 16 図\ 1616 Max− 10 Max - 10マックス_ _10(即時ベースライン)基本増加M ax 10Max- 10マックス_ _10 ) 他の方法との比較 (固定時間):

ここに画像の説明を挿入します

5.2.5 モデル精度の偏差

図 17 図\ 1717 は、モデル精度 の標準偏差を示しています

ここに画像の説明を挿入します

5.2.6 動的リソースの変更

環境のこの部分のコンピューティング リソースとネットワーク リソースは動的に変化します。

図 18 図\ 1818 実験結果です

図 19 図\ 1919 はトレーニング プロセス中の各ノードのローカル バッチ サイズの変更プロセスを示しています

ここに画像の説明を挿入します

図 20 図\ 2020 はトレーニングプロセス中に更新された勾配サイズ を選択する変更プロセスを示しています。

ここに画像の説明を挿入します

5.2.7 モデルの精度向上への効果

このセクションでは、モデルの最終的な収束精度と収束時間に焦点を当てます。

図 21 図\ 2121 各手法の最終的な収束精度と収束時間を示しています

ここに画像の説明を挿入します

6 関連作品

関連する作業は次のとおりです。

  • 分散型深層学習。
  • リソースを意識した分散ディープラーニング。
  • 連合学習。
  • エッジデバイス向けのディープラーニング推論。
  • 並列コンピューティング。
  • 地理的分布に基づいたデータ分析。

7 結論

マイクロクラウドに適した分散機械学習アーキテクチャを提案する。主に次の 3 つの側面を通じて速度が向上します。

  • 重み付けされた動的バッチ処理 重み付けされた動的バッチ処理重み付け動的バッチ処理  :データ並列最大ます
  • リンクごとの優先勾配交換 リンクごとの優先勾配交換あたり_リンクプライオリティグレードエクスチェンジ:通信コスト削減ます_ _ _ _ _ _ _ _ _ _ _ _ _    _
  • 直接的な知識の伝達 直接的な知識の伝達直接的知識伝達  :モデル精度向上ます_ _ _

TensorF low TensorFlowも使用テンサーフロービルドDライオンDライオン_ _Dライオンプロトタイプ。_ _ 現在のアーキテクチャと比較して、速度と精度が大幅に向上しました。

おすすめ

転載: blog.csdn.net/qq_45523675/article/details/129365344