DeepEPの特徴

1

プロフェッショナルな分散型コミュニケーション・フレームワーク

DeepEPは、MoE(Mixture of Experts)およびEP(Expert Parallel)シナリオ専用に最適化された次世代分散通信フレームワークです。当社のフレームワークは、GPU向けに高スループット、低レイテンシーの全対全通信カーネルを提供し、MoEスケジューリングとコンポーザブル演算を完璧にサポートします。

2

高性能アーキテクチャ

純粋なRDMA技術に基づくDeepEPは、推論解読性能のために特別に最適化された低遅延カーネルのセットを提供し、SMリソースを占有することなく優れた並列効率を達成する独自のフックベースの通信-計算オーバーラップ方式を特徴としています。

3

革新的技術

DeepEPは、FP8を含む低精度演算をサポートし、DeepSeek-V3で提案されたグループ制約付きゲーティングアルゴリズムの最適化を提供します。私たちのフレームワークは特に、NVLinkからRDMAといった異種ドメイン間での効率的なデータ転送をサポートし、トレーニングや推論のプリフェッチタスクで卓越した性能を保証します。

DeepEPとは?

DeepEPはMoEの分配とマージ演算に特化しており、FP8を含む低精度演算をサポートしている。同時に、DeepEPは、DeepSeek-V3論文で提案されたグループリミットゲーティングアルゴリズム用に特別に最適化されており、非対称ドメイン帯域幅転送(NVLinkドメインからRDMAドメインへの転送など)用の一連の高性能コアを提供する。これらのコアは、トレーニングや推論のプリ・ポピュレーション・タスクに対して高いスループットを持つだけでなく、ストリーム・マルチプロセッサ(SM)のカウント制御もサポートしています。レイテンシに敏感な推論デコーディングシナリオのために、DeepEPには、レイテンシを最小化するための純粋なRDMA低レイテンシコアのセットが含まれています。また、このライブラリは、SMリソースを消費しないフックベースの通信と計算のオーバーラップアプローチを導入し、効率をさらに向上させています。

混合専門知識モデル(MoE)とは何か?

ハイブリッドエキスパートモデルとは、複数の「エキスパート」ネットワークを組み合わせたニューラルネットワークアーキテクチャであり、「ゲート」ネットワークが入力データをどのエキスパートにルーティングするかを決定する。MoEのコンセプトは1991年にJacobs、Jordan、Hintonによって初めて提案されたが、近年まで大規模な言語モデリングには広く使われていなかった。MoEアーキテクチャは、GoogleのSwitch Transformers、MicrosoftのZ-Code、DeepSeekのDeepSeek-V3で使用されており、エキスパートの疎な活性化を通じて、より大規模なモデルの学習と展開を可能にしている。

ディープEPのパフォーマンス

NVLinkとRDMAフォワーディングを備えた通常のカーネル

H800(~160 GB/sのNVLink最大帯域幅)で通常のカーネルをテストし、それぞれをCX7 InfiniBand 400 Gb/s RDMAネットワークカード(~50 GB/sの最大帯域幅)に接続しました。また、DeepSeek-V3/R1の事前学習設定(バッチあたり4096トークン、7168非表示、トップ4グループ、トップ8エキスパート、FP8ディスパッチ、BF16結合)に従っています。

タイプ 派遣 #EP ボトルネック帯域幅 #EPを組み合わせる ボトルネック帯域幅
イントラノード 8 153GB/秒(NVLink) 8 158GB/秒(NVLink)
インターノード 16 43GB/秒(RDMA) 16 43GB/秒(RDMA)
インターノード 32 44GB/秒(RDMA) 32 47GB/秒(RDMA)
インターノード 64 46 GB/秒(RDMA) 64 45GB/秒(RDMA)

純粋なRDMAによる低遅延カーネル

低レイテンシのカーネルをH800でテストし、それぞれをCX7 InfiniBand 400 Gb/s RDMAネットワークカードに接続しました(最大帯域幅は50 GB/s)。また、典型的なDeepSeek-V3/R1の本番環境(バッチあたり128トークン、7168の非表示、トップ8のエキスパート、FP8のディスパッチ、BF16の結合)に従っています。

派遣 #EP レイテンシー RDMA帯域幅 #EPを組み合わせる レイテンシー RDMA帯域幅
8 163名 46 GB/秒 8 318名 46 GB/秒
16 173名 43 GB/秒 16 329名 44GB/秒
32 182名 41GB/秒 32 350名 41GB/秒
64 186名 40 GB/秒 64 353名 41GB/秒
128 192名 39 GB/秒 128 369名 39 GB/秒
256 194名 39 GB/秒 256 360名 40 GB/秒

DeepEPの使い方は?

DeepEPを使用するには、Hopper GPU、Python 3.8+、CUDA 12.3+、PyTorch 2.1+、およびノード内通信用のNVLinkとノード間通信用のRDMAネットワークが必要です。ライブラリはNVSHMEMの修正バージョンに依存しており、インストール前に設定する必要があります。

開発

# SO ファイルのシンボリックリンクの構築と作成
NVSHMEM_DIR=/path/to/installed/nvshmem python setup.py build
# 特定のSO名は、ご自身のプラットフォームに合わせて変更してください。
ln -s build/lib.linux-x86_64-cpython-38/deep_ep_cpp.cpython-38-x86_64-linux-gnu.so

# テストケースの実行
# NOTES: `tests/utils.py` の `init_dist` 関数を変更してください。
#を自分のクラスタ設定に合わせ、複数ノードに起動する。
python tests/test_intranode.py
python tests/test_internode.py
python tests/test_low_latency.py

インストール

NVSHMEM_DIR=/path/to/installed/nvshmem python setup.py install

もっとDeepEP: https://github.com/deepseek-ai/Deepep