12 puntos por xguru 2025-03-02 | 1 comentarios | Compartir por WhatsApp
  • 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.
    1. 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.
    1. 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.
    1. 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

Publicado como el último one more thing de los 5 proyectos open source liberados como DeepSeek Open Infra

1 comentarios

 
sppappi 2025-03-03

Con tres preguntas, se queda colgado...