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

Contextium: Framework de Contexto Persistente de Código Aberto para Claude Code
Tools

Contextium: Framework de Contexto Persistente de Código Aberto para Claude Code

Contextium é um framework estruturado de repositório git que fornece contexto persistente para sessões do Claude Code, usando um arquivo CLAUDE.md como roteador de contexto para carregar sob demanda arquivos markdown relevantes. A versão de código aberto inclui um modelo com 6 aplicativos de exemplo e 27 documentos de integração.

OpenClawRadar
Lista Curada de Mais de 260 Ferramentas de Agentes de IA com Destaques do Ecossistema Claude
Tools

Lista Curada de Mais de 260 Ferramentas de Agentes de IA com Destaques do Ecossistema Claude

Um repositório do GitHub contém uma lista curada de mais de 260 ferramentas de agentes de IA, incluindo entradas específicas relacionadas ao Claude, como Claude Code (80,9% SWE-bench), Claude Computer Use e Claude in Chrome, além de ferramentas que funcionam bem com o Claude, como Cline e Cursor.

OpenClawRadar
Índice de Código Local para Agentes de Codificação: Resolve Importações Sem Servidor de Linguagem
Tools

Índice de Código Local para Agentes de Codificação: Resolve Importações Sem Servidor de Linguagem

Basemind é uma ferramenta Rust licenciada sob MIT que indexa código local e resolve imports sem um language server, suportando resolução real para JS/TS, Python e Java.

OpenClawRadar
Repositório de Modelo de Código Claude para Aplicações Spring Boot
Tools

Repositório de Modelo de Código Claude para Aplicações Spring Boot

Um repositório do GitHub fornece um modelo Claude Code para gerar aplicações Spring Boot com melhores práticas para integração de banco de dados, implantação no Kubernetes e testes de integração usando Testcontainers.

OpenClawRadar