Qu'est-ce que DeepEP ?
DeepEP est dédié à la distribution des MoE et aux opérations de fusion, et prend en charge les opérations de faible précision, y compris le FP8. Parallèlement, DeepEP est spécialement optimisé pour l'algorithme de limitation de groupe proposé dans l'article DeepSeek-V3, et fournit une série de cœurs haute performance pour la transmission asymétrique de la bande passante (par exemple, des domaines NVLink aux domaines RDMA). Ces cœurs ont non seulement un débit élevé pour les tâches d'entraînement et de prépeuplement d'inférence, mais ils prennent également en charge le contrôle du nombre de multiprocesseurs de flux (SM). Pour les scénarios de décodage d'inférence sensibles à la latence, DeepEP inclut un ensemble de cœurs RDMA purs à faible latence pour minimiser la latence. La bibliothèque introduit également une approche de chevauchement communication-calcul basée sur des crochets qui ne consomme aucune ressource SM, ce qui améliore encore l'efficacité.
Qu'est-ce qu'un modèle d'expertise mixte ?
Un modèle expert hybride est une architecture de réseau neuronal qui combine plusieurs réseaux "experts", avec un réseau "à portes" qui décide vers quels experts acheminer les données d'entrée. Cette architecture permet au modèle d'augmenter considérablement sa taille tout en restant efficace sur le plan informatique, puisque seuls certains des experts sont activés à la fois plutôt que tous les réseaux.Le concept MoE a été proposé pour la première fois par Jacobs, Jordan et Hinton en 1991, mais n'a été largement utilisé dans la modélisation linguistique à grande échelle qu'au cours des dernières années. L'architecture MoE est utilisée par Switch Transformers de Google, Z-Code de Microsoft et DeepSeek-V3 de DeepSeek, qui permet la formation et le déploiement de modèles à grande échelle grâce à l'activation éparse d'experts.
Performance du DeepEP
Noyaux normaux avec NVLink et RDMA forwarding
Nous testons des noyaux normaux sur H800 (~160 Go/s de bande passante NVLink maximale), chacun étant connecté à une carte réseau CX7 InfiniBand 400 Gb/s RDMA (~50 Go/s de bande passante maximale). Nous suivons les paramètres de pré-entraînement de DeepSeek-V3/R1 (4096 tokens par lot, 7168 cachés, top-4 groupes, top-8 experts, FP8 dispatching et BF16 combining).
Type |
Envoi #EP |
Goulot d'étranglement de la bande passante |
Combiner #EP |
Goulot d'étranglement de la bande passante |
Intranode |
8 |
153 Go/s (NVLink) |
8 |
158 Go/s (NVLink) |
Internode |
16 |
43 Go/s (RDMA) |
16 |
43 Go/s (RDMA) |
Internode |
32 |
44 GB/s (RDMA) |
32 |
47 GB/s (RDMA) |
Internode |
64 |
46 GB/s (RDMA) |
64 |
45 GB/s (RDMA) |
Noyaux à faible latence avec RDMA pur
Nous testons des noyaux à faible latence sur H800, chacun étant connecté à une carte réseau CX7 InfiniBand 400 Gb/s RDMA (~50 GB/s de bande passante maximale). Nous suivons une configuration de production DeepSeek-V3/R1 typique (128 jetons par lot, 7168 cachés, top-8 experts, FP8 dispatching et BF16 combining).
Envoi #EP |
Temps de latence |
Bande passante RDMA |
Combiner #EP |
Temps de latence |
Bande passante RDMA |
8 |
163 nous |
46 GB/s |
8 |
318 nous |
46 GB/s |
16 |
173 nous |
43 GB/s |
16 |
329 nous |
44 GB/s |
32 |
182 nous |
41 GB/s |
32 |
350 nous |
41 GB/s |
64 |
186 nous |
40 GB/s |
64 |
353 utilisateurs |
41 GB/s |
128 |
192 nous |
39 GB/s |
128 |
369 Nous |
39 GB/s |
256 |
194 nous |
39 GB/s |
256 |
360 us |
40 GB/s |