ホームMachine Learningdeepseek-ai/DeepEP
deepseek-ai

DeepEP

AI#Machine Learning#CUDA#NCCL#Distributed Training#GPU
GitHub で見る →
9,594

// 概要

DeepEP は、現代の機械学習のトレーニングや推論向けに設計された、エキスパート並列処理に特化した高性能通信ライブラリです。このライブラリは、軽量な Just-In-Time コンパイルモジュールと NCCL Gin バックエンドを活用し、高スループットかつ低レイテンシな GPU カーネルを実現します。パイプライン並列処理やリモートメモリアクセスなどの高度な機能をサポートし、以前のバージョンと比較して SM リソースの消費量を大幅に削減しました。

// 技術解説

DeepEP は、モダンな機械学習のトレーニングおよび推論向けに設計された高性能通信ライブラリであり、Expert Parallelism (EP) に重点を置いています。軽量な Just-In-Time (JIT) コンパイルモジュールを活用することで、複雑な CUDA のインストール手順を不要にしつつ、ハードウェアの帯域幅制限に匹敵またはそれを超えるパフォーマンスを実現します。V2 アーキテクチャでは、V1 と比較して SM の使用量を最大 4 倍削減することでリソース効率を大幅に向上させ、高スループットかつ低レイテンシな通信カーネルの統合を簡素化する統合 ElasticBuffer インターフェースを導入しました。

// 主要ハイライト

01
完全に JIT コンパイルされたカーネルにより、事前の CUDA コンパイルが不要となり、デプロイメントが簡素化されます。
02
NCCL Gin バックエンドは、既存の NCCL コミュニケーターを再利用する軽量なヘッダーオンリーの通信レイヤーを提供します。
03
EPv2 では SM および QP カウント計算への分析的アプローチが導入され、手動でのオートチューニングが不要になりました。
04
統合 ElasticBuffer インターフェースは、MoE の dispatch および combine 操作向けに、高スループットと低レイテンシの両方の API をサポートします。
05
大幅な SM リソースの最適化により、以前のバージョンよりも少ない SM 数で同等以上のパフォーマンスを実現します。
06
パイプライン並列、コンテキスト並列、およびリモートメモリアクセス (Engram) における zero-SM プリミティブの実験的サポートにより、計算リソースの可用性を最大化します。

// ユースケース

01
高スループットかつ低レイテンシな MoE の dispatch および combine 操作
02
大規模モデルのトレーニングと推論のための効率的なエキスパート並列処理
03
パイプライン並列処理、コンテキスト並列処理、およびリモートメモリアクセスの実験的なサポート

// クイックスタート

DeepEP を使い始めるには、pip を介して必要な NCCL 依存関係をインストールし、Hopper (SM90) GPU や RDMA 対応ネットワークなどのハードウェア要件が環境で満たされていることを確認してください。その後、「python setup.py install」を使用してライブラリをインストールし、ElasticBuffer を初期化して MoE 通信設定を管理することで、プロジェクトに統合できます。開発時には、「tests/」ディレクトリにある提供されたテストスクリプトを実行して、クラスター構成を検証してください。