deepseek-ai/DeepEP

DeepEP: an efficient expert-parallel communication library

解決する課題

DeepEPは、現代の機械学習のトレーニングおよび推論における通信ボトルネック、特にMixture-of-Experts (MoE) モデルにおける課題を解決します。エキスパート並列処理 (EP) のdispatchおよびcombine操作向けに、高スループット・低レイテンシのall-to-all GPUカーネルを提供し、GPU間のトークン移動のオーバーヘッドを削減すると同時に、Streaming Multiprocessors (SMs) の消費を最小限に抑えます。

仕組み

DeepEPは、軽量なJust-In-Time (JIT) コンパイルモジュールを利用して実行時にカーネルを生成する高性能通信ライブラリを実装しており、インストール時のCUDAコンパイルの必要性を排除しています。軽量な通信のためにNCCL Ginバックエンドを使用し、高スループットかつ低レイテンシのAPIを統合するためにElasticBufferインターフェースを提供します。このライブラリはFP8などの低精度フォーマットをサポートし、RDMAおよびNVLinkを活用して効率的なノード間およびノード内データ転送を実現します。また、パイプライン並列 (PP)、コンテキスト並列 (CP)、およびリモートメモリアクセス (Engram) のための実験的なプリミティブも含まれています。

対象ユーザー

Hopper (SM90) GPUまたはそれ以降のアーキテクチャ上で大規模なMoEモデルをトレーニングまたはデプロイしており、通信におけるハードウェア帯域幅の最大化とSMリソース使用量の最小化を必要とする開発者および研究者向けに設計されています。

ハイライト

  • 極めて高い効率性: V2は、V1と比較してSMリソースの使用量を最大4分の1に抑えつつ、ピークパフォーマンスを最大1.3倍達成しています。
  • JITコンパイル: カーネルは実行時にコンパイルされるため、インストールとデプロイが簡素化されます。
  • 解析的チューニング: 最適なSM数とQP数を自動的に計算し、手動のオートチューニングの必要性を排除します。
  • 幅広い並列処理サポート: エキスパート並列処理に加え、パイプライン並列、コンテキスト並列、およびリモートメモリアクセスの実験的なサポートを提供します。
  • 低精度サポート: FP8 dispatchingおよびBF16 combiningに最適化されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト