Microsoft と Google はそれぞれ、分散型ディープラーニング フレームワークをオープンソース化しました。彼らの強みは何ですか?

Microsoft と Google はそれぞれ、分散型ディープラーニング フレームワークをオープンソース化しました。彼らの強みは何ですか?

[[351091]]

Microsoft と Google は、ディープ ニューラル ネットワークをトレーニングするための新しいフレームワークを積極的に研究しており、最近、それぞれの成果である Microsoft の PipeDream と Google の GPipe をオープンソース化しました。

原則として、それらはすべて同様の原則に従ってディープラーニング モデルをトレーニングします。両方のプロジェクトについては、それぞれの研究論文 (PipeDream、GPipe) で詳しく説明されており、この投稿ではその概要を説明します。

まずGitHubオープンソースアドレスを入力してください👇

マイクロソフト:

https://github.com/msr-fiddle/pipedream

グーグル:

https://github.com/tensorflow/lingvo/blob/master/lingvo/core/gpipe.py

ご存知のとおり、実験中、基本モデルのトレーニングは簡単ですが、複雑さはモデルの品質とサイズに応じて直線的に増加します。たとえば、2014 年の ImageNet 視覚認識チャレンジの優勝者は GoogleNet で、400 万のパラメータで 74.8% の TOP1 精度を達成しました。一方、わずか 3 年後の 2017 年の ImageNet チャレンジの優勝者は、1 億 4,580 万のパラメータ (36 倍) を備えた最先端のニューラル ネットワークを使用して 82.7% の TOP1 精度を達成しました。しかし、同じ期間に GPU メモリは約 3 倍しか増加していません。

モデルが拡張されて精度が上がるにつれて、これらのモデルのトレーニングはますます困難になります。以前のサンプルは、より優れたトレーニングを実現するために GPU インフラストラクチャの改善に依存することは持続可能ではないことも示しています。トレーニングを拡張するには、異なるノード間でトレーニング ワークロードを並列化できる分散コンピューティング メソッドが必要です。分散トレーニングの概念は些細なことのように思えますが、実際には非常に複雑です。

Google の GPipe

GPipe は、ディープラーニング プログラムのトレーニング ワークロードのスケーリングに重点を置いています。ディープラーニング モデルで見落とされがちなのが、インフラストラクチャの観点から見たトレーニング プロセスの複雑さです。トレーニング データセットはますます大きくなり、複雑になっています。たとえば、医療分野では、何百万もの高解像度画像を使用してモデルをトレーニングする必要があることは珍しくありません。その結果、トレーニング プロセスは完了するまでに長い時間がかかり、メモリと CPU を大量に消費することになります。

ディープラーニングモデルの分布を考える上で効果的な方法は、データの分布とモデルの分布に分けて考えることです。データ分散アプローチでは、大規模なマシン クラスターを採用し、入力データをそれらの間で分割します。モデル配布は、モデルのトレーニングを高速化するために、GPU や TPU などの特定のハードウェアを備えたアクセラレータにモデルを移動しようとします。

概念的には、ほぼすべてのトレーニング データ セットは特定のロジックに従って分散トレーニングできますが、モデルに関する記述はまったく同じではありません。たとえば、一部のディープラーニング モデルは、独立してトレーニングできる並列ブランチで構成されています。その場合、計算を複数のパーティションに分割し、異なるパーティションを異なるブランチに割り当てるのが一般的な戦略です。しかし、この戦略は、レイヤーを順番に積み重ねるディープラーニング モデルでは不十分です。

GPipe は、パイプラインと呼ばれる技術を活用して、データとモデルを分散的に組み合わせます。概念的には、GPipe は、同期確率的勾配降下法とパイプライン分散をトレーニングに使用する分散型機械学習ライブラリであり、複数の連続したレイヤーで構成される任意の DNN に適用できます。

GPipe はモデルをさまざまなアクセラレータに分割し、トレーニング サンプルのミニバッチをより小さなマイクロバッチに自動的に分割します。このモデルにより、GPipe のアクセラレータを並列実行できるようになり、トレーニング プロセスのスケーラビリティが最大化されます。

次の図は、4 つのアクセラレータに分散された連続したレイヤーを持つニューラル ネットワークの GPipe モデルを示しています。 Fk は、k 番目のパーティションの複合順方向関数です。 Bk は対応するバックプロパゲーション関数です。 Bk は Bk+1 と上位層の Fk の中間活性化に依存します。上位モデルでは、ネットワークの順次的な性質がリソースの活用不足にどのようにつながるかがわかります。次の図は、入力ミニバッチがアクセラレータによって同時に処理できる小さなマクロバッチに分割される GPipe アプローチを示しています。

画像出典:

https://arxiv.org/pdf/1811.06965.pdf

マイクロソフトのパイプドリーム

数か月前、Microsoft Research は、分散型ディープラーニングの簡素化を目的とした一連の研究プロジェクトである Project Fiddle の創設を発表しました。 PipeDreams は、ディープラーニング モデル トレーニングの並列化に重点を置いた Fiddle プロジェクトの最初のリリースの 1 つです。

PipeDream は、パイプライン分散と呼ばれる技術を活用してディープラーニング モデルのトレーニングを拡張するという、他のアプローチとは異なるアプローチを採用しています。このアプローチは、GPipe で使用されるようなデータおよびモデルの並列技術のいくつかの課題に対処しようとします。

通常、データ並列アプローチでは、クラウド インフラストラクチャでのトレーニングや GPU 計算速度が時間の経過とともに増加すると、大規模な通信コストが高くなります。同様に、モデル配布技術はハードウェア リソースの利用効率が低いことが多く、ハードウェアの展開を考慮して特定のモデルをどのように分割するかを決定する際にプログラマーに不必要な負担がかかります。

画像出典:

http://www.microsoft.com/zh-cn/research/uploads/prod/2019/08/fiddle_pipedream_sosp19.pdf

PipeDream は、パイプライン分散と呼ばれる手法を使用して、データ モデルに対する分散アプローチの課題の一部を克服しようとします。

概念的には、パイプライン分散計算では、DNN モデルのレイヤーを複数のステージに分割し、各ステージはモデル内の連続したレイヤーのセットから構成されます。各ステージは個別の GPU にマップされ、そのステージ内のすべてのレイヤーに対して順方向パス (および逆方向パス) を実行します。

PipeDream は、特定のディープ ニューラル ネットワークが与えられると、単一の GPU での実行の簡単なプロファイリングに基づいて、DNN の演算子を分割する方法を自動的に決定し、さまざまなステージ間で計算負荷を分散しながら、ターゲット プラットフォームとの通信を最小限に抑えます。 PipeDream は、モデルの多様性 (計算と通信) とプラットフォームの多様性 (相互接続トポロジと階層化された帯域幅) が存在する場合でも、効率的に負荷分散を行います。 PipeDream のトレーニング分散アプローチの原則には、データ モデル分散アプローチに比べていくつかの利点があります。

まず、PipeDream では、パイプライン実行の各ワーカーが勾配のサブセットと出力アクティベーション情報を他の 1 つのワーカーに通信するだけで済むため、ワーカー ノード間の通信が少なくて済みます。

画像出典:

https://www.microsoft.com/zh-cn/research/uploads/prod/2019/08/fiddle_pipedream_sosp19.pdf

分散トレーニングは、より大規模で正確なディープラーニング モデルを構築する上で重要な課題の 1 つです。分散トレーニング手法は、ディープラーニング コミュニティで活発に研究されている分野であり、効率的な並行プログラミング手法とディープラーニング モデルの性質を統合する必要があります。 Google の GPipe と Microsoft の PipeDream はまだ初期段階ではありますが、それ自体がすでに優れた製品であり、ディープラーニング開発者が利用できる最も革新的な分散トレーニング アプローチの 2 つを表しています。

<<:  Oracle Fusion Enterprise Performance Management Cloudは、計画と予算管理を使用して市場の変化に対応します。

>>:  Huawei Cloud 11.11クラウドカーニバルが開幕、「バイヤーショー」の第一波が戦場に到着

推薦する

VPS 50% オフ: vps.net - 2.5 USD/Xen/512 MB RAM/15 GB SSD/1 TB 帯域幅/10 データセンター

UK2 グループの子会社である VPS.NET は、XEN ベースの仮想 VPS を 50% 割引で...

モバイル時代の検索危機: 大量のリンクからユーザーを救えるのは誰か?

収益の96%を広告から得ているインターネット大手のGoogleは、モバイル時代において良い成績表を出...

ウェブマスターネットワークからの毎日のレポート: Google が統合検索を開始、YY が米国で株式を公開

1. GoogleがGmailと他のサービスを統合した統合検索を開始新浪科技報、北京時間10月16日...

Baidu 入札アカウント最適化の核心: キーワードの品質を向上させる方法

Baidu 入札アカウントを最適化している人は、品質がいかに重要であるかを知っているはずです。キーワ...

ウェブサイトの最適化において、記事執筆の詳細を無視していませんか?

多くの人は、ウェブサイトの最適化、特に記事の細部を見落としがちです。コンテンツこそが王様だと言い続け...

「ダブル11オンラインショッピングカーニバル」は実はあなたが思っているものとは違います

タオバオの世界では、祭りがなければ祭りを作るのが典型的な文化です。なぜなら、休日のプロモーションは、...

企業はクラウドコスト最適化のパラドックスをどのように解決すべきでしょうか?

「クラウドのコスト、1兆ドルのパラドックス」と題された最近の分析が大きな注目を集めています。この記事...

オープンソースのクラウド開発は時には面倒な作業になる

デビッド・リンシカムノアが編集オープンソースは、IT 業界では賛否両論の話題となることが多く、私のキ...

SKYCC 組み合わせマーケティング ソフトウェアのハイライト トラッキング 3: SEO 補助ツールの組み合わせ

2012年2月にSKYCC複合マーケティングソフトウェアが発売されて以来、SKYCC複合マーケティン...

$著作権なし/外国貿易 VPS# hostsolutions-年間 38 ユーロ/メモリ 4g/コア 4 個/ハード ドライブ 400g/トラフィック 10T

Hostsolutions のルーマニア VPS が利用可能になりました: ストレージ VPS はオ...

ウェブサイトにインデックスが多ければ多いほど本当に良いのでしょうか?

掲載数が多いほど、ウェブサイトの品質のより良い尺度となるのでしょうか? 以前は、私たち個々のウェブマ...

Baidu Share なしでウェブサイトを最適化する方法はありますか?

Baidu を使用する際に、Baidu スナップショット後の Baidu 共有データに注目したことが...

ウェブサイトのランキングを向上させるための4つの簡単なサイト内最適化

ウェブマスターは、ウェブサイトの状況に応じて、毎日一連の最適化戦略を調整していますが、ほとんどのウェ...

高品質コンテンツと低品質コンテンツを理解する

ウェブサイトのコンテンツは、その核となる魂です。検索エンジンのアルゴリズムが進化し続ける中、オリジナ...

HPA PaaS コミュニティが設立されました!

1. HPA PaaSとは注: HP APaaS には、ゼロ コード、ロー コード プラットフォーム...