Características de DeepEP

1

Marco profesional de comunicación distribuida

DeepEP es un marco de comunicación distribuida de última generación optimizado específicamente para escenarios de Mezcla de Expertos (MoE) y Expertos Paralelos (EP). Nuestro marco de trabajo ofrece kernels de comunicación de alto rendimiento y baja latencia para GPUs, perfectamente compatibles con la programación de MoE y las operaciones componibles.

2

Arquitectura de alto rendimiento

DeepEP, basado en tecnología RDMA pura, proporciona un conjunto de kernels de baja latencia optimizados específicamente para el rendimiento de la descodificación de inferencias, con un método único de solapamiento de comunicación-computación basado en ganchos que consigue una excelente eficiencia paralela sin ocupar recursos SM.

3

Tecnología innovadora

DeepEP admite operaciones de baja precisión, incluida FP8, y proporciona optimización para el algoritmo de gating con restricciones de grupo propuesto en DeepSeek-V3. Nuestro marco es especialmente compatible con la transferencia eficiente de datos entre dominios heterogéneos, como NVLink a RDMA, lo que garantiza un rendimiento excepcional en las tareas de formación e inferencia.

¿Qué es DeepEP?

DeepEP está dedicado a las operaciones de distribución y fusión de MoE, y admite operaciones de baja precisión, incluida la FP8. Al mismo tiempo, DeepEP está especialmente optimizado para el algoritmo group-limit gating propuesto en el documento DeepSeek-V3, y proporciona una serie de núcleos de alto rendimiento para el reenvío de ancho de banda de dominio asimétrico (por ejemplo, de dominios NVLink a dominios RDMA). Estos núcleos no sólo tienen un alto rendimiento para las tareas de formación y prepoblación de inferencia, sino que también admiten el control de recuento de multiprocesadores de flujo (SM). Para escenarios de decodificación de inferencia sensibles a la latencia, DeepEP incluye un conjunto de núcleos RDMA puros de baja latencia para minimizar la latencia. La biblioteca también introduce un enfoque de solapamiento de comunicación-computación basado en ganchos que no consume ningún recurso SM, lo que mejora aún más la eficiencia.

¿Qué es un Modelo de Pericia Mixta (MdE)?

Un modelo experto híbrido es una arquitectura de red neuronal que combina varias redes "expertas", con una red "cerrada" que decide a qué expertos dirigir los datos de entrada. Esta arquitectura permite que el modelo aumente significativamente de tamaño sin dejar de ser eficiente desde el punto de vista computacional, ya que sólo se activan algunos de los expertos a la vez en lugar de todas las redes.El concepto MoE fue propuesto por primera vez por Jacobs, Jordan y Hinton en 1991, pero no se ha utilizado ampliamente en el modelado lingüístico a gran escala hasta hace pocos años. La arquitectura MoE es utilizada por Google's Switch Transformers, Microsoft's Z-Code y DeepSeek's DeepSeek-V3, que permite el entrenamiento y despliegue de modelos a gran escala mediante la activación dispersa de expertos.

Rendimiento de DeepEP

Núcleos normales con NVLink y RDMA forwarding

Probamos núcleos normales en H800 (~160 GB/s de ancho de banda máximo NVLink), con cada uno conectado a una tarjeta de red CX7 InfiniBand 400 Gb/s RDMA (~50 GB/s de ancho de banda máximo). Y seguimos la configuración de preentrenamiento de DeepSeek-V3/R1 (4096 tokens por lote, 7168 ocultos, top-4 grupos, top-8 expertos, envío FP8 y combinación BF16).

Tipo Despacho #EP Cuello de botella de ancho de banda Combinar #EP Cuello de botella de ancho de banda
Intranodos 8 153 GB/s (NVLink) 8 158 GB/s (NVLink)
Entrenudo 16 43 GB/s (RDMA) 16 43 GB/s (RDMA)
Entrenudo 32 44 GB/s (RDMA) 32 47 GB/s (RDMA)
Entrenudo 64 46 GB/s (RDMA) 64 45 GB/s (RDMA)

Núcleos de baja latencia con RDMA puro

Probamos núcleos de baja latencia en H800 con cada uno conectado a una tarjeta de red CX7 InfiniBand 400 Gb/s RDMA (~50 GB/s de ancho de banda máximo). Y seguimos una configuración de producción típica de DeepSeek-V3/R1 (128 tokens por lote, 7168 ocultos, top-8 expertos, envío FP8 y combinación BF16).

Despacho #EP Latencia Ancho de banda RDMA Combinar #EP Latencia Ancho de banda RDMA
8 163 nos 46 GB/s 8 318 nosotros 46 GB/s
16 173 nosotros 43 GB/s 16 329 nos 44 GB/s
32 182 nosotros 41 GB/s 32 350 us 41 GB/s
64 186 nosotros 40 GB/s 64 353 us 41 GB/s
128 192 nosotros 39 GB/s 128 369 us 39 GB/s
256 194 nosotros 39 GB/s 256 360 nos 40 GB/s

¿Cómo utilizar DeepEP?

El uso de DeepEP requiere una GPU Hopper, Python 3.8+, CUDA 12.3+, PyTorch 2.1+, así como NVLink para la comunicación entre nodos y redes RDMA para la comunicación entre nodos. La biblioteca depende de una versión modificada de NVSHMEM, que debe configurarse antes de la instalación.

Desarrollo

# Construir y hacer enlaces simbólicos para archivos SO
NVSHMEM_DIR=/ruta/para/instalado/nvshmem python setup.py build
# Puede modificar los nombres específicos de SO según su propia plataforma
ln -s build/lib.linux-x86_64-cpython-38/deep_ep_cpp.cpython-38-x86_64-linux-gnu.so

# Ejecutar casos de prueba
# NOTAS: puedes modificar la función `init_dist` en `tests/utils.py`.
# de acuerdo con la configuración de su propio clúster, y lanzar en varios nodos
python tests/prueba_intranode.py
python tests/prueba_internode.py
python pruebas/prueba_baja_latencia.py

Instalación

NVSHMEM_DIR=/ruta/para/instalado/nvshmem python setup.py install

Más DeepEP: https://github.com/deepseek-ai/Deepep