O que é o DeepEP?
O DeepEP é dedicado às operações de distribuição e fusão de MoE, e suporta operações de baixa precisão, incluindo FP8. Ao mesmo tempo, o DeepEP é especialmente otimizado para o algoritmo de limite de grupo proposto no documento DeepSeek-V3 e fornece uma série de núcleos de alto desempenho para encaminhamento de largura de banda de domínio assimétrico (por exemplo, de domínios NVLink para domínios RDMA). Estes núcleos não só têm um elevado rendimento para tarefas de pré-população de formação e inferência, como também suportam o controlo de contagem de multiprocessadores (SM) de fluxo. Para cenários de decodificação de inferência sensíveis à latência, o DeepEP inclui um conjunto de núcleos puros de baixa latência RDMA para minimizar a latência. A biblioteca também introduz uma abordagem de sobreposição de comunicação-computação baseada em gancho que não consome nenhum recurso SM, melhorando ainda mais a eficiência.
O que é um Modelo de Competências Mistas (MdE)?
Um modelo de perito híbrido é uma arquitetura de rede neural que combina várias redes de "peritos", com uma rede "fechada" que decide para que peritos devem ser encaminhados os dados de entrada. Esta arquitetura permite que o modelo cresça significativamente em tamanho, mantendo-se computacionalmente eficiente, uma vez que apenas alguns dos especialistas são activados de cada vez, em vez de todas as redes. O conceito de MdE foi proposto pela primeira vez por Jacobs, Jordan e Hinton em 1991, mas não foi amplamente utilizado na modelação de línguas em grande escala até aos últimos anos. A arquitetura MoE é utilizada pelo Switch Transformers da Google, pelo Z-Code da Microsoft e pelo DeepSeek-V3 da DeepSeek, que permite a formação e implementação de modelos em grande escala através da ativação esparsa de especialistas.
Desempenho do DeepEP
Kernels normais com encaminhamento NVLink e RDMA
Testamos kernels normais no H800 (~160 GB/s de largura de banda máxima NVLink), com cada um conectado a uma placa de rede CX7 InfiniBand 400 Gb/s RDMA (~50 GB/s de largura de banda máxima). E seguimos a configuração de pré-treinamento do DeepSeek-V3/R1 (4096 tokens por lote, 7168 ocultos, top-4 grupos, top-8 especialistas, envio FP8 e combinação BF16).
Tipo |
Despacho #EP |
Largura de banda de estrangulamento |
Combinar #EP |
Largura de banda de estrangulamento |
Intranode |
8 |
153 GB/s (NVLink) |
8 |
158 GB/s (NVLink) |
Nó interno |
16 |
43 GB/s (RDMA) |
16 |
43 GB/s (RDMA) |
Nó interno |
32 |
44 GB/s (RDMA) |
32 |
47 GB/s (RDMA) |
Nó interno |
64 |
46 GB/s (RDMA) |
64 |
45 GB/s (RDMA) |
Kernels de baixa latência com RDMA puro
Testamos kernels de baixa latência no H800 com cada um conectado a uma placa de rede CX7 InfiniBand 400 Gb/s RDMA (~50 GB/s de largura de banda máxima). E seguimos uma configuração de produção típica do DeepSeek-V3/R1 (128 tokens por lote, 7168 ocultos, especialistas top-8, envio FP8 e combinação BF16).
Despacho #EP |
Latência |
Largura de banda RDMA |
Combinar #EP |
Latência |
Largura de banda RDMA |
8 |
163 nós |
46 GB/s |
8 |
318 nós |
46 GB/s |
16 |
173 nós |
43 GB/s |
16 |
329 nós |
44 GB/s |
32 |
182 nós |
41 GB/s |
32 |
350 us |
41 GB/s |
64 |
186 nós |
40 GB/s |
64 |
353 us |
41 GB/s |
128 |
192 nós |
39 GB/s |
128 |
369 us |
39 GB/s |
256 |
194 nós |
39 GB/s |
256 |
360 us |
40 GB/s |