SHOUJIKE

DeepSeekオープンソース第4リリース:3つの並列最適化戦略を公開

2月27日、DeepSeek Open Source Week の4日目に、DeepSeek は最適化された並列処理戦略のうち 3 つをオープンソース化しました。

DualPipe: V3/R1 モデルのトレーニングで計算と通信をオーバーラップする双方向パイプライン並列アルゴリズム。

EPLB: V3/R1 向けのエキスパート並列負荷分散ツール

プロファイルデータ: トレーニングおよび推論フレームワークの分析データ

GitHub アドレス:

https://github.com/deepseek-ai/デュアルパイプ

https://github.com/deepseek-ai/eplb

https://github.com/deepseek-ai/プロファイルデータ

I. デュアルパイプ

DualPipe は、DeepSeek-V3 技術レポートで提案された革新的な双方向パイプライン並列アルゴリズムです。

これにより、パイプライン バブル (アイドル時間) を効果的に削減しながら、順方向と逆方向の計算および通信フェーズの完全なオーバーラップが可能になります。

DeepSeekは、8つの並列パイプラインステージと20個のマイクロバッチを使用して、双方向のDualPipeのスケジューリング例を示します。(DeepSeek-V3技術レポートより)

逆方向のマイクロバッチは順方向のマイクロバッチと対称的です。簡略化のため、逆方向のバッチIDはここでは省略しています。図中の同じ黒枠で囲まれた2つのセルでは、計算と通信が重複しています。

パイプラインバブルとメモリ使用量の比較

表では、F は前方チャンクの実行時間、B は完全な後方チャンクの実行時間、W は重み付け用後方チャンクの実行時間、F と B は同時に実行され、互いに重複する前方チャンクと後方チャンクの実行時間を表しています。

DualPipe はパイプの気泡 (アイドル時間) を大幅に削減し、効率性の向上を実現します。

II. エキスパートパラレルロードバランサ(EPLB)

エキスパート並列処理(EP)を使用する場合、異なるエキスパートモジュールが異なるGPUに割り当てられます。各エキスパートの計算負荷は現在のタスクに応じて変化するため、GPU間の負荷バランスを維持することが重要です。

DeepSeek-V3 の論文で説明されているように、研究者は冗長なエキスパート戦略を採用して、負荷の高いエキスパートを複製しました。

レプリケーションとデプロイメントを容易にするために、DeepSeekチームはEP負荷分散アルゴリズムをeplb.pyでオープンソース化しました。このアルゴリズムは、推定されたエキスパート負荷に基づいて、バランスの取れたエキスパートレプリケーションと配置計画を計算します。

エキスパート負荷を予測する具体的な方法は、このコードベースの説明の範囲外であることに注意してください。一般的なアプローチは、履歴統計データの移動平均を使用することです。

アルゴリズム

負荷分散アルゴリズムには、さまざまな状況に対応する 2 つの戦略が用意されています。

階層型負荷分散

階層型負荷分散戦略は、サーバーノード数をエキスパートグループ数で割った場合に、グループ限定エキスパートルーティングを活用するために使用されます。まず、エキスパートグループをノード間に均等に分散することで、異なるノード間での負荷分散を確保します。次に、各ノード内でエキスパートを複製します。最後に、複製されたエキスパートを個々のGPUに分散することで、異なるGPU間での負荷分散を確保します。この階層型負荷分散戦略により、事前設定フェーズにおいて、エキスパートの並列処理を小規模に行うことができます。

グローバル負荷分散

他のケースでは、グローバル負荷分散戦略が用いられます。これは、エキスパートグループに関係なく、エキスパートをグローバルに複製し、複製されたエキスパートを単一のGPUにパッケージ化するものです。この戦略は、大規模なエキスパート並列処理を必要とするデコードステージで採用できます。

III. DeepSeekインフラストラクチャにおけるデータ分析:プロファイルデータ

DeepSeek は、トレーニングおよび推論フレームワークからのパフォーマンス プロファイリング データを公開し、コミュニティが通信と計算の重複戦略と関連する基礎的な実装の詳細をより深く理解できるようにすることを目指しています。

このプロファイリング データは、PyTorch Profiler ツールを使用して取得されました。

開発者はソフトウェアをダウンロードし、Chrome ブラウザの chrome://tracing (または Edge ブラウザの edge://tracing) で直接アクセスして視覚化することができます。

分析を容易にするために、研究者は完全にバランスのとれた MoE ルーティング戦略をシミュレートしたことに留意する必要があります。

DeepSeek はこのデータのトレーニングと推論のプロセスも公開しました。