分散型ディープラーニングの新たな進歩:「分散」と「ディープラーニング」の真の統合

分散型ディープラーニングの新たな進歩:「分散」と「ディープラーニング」の真の統合

近年、急速に発展している人工知能の分野のひとつであるディープラーニングは、NLP、画像認識、音声認識、機械翻訳などの分野で驚くべき成果を上げています。しかし、ディープラーニングの適用範囲は、データの量とモデルのサイズによってますます制限されるようになっています。ディープラーニングモデルを効率的にトレーニングするにはどうすればよいでしょうか? Microsoft Research Asia の機械学習グループの上級研究員である Chen Wei 氏とそのチームは、機械学習に関する完全な理解に基づき、分散テクノロジとディープラーニングを密接に組み合わせて、この 2 つを真に組み合わせた新しい「分散ディープラーニング」アルゴリズムを研究しています。

ビッグデータと効率的なコンピューティングリソースの出現により、ディープラーニングは人工知能の多くの分野で大きな進歩を遂げました。しかし、ますます複雑化するタスクに直面して、データとディープラーニングモデルの両方のサイズがますます大きくなっています。たとえば、画像分類器のトレーニングに使用されるラベル付き画像データの量は、数百万、さらには数千万に達することがあります。大規模なトレーニングデータの出現は、大規模モデルをトレーニングするための物質的な基盤を提供します。そのため、2015年にMicrosoft Research Asiaが開発した200億を超えるパラメータを持つLightLDAトピックモデルなど、近年多くの大規模機械学習モデルが登場しています。しかし、トレーニングデータの語彙が数千万に増加すると、剪定を行わないと、ディープラーニングモデルのパラメータは数百億、さらには数千億にも達する可能性があります

ディープラーニング モデルのトレーニング効率を向上させ、トレーニング時間を短縮するために、通常は分散テクノロジを使用してトレーニング タスクを実行します。つまり、複数の作業ノードを同時に使用して、優れたパフォーマンスでニューラル ネットワーク モデルを分散し、効率的にトレーニングします。分散技術はディープラーニング技術の加速器であり、ディープラーニングのトレーニング効率を大幅に向上させ、その適用範囲をさらに拡大することができます。

ディープラーニングの目的は、データからパターンを発見し、予測に役立てることです。ディープラーニング アルゴリズムの一般的なフレームワークは、最適化アルゴリズムを使用してトレーニング データの経験的リスクを反復的に最小化することです。ディープラーニング アルゴリズムは、他のコンピューティング タスクと比較して、データの統計特性、最適化の収束特性、複数のマシンで実行した場合の学習の一般化特性の柔軟性が高いため、実際には、並列実行中に通信を介してコンピューティング ノードがアルゴリズムの単一マシン バージョンを厳密に実行する必要はありません。したがって、「分散」と「ディープラーニング」が出会うとき、シリアルアルゴリズムのマルチマシン実装とその基礎となる実装技術に限定されるべきではなく、機械学習を完全に理解した上で、分散学習とディープラーニングを密接に組み合わせ、ディープラーニングの特徴を組み合わせて、真に統合された新しい「分散ディープラーニング」アルゴリズムを設計する必要があります。

図1 分散型ディープラーニングフレームワーク

分散型ディープラーニング フレームワークには、データ/モデルのセグメンテーション、ローカル スタンドアロン最適化アルゴリズムのトレーニング、通信メカニズム、データ/モデルの集約などのモジュールが含まれています。既存のアルゴリズムでは、一般的に、ランダムにシャッフルされたデータ分散方法、確率的最適化アルゴリズムのローカルトレーニングアルゴリズム(確率的勾配法など)、同期または非同期の通信メカニズム、およびパラメータ平均化のモデル集約方法が使用されます。

ディープラーニングアルゴリズムの特性と組み合わせることで、マイクロソフトリサーチアジアの機械学習グループはこれらのモジュールを再設計/理解しました。分散型ディープラーニングの分野では、主に3つの側面の研究を行ってきました。1つ目の研究では、非同期メカニズムの勾配遅延問題に対処するために、ディープラーニング用の「遅延補償付き非同期アルゴリズム」を設計しました。2つ目の研究では、ニューラルネットワークの非凸性に注目し、パラメータ平均化よりも効果的な積分集約法を提案し、「積分圧縮」並列ディープラーニングアルゴリズムを設計しました。3つ目の研究では、ランダムシャッフル分割下での分散型ディープラーニングアルゴリズムの収束率を初めて分析し、アルゴリズム設計の理論的な指針を提供しました

DC-ASGDアルゴリズム:非同期通信における勾配遅延の補正

確率的勾配降下法 (SGD) は、ディープラーニングの最も一般的な最適化アルゴリズムの 1 つです。更新式は次のとおりです。

フォーミュラ1

ここで、 wtは現在のモデル、 ( xtyt ) はランダムに選択されたデータ、 g( wt ; xtyt ) は現在のモデルwtに対する ( xtyt ) に対応する経験的損失関数の勾配、 η はステップサイズ/学習率です。

システム内に、確率的勾配法を使用してニューラル ネットワーク モデルを並列に最適化する複数の作業ノードがあると仮定すると、同期と非同期の 2 つの通信同期メカニズムが一般的に使用されます。

最適化の各ラウンドで、同期確率的勾配降下法 (Synchronous SGD) は、すべてのコンピューティング ノードが勾配計算を完了するのを待機し、各作業ノードで計算された確率的勾配を要約して平均化し、式 1 に従ってモデルを更新します。その後、作業ノードは更新されたモデルを受信し、次の反復ラウンドに入ります。 Sync SGD はすべてのコンピューティング ノードが勾配計算を完了するまで待機する必要があるため、バレル効果のようなもので、Sync SGD の計算速度は、計算効率が最も低い作業ノードによって引き下げられます。

非同期確率的勾配降下法 (非同期 SGD) の各反復ラウンドでは、各作業ノードは、すべてのコンピューティング ノードが勾配計算を完了するのを待たずに、確率的勾配を計算した後、モデルを直接更新します。そのため、非同期確率的勾配降下法は反復速度が速く、ディープニューラルネットワークのトレーニングにも広く使用されています。ただし、Async SGD は高速ですが、モデルの更新に使用される勾配が遅延されるため、アルゴリズムの精度に影響します。 「遅延勾配」とは何ですか?下の写真を見てみましょう。

図2 非同期確率的勾配降下法

非同期SGDプロセス中、ワーカーノードWorker(m)は、t回目の反復の開始時に最新のモデルパラメータwtとデータ( xtyt )を取得し、対応する確率的勾配gtを計算して返し、グローバルモデルwに更新します。勾配の計算にはある程度の時間がかかるため、この作業ノードが確率的勾配 g tを返すときには、モデルwt は他の作業ノードによって τ ラウンド更新されており、 wt になっている。つまり、Async SGD の更新式は次のようになります。

フォーミュラ2

式 1 と比較すると、式 2 でモデル wt を更新するために使用される確率的勾配は g( wt ; xt , yt ) であり、SGD で使用される確率的勾配 g(wt + τ ; xt+τ , yt ) と比較して τ ステップの遅延が発生します。したがって、非同期 SGD の確率的勾配を「遅延勾配」と呼びます。

遅延勾配の最大の問題は、毎回モデルを更新するために使用される勾配が正しい勾配ではないことです(g(w t ; x t , y t ) ≠ g(w t+τ ; x t+τ , y t+τ ) であることに注意)。そのため、非同期SGDはモデルの精度を損なうことになり、この現象はマシンの数が増えるにつれてますます深刻になります。下の図に示すように、コンピューティングノードの数が増えると、Async SGD の精度は徐々に低下します。

図 3. 非同期確率的勾配降下法のパフォーマンス。

では、非同期確率的勾配降下法はどのようにしてトレーニング速度を維持しながらより高い精度を達成できるのでしょうか?勾配遅延を補正できる DC-ASGD (遅延補正非同期 SGD) アルゴリズムを設計しました。

正しい勾配g(wt )と遅延勾配g( wt )の関係を調べるために、 wtでg(wt )をテイラー展開します。

このうち、∇g( wt )は勾配の勾配、つまり損失関数のヘッセ行列であり、H(g( wt ))は勾配のヘッセ行列である。明らかに、遅延勾配は実際には真の勾配のゼロ次近似であり、残りの項が遅延を引き起こします。したがって、高次の項をすべて計算すれば、遅延勾配を正確な勾配に修正できるというのが自然な考え方です。ただし、剰余には無限項があるため、正確に計算することはできません。したがって、遅延補正には上記の式の 1 次項を使用することを選択します。

ご存知のとおり、現代のディープニューラルネットワークモデルには数百万、あるいはそれ以上のパラメータがあり、ヘッセ行列 ∇g(w t ) を計算して保存することはほぼ不可能な作業になります。したがって、ヘッセ行列の適切な近似値を見つけることが、勾配遅延を補正するための鍵となります。フィッシャー情報行列の定義によれば、勾配の外積行列は

これはヘッセ行列の漸近的に不偏な推定値なので、ヘッセ行列を近似するためにG(w t )を使用することを選択します。これまでの研究によると、ニューラルネットワークモデルにおいてヘッセ行列の対角要素を使用してヘッセ行列を近似すると、計算量とストレージの複雑さを大幅に削減しながらアルゴリズムの精度を維持できることがわかっています。そのため、ヘッセ行列の近似としてdiag(G(w t ))を使用します。近似値の分散をさらに低減するために、(0,1] 間のパラメータ λ を使用してバイアスと分散を調整します。要約すると、遅延補正付き非同期確率的勾配降下法 (DC-ASGD) を次のように設計します。

遅延勾配g(w t )の補正項には一次勾配情報のみが含まれるため、計算コストとストレージコストはほとんど増加しません。

CIFAR10 データセットと ImageNet データセットで DC-ASGD アルゴリズムを評価しました。実験結果を次の 2 つの図に示します。

図4 DC-ASGDトレーニング/テストエラー_CIFAR-10

図5 DC-ASGDトレーニング/テストエラー_ImageNet

Async SGD アルゴリズムと比較すると、DC-ASGD アルゴリズムは同じ時間内に得られるモデル精度が大幅に向上し、Sync SGD よりも高く、基本的に SGD と同じモデル精度を達成できることが分かります。

アンサンブル圧縮アルゴリズム:非凸モデルの集約方法の改善

パラメータ平均化は、既存の分散型ディープラーニング アルゴリズムで非常に一般的なモデル集約方法です。損失関数がモデルパラメータに関して凸である場合、次の不等式が成り立ちます。

ここで、Kは計算ノードの数、 wkはローカルモデル、

はパラメータ平均化後のモデルであり、(x, y) は任意のサンプルデータです。不等式の左側は平均モデルに対応する損失関数であり、右側は各ローカルモデルの損失関数値の平均値です。凸問題におけるパラメータ平均化により、モデルのパフォーマンスを維持できることがわかります。

ただし、非凸ニューラル ネットワーク モデルの場合、上記の不等式は成立しなくなり、平均モデルのパフォーマンスは保証されなくなります。これは実験的にも検証されています。図 6 に示すように、異なる相互作用頻度 (特に低頻度の相互作用) の場合、パラメータの平均化によってトレーニングの精度が大幅に低下し、トレーニング プロセスが極めて不安定になります。

図6 パラメータ平均化に基づく分散アルゴリズムのトレーニング曲線(DNNモデル)

この問題に対処するために、分散ディープラーニングにおけるモデル集約アプローチとして、モデル平均化ではなくモデルアンサンブルを使用することを提案します。ニューラル ネットワークの損失関数はモデル パラメーターに関しては非凸ですが、モデル出力に関しては一般に凸です (ディープラーニングでよく使用されるクロス エントロピー損失など)。このとき、凸性を利用すると、次の不等式が得られます。

このうち、不等式の左側がアンサンブルモデルの損失関数値です。非凸モデルの場合、統合モデルはパフォーマンスを維持できることがわかります。

しかし、ニューラル ネットワーク モデルのサイズは統合ごとに何倍にも増加し、モデル サイズが爆発するという問題が発生します。では、モデルのサイズを大きくせずにモデル統合の利点を活用する方法はあるのでしょうか?モデル アンサンブルとモデル圧縮の両方に基づいたモデル集約方法、つまりアンサンブル圧縮法を提案します。各アンサンブルの後に、アンサンブル モデルの圧縮を実行します。

アルゴリズムは 3 つのステップに分かれています。

  1. 各コンピューティング ノードは、ローカル最適化アルゴリズムのトレーニングとローカル データに基づいてローカル モデルをトレーニングします。

  2. コンピューティングノードは、ローカルモデルを介して相互に通信して統合モデルを取得し、ローカルデータ(の一部)に統合モデルの出力値を注釈付けします。

  3. モデル圧縮技術(知識蒸留など)をデータ再ラベル付け情報と組み合わせて使用​​し、各作業ノードでモデル圧縮を実行して、ローカル モデルと同じサイズの新しいモデルを最終的な集約モデルとして取得します。計算労力をさらに節約するために、蒸留プロセスをローカル モデル トレーニング プロセスと組み合わせることができます。

この統合圧縮集約方法は、統合によってパフォーマンスを向上させるだけでなく、反復学習プロセス中にグローバル モデルのスケールを維持することもできます。 CIFA-10 と ImageNet での実験結果も、統合圧縮集約法の有効性を十分に検証しています (図 7 と 8 を参照)。ワーカーノード間の通信頻度が低い場合、パラメータ平均化方式のパフォーマンスは低下しますが、モデル統合圧縮方式では依然として理想的な結果を達成できます。これは、サブモデルが多様であるほどアンサンブル学習がより効果的に機能し、通信頻度が低いほど各ローカルモデルがより分散され、より多様になるためです。同時に、通信頻度が低いということは、通信コストが低くなることを意味します。したがって、モデル統合圧縮方式は、ネットワーク環境が悪いシナリオに適しています。

図7 CIFARデータセットにおけるさまざまな分散アルゴリズムの比較

図8 ImageNetデータセットにおけるさまざまな分散アルゴリズムの比較

モデルアンサンブルに基づく分散アルゴリズムは比較的新しい研究分野であり、未解決の問題がまだ多く残っています。たとえば、動作中のノードの数が多い場合や、ローカル モデル自体が非常に大きい場合、統合モデルの規模が非常に大きくなり、ネットワークのオーバーヘッドが大きくなります。さらに、統合モデルが大きい場合、モデル圧縮も大きなオーバーヘッドになります。 ICLR 2018 では、Hinton らが提案した Co-distillation 法が、この研究とは動機は異なりますが、そのアルゴリズムはこの研究と非常に似ていることは注目に値します。これらの関連性をどのように理解し、これらの制限にどのように対処するかによって、新しい研究が生まれ、興味のある読者はそれについて考えることができます。

ランダムシャッフル下におけるアルゴリズムの収束解析:分散型深層学習理論の改善

最後に、分散ディープラーニングの理論の改善に関する私たちの最近の取り組みについて簡単に紹介しましょう。

分散型ディープラーニングで一般的に使用されるデータ割り当て戦略は、ランダムに再配置した後、データを均等に分割することです。具体的には、すべてのトレーニング データをランダムにシャッフルしてデータの並べ替えを行い、データ セットを順番に均等に分割して、各部分をコンピューティング ノードに保存します。データがラウンドを通過した後、すべてのローカルデータが収集され、上記のプロセスが繰り返される場合、一般的に「グローバル並べ替え」と呼ばれます。ローカルデータのみがランダムに並べ替えられる場合、一般的に「ローカル並べ替え」と呼ばれます。

既存の分散型ディープラーニング理論のほとんどは、データが独立しており、同一に分散されていることを前提としています。ただし、Fisher-Yates アルゴリズムに基づくランダムな再シャッフルは、実際には非置換サンプリングと同等であり、トレーニング データはもはや独立しておらず、同一に分布していません。したがって、各ラウンドで計算される確率的勾配は、正確な勾配の不偏推定値ではなくなり、分散確率的最適化アルゴリズムの以前の理論分析方法は適用できなくなり、既存の収束結果が依然として保持されない可能性があります。

我々は、トランスダクティブ・ラーデマンチャー複雑度をツールとして使用し、正確な勾配に関する確率的勾配の偏差の上限を与え、ランダムシャッフル下での分散型深層学習アルゴリズムの収束分析を証明します。

目的関数が滑らか(必ずしも凸関数ではない)であり、システム内に K 個のコンピューティング ノードがあり、トレーニング ラウンド数(エポック)が S、トレーニング データの合計が n であると仮定します。分散 SGD アルゴリズムを検討します。

(1)グローバルランダム再配置データ割り当て戦略を採用した場合、アルゴリズムの収束率は、非IID特性によって生じる追加誤差は、となる。したがって、データ通過のラウンド数がトレーニングサンプル数よりもはるかに少ない場合(S ≪n)、追加エラーの影響は無視できます。既存の分散型ディープラーニングタスクでは S ≪n を満たすことが容易であることを考慮すると、グローバルランダム並べ替えは分散アルゴリズムの収束率に影響を与えません。

(2)局所再配置戦略データ割り当て戦略を採用した場合、アルゴリズムの収束率は

非iid特性はより大きな追加誤差をもたらす。

。その理由は、ランダムな再配置がローカルで実行されるため、異なるコンピューティング ノード間のデータが相互作用せず、データの多様性が高まり、確率的勾配の偏差も大きくなるからです。データ通過回数がS≪n/K 2の場合、追加誤差の影響は無視できます。つまり、ローカル再配置データ割り当て戦略を使用する場合、アルゴリズムで渡されるデータのラウンド数は、コンピューティング ノードの数によって影響を受けます。コンピューティング ノードの数が多い場合、ラウンドの数はあまり大きくできません。

現在、分散型ディープラーニングの分野は急速に発展しており、上記の研究は私たちの研究グループによる予備的な調査にすぎません。この記事が、より多くの研究者に「分散」と「ディープラーニング」を深く統合する必要があることを理解してもらい、分散ディープラーニングの新たな発展を一緒に推進していければと思います。

著者について:

[[241789]]

Chen Wei は、Microsoft Research Asia の機械学習グループの上級研究員です。機械学習のさまざまな分野における理論的説明とアルゴリズムの改善を研究しており、特にディープラーニング、強化学習、分散機械学習、ゲー​​ム理論的機械学習、ランク付け学習に重点を置いています。 Chen Wei は 2011 年に Microsoft Research Asia に入社し、機械学習理論プロジェクトを担当しています。NIPS、ICML、AAAI、IJCAI などの関連分野のトップクラスの国際会議やジャーナルに論文を発表しています。

参考文献:

  • Shuxin Zheng、Qi Meng、Taifeng Wang、Wei Chen、Zhi-Ming Ma、Tie-Yan Liu、遅延補償付き非同期確率勾配降下法、ICML2017

  • Shizhao Sun、Wei Chen、Jiang Bian、Xiaoguang Liu、Tie-Yan Liu、「アンサンブル圧縮: ディープ ニューラル ネットワークの並列トレーニングのための新しい手法」、ECML 2017

  • Qi Meng、Wei Chen、Yue Wang、Zhi-Ming Ma、Tie-Yan Liu、「シャッフルによる分散確率的勾配降下法の収束解析」、https://arxiv.org/abs/1709.10432

<<:  レノボ、HPC+AI によるアルゴリズムの世界を構築する初のハイブリッド インテリジェンス アカデミック カンファレンスに初参加

>>:  アルゴリズムに関する8冊の良書を読めば、AIを本当に理解できる

ブログ    
ブログ    

推薦する

AIが人間社会に与える影響

今後 25 年間は、既存の制御可能かつプログラム可能ないわゆる「人工知能」を活用して、人類が生物学の...

Microsoft Bing Chat が AI 株取引機能を解放: 将来の株価動向を予測可能

Microsoft は、生成 AI のさまざまな可能性を積極的に模索しています。将来の応用シナリオの...

...

オープンAI音声アシスタントMycroftでプライバシーを確​​保

[[258822]] [51CTO.com クイック翻訳] 音声アシスト技術は非常に人気があり、すで...

女の子とのいちゃつきを例にとると、5分でディープラーニングが理解できます!

[[196604]] [51CTO.com からのオリジナル記事]現在、AI が業界で重要な役割を...

...

食習慣の変化に伴い、スマートロボットキッチン技術が熱を帯びる

COVID-19パンデミックが続く中、非接触型の食事がますます人気になっています。宅配やテイクアウト...

...

...

Midjourney はテキストを生成できます。 V6バージョンの5つの主要なアップグレードがネットユーザーを驚かせる

Midjourney がメジャーアップデートされ、バージョン V6 がリリースされました!アップデー...

...

将来の不動産価格決定はAIが最終決定する

一部の企業にとって、新型コロナウイルス感染症のパンデミックは壊滅的な打撃となっている。しかし、他の企...

人工知能アプリケーションのための6つの主要技術、ついに誰かがわかりやすく説明

[[338620]]画像はPexelsよりこの記事はWeChatの公開アカウント「Big Data ...

ガートナー 2019 人工知能成熟サイクルのトレンド

このガートナーのハイプサイクルは、AIが企業に及ぼすさまざまな影響を強調しています。ガートナーの 2...

...