Monarch v3: Paginación KV Inspirada en NES para una Inferencia de LLM 78% Más Rápida

Qué hace Monarch v3
Monarch v3 es una implementación de código abierto de paginación de memoria inspirada en NES para inferencia de transformadores que aborda el crecimiento lineal de la caché KV con la longitud de secuencia. A los 4K tokens, la mayor parte de la caché KV permanece sin usar mientras consume VRAM a máxima precisión.
Cómo funciona
El sistema divide la caché KV en dos regiones:
- Región caliente: Tokens recientes mantenidos a máxima precisión
- Región fría: Tokens antiguos comprimidos a ~20 bytes cada uno (vs 64-128 bytes calientes)
Cuatro componentes trabajan juntos:
- Compresión TurboQuant: Cuantiza KV a enteros de 4 bits con codificación polar y corrección residual, logrando ~97% de reducción de tamaño con ~0.3% de pérdida de perplejidad
- Eliminación por Ventana Deslizante: Los N tokens recientes permanecen calientes por defecto, los tokens antiguos se comprimen a almacenamiento frío
- Promoción Ponderada por Atención: Tokens con alta atención regresan a caliente con mecanismo persistente para evitar trashing
- Intercambio de Páginas: Pequeños lotes de tokens fríos se materializan al acceder con bucle de decodificación local reemplazando multiplicación matricial por lotes
Resultados de Benchmark
Configuración: TinyLlama-1.1B fp16, 50 tokens generados
- Estándar: 17.01 tok/s, 2112 MB VRAM
- Monarch-v3: 30.42 tok/s, 2131 MB VRAM, 512 tokens calientes, 1024 tokens fríos
- Ganancia: +78.7% rendimiento, +0.9% VRAM
Bucle de Decodificación Simplificado
for step in 1..100:
q = project_query(next_token)
# Calcular atención: solo caliente (rápido)
scores_hot = q @ kv_hot.T
# Acceder a frío si alta atención (raro)
if max(scores_hot) < threshold:
kv_cold_promoted = decompress(cold_pages)
scores_cold = q @ kv_cold_promoted.T
# Mover a caliente para siguiente paso
# Agregar, softmax, aplicar atención ...
# Eliminar tokens antiguos de caliente → frío
if len(kv_hot) > window_size:
evict_oldest_to_cold()Estado Actual
- Implementación: Funcionando en Hugging Face Transformers con backend de caché personalizado
- Licencia: Apache 2.0
- Documento: Especificación técnica completa disponible
- Próximo: Fusión de kernel CUDA para descompresión fría planeada
Cómo probarlo
git clone https://github.com/JohannaWeb/Monarch.git
cd Monarch
pip install -r requirements.txt
python train_tinyllama_fp16.py
python src/benchmark_monarch.py \
--model models/tinyllama_fp16 \
--mode both \
--max-new-tokens 100 \
--promotion-threshold 0.15 \
--sticky-threshold 3 \
--jsonLimitaciones
El enfoque se basa en recencia (tokens recientes = alta atención), lo que funciona para la mayoría de tareas pero puede no hacerlo para cargas de trabajo intensivas en recuperación. La extracción de atención está disponible en modelos base pero no en variantes de chat; el respaldo usa paginación solo por ventana.
📖 Leer la fuente completa: r/LocalLLaMA
👀 Ver también

Freddy CLI: Conecta Datos de Salud a Agentes de IA vía MCP
Freddy publica una CLI de código abierto para conectar datos de salud portátiles (Oura, Polar, Withings, etc.) a agentes de IA mediante MCP. Incluye comandos para flujo OAuth, consulta de datos y renovación de tokens.

TechDebtMCP v2.0.0: Servidor MCP para análisis de deuda técnica en 14 idiomas
TechDebtMCP v2.0.0 es un servidor MCP que conecta Claude a bases de código para encontrar, medir y priorizar deuda técnica en 14 lenguajes de programación, incluyendo JS/TS, Python, Java, Swift, Kotlin, Go, Rust, C/C++, C#, Ruby y PHP.

Seis herramientas de código abierto que abordan los problemas de seguridad, costo y complejidad de OpenClaw
Un desarrollador probó seis herramientas comunitarias para solucionar las brechas de seguridad de OpenClaw señaladas por Cisco, los costos en espiral y la configuración compleja. ClawSec proporciona escaneo de seguridad y verificación de integridad, Antfarm habilita flujos de trabajo multiagente deterministas, y LanceDB Pro mejora la recuperación de memoria con búsqueda vectorial híbrida.

El complemento Claude-ETA agrega temporización de tareas y detección de bucles de reparación a Claude Code.
Claude-ETA es un complemento de Claude Code que cronometra tareas, aprende tu velocidad real y retroalimenta datos reales a Claude antes de que responda. También detecta bucles de reparación identificando el contenido de errores e interviene después de tres fallos idénticos.