El problema fundamental que aborda este trabajo es cómo servir y entrenar eficientemente modelos de lenguaje a gran escala con arquitecturas novedosas que rompen las suposiciones de los sistemas existentes. Específicamente, DeepSeek-V4 introduce una atención híbrida que combina ventanas deslizantes con mecanismos de compresión, conexiones hiper-residuales (mHC) y el uso de pesos FP4 para expertos MoE, lo que requiere un replanteamiento de las estrategias de caching, la ejecución de kernels y el paralelismo. La necesidad de Day-0 support para estas arquitecturas subraya la importancia de la co-diseño de hardware/software y la adaptación rápida de los sistemas de inferencia y entrenamiento para aprovechar las capacidades de los modelos más recientes y el hardware especializado.
La evolución de los modelos de lenguaje hacia arquitecturas más complejas y eficientes, como la atención dispersa y los MoE, presenta desafíos significativos en la gestión de la memoria y la computación. La atención híbrida de DeepSeek-V4, con sus múltiples pools de KV y estados de compresión, invalida los enfoques tradicionales de caching de prefijos. Además, la adopción de formatos de precisión reducida como FP4 exige kernels altamente optimizados que puedan explotar las capacidades de hardware como Blackwell. Este artículo demuestra cómo la ingeniería de sistemas puede desbloquear el potencial de estas arquitecturas, transformando innovaciones algorítmicas en rendimiento práctico a escala de producción.
Arquitectura del Sistema
La arquitectura de inferencia se centra en la gestión eficiente del KV cache y la optimización de kernels. ShadowRadix es un mecanismo de caching de prefijos nativo para atención híbrida. Utiliza un radix tree para indexar 'virtual full-token slots', que actúan como un sistema de coordenadas unificado. Desde estos slots, se proyectan 'sombras' (mapeos de índices por pool) en los pools físicos de KV (SWA, C4, C128). Los ring buffers de estado de compresión tienen su propio pool, con un mapeo aritmético de segundo nivel desde el índice de página SWA. Esto permite que las lifetimes de los pools se desacoplen, liberando slots SWA cuando la ventana deslizante se mueve, mientras que los shadows C4/C128 persisten para la reutilización de prefijos.
Para la atención dispersa, HiSparse offloads el KV cache inactivo a la memoria de la CPU, extendiendo la capacidad del pool C4 KV. Un coordinador HiSparse intercambia páginas entre GPU y CPU usando una política LRU. Las optimizaciones de kernels incluyen FlashMLA para atención híbrida fusionada, FlashInfer TRTLLM-Gen para MoE con MXFP8 x MXFP4 en Blackwell, TileLang mHC con split-K para mejorar la utilización de GPU en lotes pequeños, y DeepGEMM Mega MoE para fusiones de kernels que solapan la comunicación NVLink con la computación. Flash Compressor fusiona la cadena de compresión de 5 etapas en un solo paso on-chip, reduciendo los viajes a HBM. Lightning TopK reemplaza la ordenación global con una reducción de radix-select para la selección top-k en el indexer, mejorando la latencia. El paralelismo incluye Context Parallelism (CP) para prefill de contexto largo, Paged KV transfer para disaggregación de PD, y Expert Parallelism (EP) en DeepEP con Mega MoE. La preparación de la atención se optimiza con Hierarchical Multi-Stream Overlap, utilizando múltiples streams CUDA y eventos de sincronización fina para solapar operaciones.
El soporte para entrenamiento de Reinforcement Learning (RL) con Miles se integra con el backend de entrenamiento de DeepSeek-V4 en Megatron-LM. Se soportan todas las estrategias de paralelismo (DP/TP/SP/EP/PP/CP). Los kernels de Tilelang se adaptan para el indexer DSA y la atención sparse-MLA. Se implementan características de RL como Rollout Routing Replay (R3), TIS/MIS, entrenamiento FP8/BF16 y Attention QAT. La precisión numérica se gestiona cuidadosamente, manteniendo FP32 para pesos maestros y gradientes sensibles, y usando FP32 para all-reduce en el backward del compresor para evitar sesgos. Se congelan selectivamente rutas inestables y se fijan operaciones determinísticas para evitar picos numéricos en la pérdida KL.
Flujo de Inferenica con ShadowRadix y Atención Híbrida
- 1 Prefill/Decode Request Solicitud de inferencia entrante con prompt y/o tokens a decodificar.
- 2 ShadowRadix Lookup El radix tree indexa virtual full-token slots y proyecta 'sombras' a pools fí...
- 3 KV Cache Access (SWA/C4/C128) Acceso a los pools de KV. SWA para ventana deslizante, C4/C128 para atención ...
- 4 HiSparse Coordinator (C4) Para C4, el coordinador HiSparse intercambia páginas de KV entre GPU (activo)...
- 5 Hybrid Attention Kernel Ejecución de kernels fusionados (FlashMLA) para SWA y atención extra (C4/C128).
- 6 Indexer (TopK) Selección top-k (Lightning TopK) sobre candidatos de atención comprimida.
- 7 Token Generation Generación del siguiente token basado en la salida de atención.
- 8 Update ShadowRadix Actualización de los pools y sombras de ShadowRadix con el nuevo token.
| Capa | Tecnología | Justificación |
|---|---|---|
| compute | SGLang | Framework de inferencia de LLM, optimizado para atención híbrida y caching de prefijos. vs vLLM, TensorRT-LLM, LightLLM |
| compute | Miles | Framework de entrenamiento de RL para LLM, con soporte para DeepSeek-V4 y paralelismo completo. vs Hugging Face TRL, RLHF frameworks |
| compute | FlashMLA | Kernel de atención fusionado para atención híbrida (SWA + C4/C128), optimizado para Hopper/Blackwell. vs kernels de atención estándar, implementaciones custom de PyTorch |
| compute | FlashInfer TRTLLM-Gen MoE | Backend de MoE fusionado para MXFP8 x MXFP4, adaptado para Blackwell y FP4 expert weights. vs implementaciones MoE genéricas |
| compute | TileLang | Generador de kernels para mHC y atención DSA indexer, con optimizaciones como split-K y fusiones. vs kernels CUDA escritos a mano, otros DSLs de kernels |
| compute | DeepGEMM Mega MoE | Kernel MoE fusionado que integra dispatch, GEMM, SwiGLU y combine, optimizado para Blackwell. vs DeepEP MoE path |
| storage | ShadowRadix | Mecanismo de caching de prefijos nativo para atención híbrida, gestionando múltiples pools de KV. vs caching de prefijos tradicional (ej. vLLM), gestión manual de KV pools |
| storage | HiSparse | Técnica para offload de KV cache inactivo a memoria de CPU, extendiendo la capacidad del pool C4. vs mantener todo el KV cache en GPU, otras estrategias de offload |
| compute | Megatron-LM | Backend de entrenamiento para DeepSeek-V4, soportando múltiples estrategias de paralelismo. vs otros frameworks de entrenamiento de LLM (ej. FairSeq) |
Trade-offs
Ganancias
- ▲ Throughput de inferencia para contextos largos
- ▲ Eficiencia de memoria (KV cache)
- ▲▲ Latencia de operaciones críticas (TopK, compresión)
- ▲ Estabilidad del entrenamiento RL
- ▲ Soporte para arquitecturas de modelos complejas (atención híbrida, mHC, FP4)
Costes
- △ Complejidad del sistema de caching (ShadowRadix)
- △ Overhead de configuración y adaptación de kernels para nuevo hardware/modelos
- △ Costo computacional adicional por determinismo en RL
Fundamentos Teóricos
El concepto de atención híbrida y dispersa en DeepSeek-V4 se basa en la investigación sobre mecanismos de atención eficientes para Transformers, que buscan mitigar la complejidad cuadrática de la atención estándar. Trabajos como 'Longformer: The Long-Document Transformer' (Beltagy et al., 2020) y 'Reformer: The Efficient Transformer' (Kitaev et al., 2020) exploraron el uso de ventanas deslizantes y atención local/dispersa para manejar secuencias más largas con menor costo computacional y de memoria. La combinación de estos enfoques en una arquitectura híbrida es una evolución directa de estas ideas.
La gestión de KV cache y las técnicas de caching de prefijos, como ShadowRadix, se relacionan con los principios de gestión de memoria y coherencia en sistemas distribuidos y bases de datos. La idea de desacoplar las lifetimes de diferentes vistas de datos, aunque físicamente almacenadas de forma diferente, se asemeja a los conceptos de MVCC (Multi-Version Concurrency Control) en bases de datos, donde múltiples versiones de un objeto pueden coexistir para diferentes transacciones. La optimización de kernels y el uso de precisión reducida (FP4) se fundamentan en la investigación de computación de alto rendimiento y arquitecturas de hardware especializadas, como las GPUs con Tensor Cores, que han sido objeto de estudio en papers como 'Mixed-Precision Training of Deep Neural Networks' (Micikevicius et al., 2017) para mejorar la eficiencia sin sacrificar la precisión.