- Al final de la semana de liberación de open source, sorprendieron con un one more thing al revelar la visión general de todo el sistema e incluso los costos operativos
Resumen del sistema de inferencia DeepSeek-V3/R1
Principios de diseño del sistema
- El objetivo de optimización del sistema de inferencia de DeepSeek-V3/R1 es lograr mayor throughput y menor latencia
- Para ello, se optimizó aplicando Expert Parallelism (EP) entre nodos.
- Aumento del throughput: EP amplía el tamaño del batch para mejorar la eficiencia de las operaciones matriciales en GPU y aumentar el throughput.
- Reducción de latencia: al distribuir los expertos (Expert) entre varias GPU, se reduce la carga de acceso a memoria de cada GPU y así baja la latencia.
- Sin embargo, EP incrementa la complejidad del sistema:
- Se requiere comunicación entre nodos: hay que superponer comunicación y cómputo para evitar cuellos de botella.
- Uso de múltiples nodos: se debe aplicar Data Parallelism (DP), y se necesita balanceo de carga entre instancias de DP.
Expert Parallelism (EP) entre nodos a gran escala
- El modelo DeepSeek-V3/R1 activa solo 8 de 256 expertos en cada capa, por lo que es indispensable escalar el tamaño del batch
- Diferencias de paralelismo entre las etapas de Prefill y Decode:
- Etapa Prefill: EP32, DP32 (4 nodos, cada GPU procesa 9 expertos)
- Etapa Decode: EP144, DP144 (18 nodos, cada GPU procesa 2 expertos)
Superposición de cómputo-comunicación (Computation-Communication Overlapping)
- Como EP incrementa el costo de comunicación entre nodos, usan una estrategia de superposición de doble batch para reducirlo.
- Etapa Prefill: ejecutan dos microbatches de forma intercalada para ocultar la comunicación de un batch detrás del cómputo del otro.
- Etapa Decode: dividen la capa de attention en dos etapas y usan un pipeline de 5 etapas para maximizar la superposición entre cómputo y comunicación.
Implementación de balanceo de carga óptimo
- Para evitar desequilibrios entre GPU y maximizar el uso de recursos, aplican tres técnicas de balanceo de carga.
-
- Balanceador de carga de Prefill
- Problema: debido a diferencias en la cantidad de solicitudes y la longitud de las secuencias, la carga de cómputo de core-attention y la transferencia de datos se desequilibran.
- Objetivos:
- Mantener equilibrada la carga de cómputo de core-attention entre GPU.
- Igualar la cantidad de tokens de entrada por GPU.
-
- Balanceador de carga de Decode
- Problema: por diferencias en el uso de KVCache, la carga de cómputo varía entre GPU.
- Objetivos:
- Mantener equilibrado el uso de KVCache entre GPU.
- Igualar la cantidad de solicitudes por GPU.
-
- Balanceador de carga de Expert-Parallel
- Problema: la alta carga de ciertos expertos (Expert) genera desequilibrio de cómputo entre GPU.
- Objetivo:
- Mantener equilibrada la carga de cómputo de expertos en cada GPU.
Estadísticas del sistema de inferencia en línea de DeepSeek
- El servicio de inferencia DeepSeek-V3/R1 se ejecuta en GPU H800 y mantiene la misma precisión de cómputo que en el entrenamiento
- FP8: operaciones matriciales y transferencia de datos
- BF16: operaciones MLA clave y transferencias combinadas
- Estrategia operativa para horas pico y horario nocturno
- Durante el día, la carga del servicio es alta, y por la noche disminuye
- Horas pico: se ejecuta el servicio de inferencia usando todos los nodos
- Horario nocturno de baja carga: algunos nodos se reasignan a investigación y entrenamiento para usar los recursos de forma eficiente
- Estadísticas de operación de 24 horas (UTC+8, 2025-02-27 12:00 PM ~ 2025-02-28 12:00 PM)
- Tokens de entrada totales: 608B (de ellos, 342B, equivalentes al 56.3%, fueron aciertos de caché KV)
- Tokens de salida totales: 168B (velocidad promedio de salida de 20~22 tokens/s)
- Longitud promedio de KVCache: 4,989 tokens por token de salida
- Velocidad de procesamiento por nodo H800:
- Etapa Prefill: 73.7k tokens/s (incluyendo aciertos de caché)
- Etapa Decode: 14.8k tokens/s
Análisis de costos operativos e ingresos: un día de V3 & R1 entre UTC+8 02/27/2025 12:00 PM y 02/28/2025 12:00 PM
- Uso de GPU: 278 nodos en horas pico, promedio de 226.75 nodos (cada nodo incluye 8 GPU H800)
- Costo de alquiler de GPU: $2/hora por cada GPU H800 → costo operativo total diario: $87,072
- Si se asume que todos los tokens son facturables, el ingreso teórico diario: $562,027 → margen de beneficio de 545%
- (Precio de tokens de entrada/salida de R1: $0.14M (acierto de caché), $0.55M (sin acierto de caché), $2.19M)
- Sin embargo, los ingresos reales son menores:
- La tarifa de DeepSeek-V3 es mucho más baja que la de R1
- Solo una parte del servicio está monetizada (el uso web y en app se ofrece gratis)
- Por la noche se aplican descuentos automáticos
1 comentarios
Con tres preguntas, se queda colgado...