「非 iid データからの堅牢で通信効率の高いフェデレーテッド ラーニング」論文の読み方

1. まとめ

フェデレーテッド ラーニングを使用すると、参加者がローカル データを中央サーバーに公開することなく、複数の関係者が組み合わせたデータで深層学習モデルを共同でトレーニングできます。ただし、この形式のプライバシーを保護する共同学習では、トレーニング中にかなりの通信オーバーヘッドが発生します。この問題に対処するために、分散トレーニングの文献でいくつかの圧縮方法が提案されており、必要な通信量を最大 3 桁減らすことができます。ただし、これらの既存の方法は、クライアントからサーバーへのアップストリーム通信を圧縮するだけで (ダウンストリーム通信は圧縮しない)、または iid などの理想的な条件下でのみうまく機能するため、連合学習環境での有用性は限られています。通常、フェデレーテッド ラーニングでは見られない、クライアント側のデータ分散。

この論文では、連合学習環境の要件を満たすように特別に設計された新しい圧縮フレームワークである Sparse Triple Compression (STC) を提案します。

STC は、既存の上位 k 勾配スパース圧縮技術を拡張し、新しいメカニズムを採用して、ダウンストリーム圧縮と、重み更新のための 3 値および最適なゴロム コーディングを実現します。

4 つの異なる学習タスクに関する私たちの実験では、STC が、一般的なフェデレーテッド ラーニング シナリオでのフェデレーテッド アベレージングよりも大幅に優れていることが示されています。これらの結果は、特に帯域幅に制約のある学習環境において、フェデレーテッド最適化における高周波低ビット幅通信へのパラダイム シフトをサポートしています。

2.はじめに

現在、次の 3 つの主要な開発によって、データの作成と処理の方法が変化しています。

1): モノのインターネット (IoT) の出現により、世界のスマート デバイスの数はここ数年で急速に増加しました。これらのデバイスの多くには、さまざまなセンサーとますます強力なハードウェアが装備されており、前例のない規模でデータを収集して処理できます。

2): 並列開発において、ディープ ラーニングはデータ リソースから情報を抽出する方法を完全に変え、コンピューター ビジョン、自然言語処理、音声認識などの分野で画期的な成功を収めました。データ量の増加に伴い、ディープ ラーニングの規模は拡大しており、近年の驚くべき成功は、少なくとも部分的には、トレーニング用の非常に大きなデータ セットを利用できることに起因している可能性があります。したがって、IoT デバイスによって提供される豊富なデータを使用して、深層学習モデルをトレーニングおよび改善する大きな可能性があります。

3): データのプライバシーは、多くのユーザーにとってますます大きな懸念となっています。最近のデータ漏えいや悪用のいくつかの事例は、データの集中処理がエンドユーザーのプライバシーに高いリスクをもたらすことを示しています。

私たちは、次のようなジレンマに直面しています。何百万もの IoT デバイスの豊富な結合データを活用して、このデータを一元化された場所に保存できない場合、ディープ ラーニング モデルをトレーニングするにはどうすればよいでしょうか?

フェデレーテッド ラーニングは、参加者が中央サーバーにデータを開示することなく、複数の関係者が結合されたデータで深層学習モデルを共同でトレーニングできるようにするため、この問題を解決します。連合学習には 3 つのステップがあります。最初のステップでは、参加しているすべてのクライアントがサーバーから最新のマスター モデル W をダウンロードします。次に、クライアントは、確率的勾配降下法 (SGD) を使用して、ローカルのトレーニング データに基づいて、ダウンロードしたモデルを改善します。最後に、参加しているすべてのクライアントが、ローカルで改善されたモデルを共有しますW i W_iWこれらのモデルが収集および集約されて新しいマスター モデルを形成するサーバーにアップロードされます。これらの手順は、特定の収束基準が満たされるまで繰り返されます。

画像-20220614084524093

フェデレーテッド ラーニングの主な問題は、モデルの更新を送信することによって発生する膨大な通信オーバーヘッドです。前述のプロトコルに素朴に従う場合、参加している各クライアントは、各トレーニングの反復中に完全なモデルの更新を通信する必要があります。このような各更新は、トレーニングされたモデルと同じサイズであり、数百万のパラメーターを持つ最新のアーキテクチャではギガバイト範囲になる可能性があります。大規模なデータセットで何十万回もトレーニングを繰り返すうちに、クライアントあたりの総トラフィックは簡単に 1 PB を超える可能性があります。したがって、通信帯域幅が限られている場合や通信コストが高い場合、フェデレーテッド ラーニングは非生産的であるか、完全に実行不可能になることさえあります

トレーニング中に各クライアントがアップロードおよびダウンロードする必要があるビットの合計量は次のとおりです。

画像-20220614085300948

N iter N_{iter}N_は、各クライアントが実行したトレーニング反復の総数です。fffは通信周波数∣ W ∣ | W |W はモデルの大きさH ( △ W up / down ) H(△W^{up/down})( up / down )、アップロードおよびダウンロード中に交換される重み更新のエントロピー、η はエンコードの非効率性です

モデルのサイズとトレーニングの反復回数が固定されていると仮定した場合 (たとえば、特定のタスクで特定の精度を達成したいため)、コミュニケーションを減らすための 3 つのオプションがあります。

1) 通信頻度ffを減らすことができる

2) 非可逆圧縮方式により、重み更新H ( △ W up / down ) H(△W^{up/down}) を削減します。( アップ/ダウンエントロピー); _ _

3) より効率的なエンコーディングを使用して重みの更新を伝達し、η を減らします。

3. 連合学習環境の課題

1) 不均衡および非 IID データ: 各クライアントのトレーニング データは、ローカル環境と使用パターンに従ってクライアント自体によって収集されるため、ローカル データセットのサイズと分布は通常、クライアントごとに異なります。

2) 多数のクライアント: 連合学習環境は、何百万もの参加者で構成されている場合があります。さらに、共同学習モデルの品質は、すべてのクライアントの利用可能なデータの組み合わせによって決まるため、共同学習環境は自然に成長します。

3) パラメータ サーバー: クライアントの数が一定のしきい値を超えると、通信と集計の更新の両方のワークロードがクライアントの数に比例して増加するため、重みの更新の直接通信は実行できなくなります。したがって、フェデレーテッド ラーニングでは、中間パラメーター サーバーを介した通信は避けられません。これにより、クライアントごとの通信および通信ラウンドの量が、サーバーへの 1 回のローカル重み更新のアップロードと、サーバーからの 1 回の集約更新のダウンロードに削減され、クライアントからの集約ワークロードがオフロードされます。ただし、パラメーター サーバーを介した通信は、通信時間とエネルギー消費を削減するためにサーバーのアップロードとサーバーのダウンロードを圧縮する必要があるため、通信効率の高い分散トレーニングに別の課題をもたらします。

4) 部分的な参加: IoT の一般的なフェデレーテッド ラーニング設定では、通常、すべてのクライアントがすべての通信ラウンドに参加することは保証されません。デバイスは、接続が失われたり、バッテリーが切れたり、その他の理由で共同トレーニングに貢献したりする可能性があります。

5) バッテリとメモリの制限: モバイル デバイスと組み込みデバイスは通常、グリッドに接続されていません。

上記の連合学習環境の特性に基づいて、連合学習用の通信効率の高い分散トレーニング アルゴリズムは、次の要件を満たす必要があると結論付けています。

1) アップロードとダウンロードの通信を圧縮する必要があります。

2) 非 IID、小バッチ、および不均衡なデータに対して堅牢である必要があります。

3) 多数のクライアントと部分的なクライアント エンゲージメントに対して堅牢である必要があります。

4. 貢献

アップロードとダウンロードの通信を圧縮できる方法は、非 IID データ配信に非常に敏感であるのに対し、そのようなデータに対してより堅牢な方法はダウンストリームを圧縮しないことを示しています。次に、これらの問題に対処し、すべての要件 (R1) ~ (R3) を満たす連合学習用の新しい効率的な通信プロトコルの構築に進みます。私たちの方法の収束分析を実行し、4 つの異なるニューラル ネットワーク アーキテクチャとデータセットで大規模な実験を行い、Sparse Ternary Compression (STC) プロトコルが既存の圧縮スキームよりも優れていることを示します。目標精度。これらの結果は、IID データ システムにも適用されます。

5. 関連作品

既存の大規模な伝播効率の高い分散型深層学習研究は、次の 3 つのグループに分けることができます。

1) 通信遅延法は通信頻度 f を下げる

2) スパース化法は、変更をパラメータの小さな部分に制限することにより、更新エントロピーH( △ W ) H(△W)を削減します。( ) . スパース化手法は、主にデータセンターでの並列トレーニングを高速化するために提案されています。より困難なフェデレーテッド ラーニング設定におけるそれらの収束特性は研究されていません。スパース化方法 (既存の形式) は主にアップストリーム通信を圧縮します。これは、異なるクライアントからの更新のスパース パターンがしばしば異なるためです。参加しているクライアントの数が逆スパース化率よりも多い場合 (フェデレーテッド ラーニングではよくあることです)、ダウンストリームの更新は圧縮さえされません。

3) 密な量子化方法は、すべての更新を削減された値のセットに制限することにより、重み更新のエントロピーを削減します。

WWW はニューラル ネットワークのすべてのパラメーターを表し、W はWWW内部パラメータの特定のテンソルwww は、ネットワークのスカラー パラメーターを表します。ニューラル ネットワーク パラメーター間の算術演算は、最初に理解する必要があります。

6. 既存の圧縮方法の限界

効率的な分散型深層学習に関する関連研究は、ほとんどクライアント間の i.i.d. データのみを考慮しています。

画像-20220614093025451

其中, p i p_i pは i 番目の顧客のデータ分布R(W) R(W)R ( W )は、結合されたトレーニング データの経験的ハザード関数です。フェデレーテッド ラーニングの設定では、多くの場合、平均値に偏りがないことを願うことしかできません。

画像-20220614123329124

単一のクライアント勾配は、ローカル データセットに偏ります。

画像-20220614123540477

7. スパース 3 項圧縮 (STC)

Top-k のスパース化は、iid 以外のクライアント データを使用する分散学習環境で最も有望なパフォーマンスを示しています。この観察結果を出発点として使用して、連合学習のための効率的な通信プロトコルを構築します。この合意に達するために、上位 k のスパース化をフェデレーテッド ラーニングに直接適用することを妨げる 3 つの未解決の問題に対処します。

1) 重みの更新を量子化し、最適な可逆符号化を行うことにより、方法の効率をさらに改善します。

2) サーバーからクライアントへの効率的な通信方法にダウンストリーム圧縮を組み込みます。

3) クライアントが部分的に参加した場合にクライアントの同期を維持するためのキャッシング メカニズムを実装します。

スパース化を非ゼロ要素の量子化と組み合わせると、より高い圧縮ゲインを実現できます。

画像-20220614125540388

この 3 値化ステップでは、更新のエントロピーが次のように削減されます。

画像-20220614141552110

画像-20220614141614092

通常の間引きと比較すると、余分な圧縮 Hsparse/HSTC = 4.414 は、p = 0.01 のスパース レートで 3 値によって得られます。純粋なスパース化で同じ圧縮ゲインを達成するには、ほぼ同じスパース化率係数を増やす必要があります。

k-収縮:

パラメーター 0 < k≤d の場合、k 圧縮は圧縮プロパティを満たす演算子 comp です: R d → R d R^d→R^dRdRd

画像-20220614142049062

STCk STC_kセントCkAlgorithm 1 で定義されているのは、k ˜ − 収縮k^˜-収縮です。kコントラクト_ _ _ _ _ _ _ _ _

画像-20220614142246506

更新ルール:

画像-20220614142357576

以下に基づく収束:

画像-20220614142536644

ローカルの重みの更新のために、下流の圧縮に拡張されます。W i ( t ) W^{(t)} _iW( t )、STC の更新規則は次のように記述できます。

画像-20220614142857762

クライアント側と同じ圧縮メカニズムをサーバー側に適用して、ダウンストリーム通信を圧縮します。これにより、更新ルールが次のように変更されます。

画像-20220614143047237

クライアント側とサーバー側の残留更新があります。

画像-20220614143105474

加重更新キャッシュは、一部のクライアントが参加するために使用されます. 同期の問題を解決し、クライアントの負荷を軽減するために、サーバーでキャッシュメカニズムを使用することをお勧めします. τ 通信の最後のラウンドで更新が生成されたとします。画像-20220614143931811

サーバーは、特定の時点まで、これらの更新のすべての部分的な合計をキャッシュできます。

画像-20220614144014496

グローバル モデルと一緒に:

画像-20220614144130064

次に、次のラウンドの通信に参加したい各クライアントは、前のラウンドの通信をスキップした回数に応じて、まず P(s) または W(T) をダウンロードしてサーバーと同期する必要があります。一般的なスパース更新の場合、エントロピー バウンドは次のように実現できます。

画像-20220614144155921

これは、ダウンロードのサイズが、クライアントがトレーニングをスキップするエポック数に比例して増加することを意味します。スキップされたラウンドの平均数は、逆参加スコア 1/η に等しくなります。通常、ダウンリンクはアップリンクよりも安価で帯域幅がはるかに広いため、これは許容されます。基本的に、完全なモデルではなくパラメータの更新のみを渡すすべての圧縮方法は、同じ問題を抱えています。同じことが signSGD にも当てはまりますが、ここではダウンストリーム更新のサイズは遅延時間に対して対数的にしか増加しません。

画像-20220614144301717

ロスレス エンコーディング

リンクは通常、アップリンクよりも安価で、帯域幅がはるかに広くなります。基本的に、完全なモデルではなくパラメータの更新のみを渡すすべての圧縮方法は、同じ問題を抱えています。同じことが signSGD にも当てはまりますが、ここではダウンストリーム更新のサイズは遅延時間に対して対数的にしか増加しません。

【外部リンク画像転送...(img-Yk1mw2NH-1658975020978)】

ロスレス エンコーディング

画像-20220614144343286

おすすめ

転載: blog.csdn.net/qq_45724216/article/details/126029277