大規模モデル分散並列技術 - データ並列最適化

大規模モデル分散並列技術 - データ並列最適化

コミュニケーションの融合

上記から、各モデル勾配はデータ並列処理で同期される必要があることがわかります。これは、プロセス間の Allreduce 通信を通じて実現されます。モデルに多数のパラメータがある場合、データ並列トレーニングの各ステップで多くの Allreduce 通信が発生します。次の図は、融合勾配同期の例です。

融合勾配同期の例

通信の時間消費は、通信遅延(ランテンシー)とデータ伝送時間消費の 2 つの側面から考えることができます。単一の通信の遅延時間は比較的固定されていますが、送信時間は通信のデータ量と帯域幅によって決まります。通信頻度を減らすことで、総通信消費量を削減できます。コミュニケーションの融合は実現可能な手段です。 N 勾配の Allreduce 通信を 1 つの Allreduce 通信にマージすることで、通信遅延時間を N-1 倍短縮できます。

一般的に使用される Allreduce 融合実装方法は、通信前に複数の勾配テンソルを連続したメモリ アドレスを持つ大きなテンソルに結合します。勾配同期中は、結合された大きなテンソルに対して 1 つの Allreduce 操作のみが実行されます。パラメータを更新する場合、大きなテンソルが分割され、複数の小さなテンソルに復元されて、各勾配に対応するパラメータの更新が完了します。

通信計算の重複

絶対的な通信時間消費を削減するだけでなく、全体的なトレーニング時間消費を削減するという観点から最適化することも可能です。通信とコンピューティングの非同期パイプライン実装を検討できます。データ並列処理における勾配同期 Allreduce 通信は、トレーニングの逆プロセスで実行され、Allreduce 後に得られた同期勾配はトレーニングの更新プロセスで使用されますが、逆プロセスでは使用されません。つまり、前の勾配の通信と次の勾配の計算の間には依存関係はありません。通信と計算を並行して実行できるため、両者の消費時間が重なり合ってカバーされ、逆方向の消費時間が短縮されます。次の図は、通信と計算が重なり合う並列処理の例を示しています

通信計算の並列オーバーラップの例。

通信と計算のオーバーラップは通常、通信演算子と計算演算子を異なるストリームにスケジュールすることによって実現されます。通信演算子は通信ストリームにスケジュールされ、計算演算子は計算ストリームにスケジュールされます。同じストリーム上の演算子は順番に実行されますが、異なるストリーム上の演算子は並列に実行できるため、勾配通信と逆方向の計算の並列オーバーラップが実現します。通信と計算が異なるストリームで実行されるようにスケジュールされている場合、2 つのストリーム間の依存関係と同期関係を考慮する必要があることに注意してください。

  • 勾配の Allreduce 通信が実行される前に、勾配の逆計算が完了しています。
  • 勾配に対応するパラメータの更新計算が開始される前に、勾配の Allreduce 通信が完了しています。

勾配同期のデータ並列シナリオでは、開発者はストリーム間の同期機能を使用して次の点を保証する必要があります。

上記の 2 つの方法は、通信時間の消費を削減し、並列加速率を向上させるために、データ並列処理で一般的に使用される最適化戦略です。通信とコンピューティングの重複が大きい​​ほど、データ並列加速率は 100% に近づき、トレーニング スループットの向上におけるマルチカード並列処理の効率が高まります。

<<:  クラウドって、何がそんなに高いんですか?

>>:  KEDA: K8Sアプリケーションのイベント駆動型拡張の徹底的な実践

推薦する

ショッピングシェアリングサイトを最適化するためのポイント

写真は常にインターネット上で情報を広めるための重要な媒体でした。その直感性と美しさから、多くのウェブ...

マンランプランニングが中国のバレンタインデーのマーケティング戦略を再定義

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています毎年恒例の...

IBM副社長:サン買収後、SPARCユーザーを移行予定

IBMがサン・マイクロシステムズの買収交渉中であるというメディア報道を受けて、IBMのサーバー担当副...

SEO サービスの倫理規定

今日、インターネットマーケティングは商品を販売するための重要な手段となっています。インターネットを通...

ウェブサイト上のglobal.asaトロイの木馬の被害と解決策

この期間中、顧客の Web サイトがハッキングされたケースがいくつか見つかりました。これらの Web...

ターゲットキーワードをより早く見つけるための4つの簡単な方法

最適化に取り組み始めたばかりの人の多くは、SEO に取り組み始めた頃の私と同じように、サイトの最適化...

APPプロモーションノート:100日間のチャンネルプロモーション作業の概要!各種チャンネルリソースのリストを添付します。

1. アプリ推奨サイトが自らを推奨する最も美しいアプリケーション、Coolan.com、DEMO8、...

NetEase Cloud: オーディオとビデオのトレンドが生まれ、R&Dの課題を解決する必要がある

近年、モバイルインターネットの普及とスマート端末機器の広範な使用により、ショートビデオ、ライブブロー...

サンフォーインダストリー大学の公式ウェブサイトが正式に開設されました

本日、サンフォー工業大学の公式ウェブサイトが正式に開設されました。当社は、今後も政府、社会、大学、企...

Kafka を使い始める

著者: ninetyhe、Tencent CDG バックエンド開発エンジニア古いものを見直して新しい...

ステーションBの難しいバランス

これまで、ビリビリの香港上場については何度か噂が流れており、最も古いものは2017年7月に遡り、調達...

管理者が知っておくべき6つの構成管理ツール

[51CTO.com クイック翻訳] 仮想インフラストラクチャとソフトウェアの共通の特徴は、常に構成...

新しいウェブマスターは、Nofollowタグを使用する際に6つの問題を理解する必要があります

Nofollow タグは皆さんもよくご存知だと思います。ウェブマスターがウェブサイト上の特定のコンテ...

最近のWeChatの調整から、WeChatにどれだけのマーケティングの血が流れているかについて簡単に議論する

少し前に、自分のウェブサイトの公式WeChat公開プラットフォームにログインし、情報ページを確認する...

Tomcat と JVM のパフォーマンス チューニング体験のまとめ!受け取ってください、結構です

Tomcat パフォーマンス チューニングTomcat ルート ディレクトリの下の conf ディレ...