El 26 de mayo, Skyler Miao, líder de I+D de MiniMax, publicó un diagrama en X: paleta sobria, pero con una enorme densidad de información. El título reza MiniMax Sparse Attention, y las dos curvas a la derecha arrojan un par de cifras llamativas: 9.7× de aceleración en prefill y 15.6× en decodificación con 1M de tokens.
La comunidad ha interpretado esto casi unánimemente como el adelanto de M3. Pero su importancia va mucho más allá de ser "otro modelo de contexto largo más".
En octubre, MiniMax publicó una entrada de blog titulada ¿Por qué M2 terminó siendo un modelo de atención total?. El post fue inusualmente directo: M2 no heredó la Lightning Attention de M1 porque la "atención eficiente aún no estaba lista para producción". Seis meses después, aparece M3, y el subtexto es básicamente una frase: esta vez sí lo está.
Entonces, ¿qué significa exactamente "esta vez sí"? Este artículo analiza el diagrama y lo compara con las tres líneas que ha trazado DeepSeek —NSA, DSA y CSA— para determinar qué camino ha elegido MiniMax.

1. Lo que muestra realmente el diagrama: dos etapas, elige antes de calcular
El diagrama representa esencialmente el despliegue interno de un único bloque de atención. El movimiento que realiza —y al que merece la pena prestar atención— es separar "a qué KV mirar" y "cómo calcular la atención" en dos pasos claramente diferenciados.
Paso 1: Rama de índice — puntúa todo de forma económica
La mitad superior es la rama de índice. Se ejecuta de forma independiente a la ruta principal con una única misión: decirle a la ruta posterior qué bloques debe observar.
Cada grupo GQA comparte un índice de consulta (seis cabezas reales emparejadas con dos Idx Q en el diagrama, una por grupo GQA). El lado KV de la rama de índice se reduce deliberadamente en dimensión:

Nótese que K_idx solo tiene una cabeza: todas las cabezas comparten la misma clave de índice. Como resultado, calcular Q_idx · K_idxᵀ no cuesta prácticamente nada.
El Block Max Pool comprime entonces las puntuaciones a nivel de token en puntuaciones a nivel de bloque:

Finalmente, TopK decide qué bloques KV conservar para esta capa y este grupo GQA; el resultado son I₁, I₂.
Paso 2: Rama dispersa — donde realmente se ejecuta la atención
La mitad inferior es donde ocurre el cálculo real de la atención. Q ∈ ℝ^{n×H×d}, K, V ∈ ℝ^{n×h×d}, todavía en formato GQA estándar. Usando I₁, I₂ del Paso 1 como índices, extraemos los subconjuntos de bloques correspondientes del K/V original y ejecutamos:

Una decisión de diseño clave: las cabezas de consulta dentro del mismo grupo GQA comparten una única selección top-k. En el diagrama, Q1/Q2/Q3 usan I₁, y Q4/Q5/Q6 usan I₂. Este es el principio alineado con el hardware que enfatiza el paper de NSA: un grupo de consultas carga un conjunto de bloques KV, cabe en la SRAM en una sola pasada y los kernels tipo FlashAttention pueden reutilizarse sin cambios.
2. Tres sustracciones deliberadas en relación con la familia DeepSeek
La comunidad comparó inmediatamente este diseño con NSA, DSA y CSA de DeepSeek. El resumen de @eliebakouch cabe en una frase: "GQA, no MLA; selección a nivel de bloque como CSA, pero la atención se calcula sobre el K/V real". Expandido en una tabla:
| Dimensión | DeepSeek V3.2 DSA | DeepSeek NSA | DeepSeek V4 CSA | MiniMax M3 (inferido) |
|---|---|---|---|---|
| Sustrato KV | MLA (latente) | GQA | MLA | GQA |
| Granularidad de selección | nivel de token | nivel de bloque | nivel de bloque | nivel de bloque |
| Ramas paralelas | 1 (indexador + selección) | 3 (compresión + selección + ventana deslizante) | 1 | 1 (solo selección) |
| Donde corre la atención | K/V real | fusión triple | KV comprimido | K/V real |
| Coste del indexador | indexador Lightning | rama de compresión | resúmenes de bloques | K de cabeza única + Block Max Pool |
| Gating | ninguno | compuerta aprendida | ninguno | ninguno |
Surgen tres compensaciones (trade-offs):
Primera sustracción: GQA como sustrato, no MLA. Esto significa que los kernels de vLLM, SGLang y FlashAttention pueden reutilizarse con poca o ninguna modificación, evitando la ingeniería necesaria para trabajar con el KV latente de MLA. Para un laboratorio que busca la "preparación para producción", es la ruta de menor riesgo.
Segunda sustracción: selección a nivel de bloque, pero con atención calculada sobre el K/V real. A diferencia de CSA, que ejecuta la atención sobre KV comprimido, M3 mantiene todo el poder expresivo de la atención softmax. El coste es que el KV cache no se reduce al mismo ritmo que la dispersión de la atención, pero cambiar economía de tokens por calidad es un trato razonable.
Tercera sustracción: se eliminan las otras dos ramas de NSA. Originalmente, NSA tiene tres rutas paralelas (compresión + selección + ventana deslizante) más una compuerta aprendida. M3 solo mantiene la selección. @teortaxesTex lo describió brevemente: NSA simplificado y optimizado. En una frase: la ingeniería primero.
De las dos ramas eliminadas, la ventana deslizante probablemente ha sido sustituida por RoPE + attention sink, o simplemente por atención densa como alternativa por capa (tanto Gemma 3 como Qwen3-Next hacen esto). La rama de compresión ha sido absorbida por el "K de cabeza única + Block Max Pool".
3. Cómo interpretar las cifras
| Etapa | Aceleración @ 1M | Qué significa |
|---|---|---|
| Prefill | 9.7× | Procesa 1M de tokens de entrada en una pasada |
| Decodificación | 15.6× | Genera token por token |
Que la aceleración en decodificación supere al prefill es razonable. Durante el prefill, la rama de índice aún debe escanear la longitud total, por lo que el ahorro es solo en la atención principal. Durante la decodificación, cada consulta interactúa solo con los bloques KV seleccionados, y la presión de ancho de banda de memoria sobre el KV cache cae aproximadamente en un orden de magnitud.
Calculando la tasa de selección: asumamos un tamaño de bloque de 64, por lo que 1M de tokens corresponden a ~16k bloques. Una aceleración de 15.6× en decodificación implica que cada consulta solo toca alrededor del 6-7% de los bloques, lo que da un campo receptivo efectivo de unos 60k-70k tokens. Esa tasa se sitúa casi exactamente en el ratio de dispersión que reporta el paper de NSA (6-10%); no es casualidad, sino el punto óptimo de este tipo de diseño a escala de 1M.
4. Inferir el resto de M3
Extrapolando este bloque de atención al modelo completo:
Es probable que se mantenga el backbone MoE. M2 se lanzó con 230B en total / ~10B activos / enrutamiento Top-2 / dimensión oculta ~4096; M2.7 ya elevó el número de expertos a 256. No hay razón para que M3 abandone esto, por lo que el cambio más probable será aumentar la profundidad y el ancho.
El stack de atención total se sustituye por GQA con dispersión por bloques. Es poco probable que la Lightning Attention de M1 regrese: M3 no apuesta de nuevo por la atención lineal, sino que toma la ruta de "expresividad softmax + selección top-k por bloques", logrando una complejidad subcuadrática mientras preserva la calidad.
Muy probablemente, dispersión entrenada de forma nativa. Este es el mensaje central del paper de NSA: el patrón disperso debe incorporarse a los gradientes durante el preentrenamiento o las cabezas de recuperación se corrompen. MiniMax tiene su propia línea de investigación sobre cabezas de recuperación, así que no deberían caer en esta trampa.
El campo de batalla es el contexto de 1M+. M1 fue entrenado a 1M y extrapola a 4M en inferencia; M3 está consolidando esto y reduciendo el coste de inferencia: un ciclo de producto muy natural.
5. Ubicar a M3 en el espacio de diseño de 2026
Entre 2025 y 2026, los diseños de atención dispersa han divergido rápidamente:
- DeepSeek V3.2 DSA: MLA + top-k a nivel de token, indexador muy ligero, calidad más estable pero requiere ingeniería de kernels compleja.
- DeepSeek NSA: GQA, tres ramas + compuerta, techo de calidad más alto pero implementación compleja.
- Qwen3-Next: mezcla por capas, alternancia densa/lineal, robusto pero relativamente conservador.
- MiniMax M3: GQA + selección por bloques de rama única, minimalista, aprovechando el avance del hardware.
El subtexto del diseño de M3 es inequívoco: "no busques la atención teóricamente óptima; busca la que se ejecuta de inmediato, funciona rápido y permite reutilizar los kernels existentes". Es coherente con su decisión de volver a la atención total en M2: estabilizar la calidad con métodos convencionales primero, y luego reemplazar de forma limpia una vez que la tecnología sea realmente madura.
Reflexiones finales
No se pueden confirmar muchos detalles a partir de un solo diagrama: si el patrón disperso se mezcla por capas, si hay un respaldo denso, si la rama de índice comparte embeddings con la red principal, si el top-k durante el entrenamiento es rígido o flexible, cómo se formula la pérdida de la rama de índice... Todo esto deberá esperar al paper oficial o al lanzamiento de pesos.
Pero una cosa ya está clara: siguiendo los pasos de DeepSeek, otro laboratorio chino ha conjuntado "atención dispersa + contexto largo + pesos abiertos" como un stack funcional. En la segunda mitad de 2026, el contexto de 1M en el espacio de código abierto probablemente dejará de ser un punto de venta para convertirse en la norma, y eso, por sí solo, importa más que cualquier benchmark individual.
Referencias
- Skyler Miao (líder de I+D de MiniMax), tweet original: Something BIG is coming
- Resumen de la comunidad: MiniMax details its M3 sparse attention architecture
- Blog de MiniMax: Why Did M2 End Up as a Full Attention Model?
- Paper de DeepSeek NSA: _Native Sparse Attention: _Hardware-Aligned and Natively Trainable Sparse Attention
- Análisis de DeepSeek V3.2 DSA: Architectural Efficiency in LLMs: DeepSeek-V3.2-Exp and DSA
- Sebastian Raschka: A Technical Tour of the DeepSeek Models from V3 to V3.2
- Informe técnico de MiniMax-01: Scaling Foundation Models with Lightning Attention







