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

✍️ OpenClawRadar📅 Publicado: April 13, 2026🔗 Source
Monarch v3: Paginação KV Inspirada no NES para Inferência de LLM 78% Mais Rápida
Ad

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
Ad

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 \
    --json

Limitaçõ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

Ad

👀 See Also

harshal-mcp-proxy Agora no npm: Um Único Daemon Substitui 12 Configurações de Servidor MCP
Tools

harshal-mcp-proxy Agora no npm: Um Único Daemon Substitui 12 Configurações de Servidor MCP

harshal-mcp-proxy agora está disponível como um pacote npm de 54 kB. Instale globalmente, execute como um daemon e substitua 12 configurações separadas de servidor MCP por 6 ferramentas, economizando aproximadamente 2,7 GB de RAM e ~50 mil tokens por sessão.

OpenClawRadar
OpenSwarm: Orquestrador CLI Multi-Agente Claude para Linear e GitHub
Tools

OpenSwarm: Orquestrador CLI Multi-Agente Claude para Linear e GitHub

O OpenSwarm orquestra múltiplas instâncias do Claude Code CLI como agentes autônomos que buscam problemas do Linear e executam pipelines de Trabalhador/Revisor/Teste/Documentador. Ele usa LanceDB com embeddings multilingual-e5 para memória e inclui controle por bot do Discord, aprimoramento automático de PRs e um painel web.

OpenClawRadar
Como os assistentes de IA buscam páginas da web: análise de logs do Nginx do ChatGPT, Claude, Gemini e outros
Tools

Como os assistentes de IA buscam páginas da web: análise de logs do Nginx do ChatGPT, Claude, Gemini e outros

Um desenvolvedor testou cinco assistentes de IA principais, solicitando que acessassem URLs únicas e monitorando os logs do Nginx, revelando padrões de recuperação distintos: ChatGPT, Claude e Perplexity usam agentes de usuário dedicados, enquanto o Gemini respondeu a partir de seu próprio índice sem buscar a página.

OpenClawRadar
Utilizador do Reddit experimenta com agentes de programação que aprendem com falhas para quebrar ciclos de repetição
Tools

Utilizador do Reddit experimenta com agentes de programação que aprendem com falhas para quebrar ciclos de repetição

Um desenvolvedor no r/LocalLLaMA descreve experimentar com agentes de programação que aprendem com falhas armazenando causas raiz simplificadas e correspondendo correções, reduzindo loops de erro repetitivos.

OpenClawRadar