Monarch v3: Paginação KV Inspirada no NES para Inferência de LLM 78% Mais Rápida

O que o Monarch v3 Faz
O Monarch v3 é uma implementação de código aberto de paginação de memória inspirada no NES para inferência de transformers que aborda o crescimento linear do cache KV com o comprimento da sequência. Em 4K tokens, a maior parte do cache KV fica inutilizada enquanto consome VRAM em precisão total.
Como Funciona
O sistema divide o cache KV em duas regiões:
- Região quente: Tokens recentes mantidos em precisão total
- Região fria: Tokens mais antigos comprimidos para ~20 bytes cada (vs 64-128 bytes quentes)
Quatro componentes trabalham juntos:
- Compressão TurboQuant: Quantiza KV para inteiros de 4 bits com codificação polar e correção residual, alcançando ~97% de redução de tamanho com ~0,3% de perda de perplexidade
- Eliminação por Janela Deslizante: Os N tokens mais recentes permanecem quentes por padrão, tokens antigos são comprimidos para armazenamento frio
- Promoção Ponderada por Atenção: Tokens com alta atenção retornam para a região quente com mecanismo adesivo para evitar trashing
- Trocas de Página: Pequenos lotes de tokens frios são materializados no acesso com loop de decodificação local substituindo matmul em lote
Resultados de Benchmark
Configuração: TinyLlama-1.1B fp16, 50 tokens gerados
- Padrão: 17,01 tok/s, 2112 MB VRAM
- Monarch-v3: 30,42 tok/s, 2131 MB VRAM, 512 tokens quentes, 1024 tokens frios
- Ganho: +78,7% de throughput, +0,9% VRAM
Loop de Decodificação Simplificado
for step in 1..100:
q = project_query(next_token)
# Computar atenção: apenas quente (rápido)
scores_hot = q @ kv_hot.T
# Acessar frio se alta atenção (raro)
if max(scores_hot) < threshold:
kv_cold_promoted = decompress(cold_pages)
scores_cold = q @ kv_cold_promoted.T
# Mover para quente no próximo passo
# Agregar, softmax, aplicar attn ...
# Eliminar tokens antigos de quente → frio
if len(kv_hot) > window_size:
evict_oldest_to_cold()Status Atual
- Implementação: Funcionando no Hugging Face Transformers com backend de cache personalizado
- Licença: Apache 2.0
- Artigo: Especificação técnica completa disponível
- Próximo: Fusão de kernel CUDA para descompressão fria planejada
Como Experimentar
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 \
--jsonLimitações
A abordagem depende da recência (tokens recentes = alta atenção), o que funciona para a maioria das tarefas, mas pode não funcionar para cargas de trabalho intensivas em recuperação. A extração de atenção está disponível em modelos base, mas não em variantes de chat; o fallback usa paginação apenas por janela.
📖 Read the full source: r/LocalLLaMA
👀 See Also

O plano de codificação mensal de US$ 10 da Alibaba oferece acesso de alto volume a múltiplos modelos de IA para usuários do OpenClaw.
Por US$ 10 por mês, o plano da Alibaba oferece acesso aos modelos Qwen3.5-Plus, Kimi-K2.5, GLM-5 e MiniMax-M2.5 com cotas de 1.200 solicitações a cada 5 horas, 9.000 por semana e 18.000 por mês.

LamBench: Um Conjunto de Benchmarks de Cálculo Lambda para Agentes de Codificação de IA
LamBench é um conjunto de benchmarks que avalia agentes de IA em tarefas de cálculo lambda, medindo inteligência, velocidade e elegância. A versão v1 inclui problemas e uma matriz de pontuações.

Freddy CLI: Conecte Dados de Saúde a Agentes de IA via MCP
A Freddy publica um CLI open-source para conectar dados de saúde de wearables (Oura, Polar, Withings, etc.) a agentes de IA via MCP. Comandos para fluxo OAuth, consulta de dados e renovação de token.

Conselho: Uma Estrutura de Diálogo Organizado para Claude
Conselho — Um Cadinho é uma estrutura de diálogo estruturada que funciona dentro de uma única janela de contexto do Claude, usando enquadramento de persona para produzir quatro modos distintos de engajamento: interrogatório rigoroso, ação generativa, experiência vivida e intuição não formada.