NVIDIA libera KVzap e traz compressão quase sem perdas para o cache de contexto de modelos de linguagem
3 meses ago · Updated 3 meses ago

Ouça este artigo
Você vai ler sobre como a NVIDIA abriu o código do KVzap, uma técnica de pruning do cache KV que reduz muito a memória de modelos com contexto longo. O método usa um pequeno modelo que examina os estados ocultos para prever o que pode ser removido sem afetar as respostas, mantendo a precisão quase intacta. Combina limiar e janela deslizante e adiciona baixa sobrecarga ao processamento. Testes em cenários de contexto longo e raciocínio mostram por que isso pode acelerar e baratear a implantação de modelos.
- KVzap é open‑source e reduz significativamente o cache KV sem perda visível de qualidade.
- Usa um modelo leve que prevê importância a partir dos estados ocultos (hidden states).
- Apaga entradas irrelevantes na dimensão de sequência e preserva sempre uma janela recente de 128 tokens.
- Tem sobrecarga computacional mínima e é eficiente em contextos longos.
- Mantém desempenho próximo ao cache completo em benchmarks reais e sintéticos (RULER, LongBench, AIME25).
NVIDIA libera KVzap, método para reduzir cache KV com pouco impacto na precisão
Você pode reduzir o uso de memória de modelos de linguagem com contexto muito longo. A NVIDIA abriu o código do KVzap, uma técnica de poda do cache KV que entrega compressões típicas entre 2×–4× e mantém a precisão quase intacta em testes públicos. A iniciativa se soma a outras investidas em contexto longo, como iniciativas de modelos e arquiteturas otimizadas para esse fim, incluindo avanços em Nemotron com Mamba híbrida e MoE e projetos que ampliam a capacidade de processar sequências muito longas, como ReFrag.
Principais pontos
- Open‑source: KVzap está disponível no repositório que reúne várias técnicas de poda.
- Compressão: taxa típica entre 2×–4× com perda irrisória de acurácia.
- Abordagem: modelo substituto que trabalha sobre os hidden states.
- Baixo custo: overhead reduzido (~0,02% a ~1,1% dos FLOPs por camada, dependendo da variante).
- Proteções: janela deslizante de 128 tokens sempre preservada.
- Avaliação: testado em RULER, LongBench e AIME25.
Por que isso importa
Em contextos de dezenas a centenas de milhares de tokens, o cache KV cresce muito — guardando chaves e valores por camada e por cabeça — e pode chegar a centenas de GiB. Isso limita batch size e atrasa o primeiro token gerado. Técnicas anteriores mexiam em dimensões internas (cabeças, projeções), mas raramente eliminavam entradas ao longo da sequência. KVzap foca exatamente nesse eixo, reduzindo memória sem degradar a qualidade de geração. Essas otimizações podem ser complementares a estratégias para compartilhar GPU e acelerar a latência inicial, como mostrado por projetos que ajudam a reduzir o tempo da primeira resposta e melhorar a utilização de hardware (KVcached para compartilhamento de GPUs).
Como funciona
- Contexto e antecedentes: projetos que reúnem estratégias de poda e mantém leaderboard público ajudam a comparar métodos; em ambientes práticos muitas soluções são combinadas para maximizar eficiência.
- Baselines óraculo: métodos como KVzip/KVzip geram pontuações de importância precisas (mas custosas) simulando tarefas de prefill.
- Solução KVzap:
- Substitui o óraculo por um modelo substituto que prevê importância a partir dos hidden states.
- Duas arquiteturas testadas:
- KVzap Linear — camada linear única.
- KVzap MLP — MLP de duas camadas com GELU e largura oculta ≈ 1/8 do hidden.
- Treino: amostras de prompts filtrados; vários milhões de pares por cabeça.
- Precisão: correlação (squared Pearson) entre ~0,63 e 0,77, com o MLP geralmente superior.
- Pruning em tempo de execução:
- O modelo gera escores por posição e por cabeça.
- Entradas abaixo de um limiar são removidas.
- Uma janela deslizante de 128 tokens recentes é sempre preservada.
- Poda aplicada após a operação de atenção.
Desempenho e custo
- Overhead computacional: KVzap Linear adiciona muito pouco custo (~0,02% dos FLOPs das projeções por camada). KVzap MLP pode chegar a ~1,1%. Em contextos muito longos o custo da atenção (quadrático) domina, então o aumento absoluto é pequeno.
- Estratégia de limiar: limiar fixo produz compressões variáveis entre prompts (até ~20% de variação), pois diferentes textos têm densidades de informação distintas.
Resultados em benchmarks
- Modelos testados: Qwen3-8B, Llama‑3.1‑8B Instruct, Qwen3-32B.
- RULER (tarefas sintéticas, 4k–128k tokens): remove grande parte do cache mantendo acurácia próxima do baseline.
- LongBench (documentos do mundo real): compressões menores (textos menos repetitivos), mas KVzap mantém desempenho perto do baseline até ~2–3× compressão.
- AIME25 (problemas de matemática): variante MLP manteve ou melhorou levemente métricas como pass@4 perto de 2× compressão; poda agressiva (>50–90%) compromete resultados.
Resumo por modelo (melhor configuração reportada):
| Modelo | Compressão média alcançada | Benchmarks principais |
|---|---|---|
| Qwen3‑8B | ~2.7×–3.5× | RULER, LongBench, AIME25 |
| Llama‑3.1‑8B | ~2.7×–3.5× | RULER, LongBench, AIME25 |
| Qwen3‑32B | ~2.7×–3.5× | RULER, LongBench, AIME25 |
O que isso significa para você
- Se você roda modelos com contextos muito longos, KVzap pode reduzir a memória necessária sem perder precisão.
- É leve o suficiente para avaliação em produção; o ganho de memória costuma compensar o pequeno overhead.
- Use limiares moderados: poda extrema degrada respostas. Teste e ajuste por prompt, pois cada contexto tem densidade de informação própria.
- A solução está disponível publicamente no ecossistema que compara métodos de poda, facilitando testes e adoção.
Para estratégias complementares que lidam com memória e esquecimento em modelos longos, considere abordagens que unificam memória curta e longa ou que estendem a capacidade de lembrar por muito tempo, como AGEmem e projetos voltados a manter lembranças por períodos maiores (Titans & MiRaS). Para pipelines e infra, também vale revisar técnicas de tokenização e chunking que impactam diretamente a eficiência do cache e da atenção (tokenização e chunking) e estratégias para reduzir custos e latência da inferência, como cascatas especulativas.
Se você planeja levar isso para produção, ferramentas e guias sobre fine‑tuning e otimização em hardware acelerado podem ajudar a medir trade‑offs na prática; trabalhos práticos que combinam ajuste fino em RTX e clusters (DGX) mostram caminhos para implantação eficiente (Unsloth NVIDIA para ajuste fino).
Conclusão
O KVzap é uma solução prática e open‑source da NVIDIA para reduzir o cache KV sem sacrificar a qualidade. Em muitos casos entrega compressões de 2×–4× mantendo precisão quase sem perda — uma poda cirúrgica que preserva a informação relevante. A abordagem (linear ou MLP sobre os hidden states) preserva uma janela deslizante de 128 tokens, remove entradas irrelevantes e adiciona baixo custo computacional.
Na prática, isso pode significar menos memória, latência menor e deploys mais baratos, desde que você evite limiares agressivos. Teste, meça e ajuste para cada workload. Para entender outras alternativas e inovações em modelos abertos da NVIDIA e adaptações para contextos longos, vale conferir também iniciativas paralelas como o esforço por modelos abertos e multi‑modalidades (Nitrogen) e variantes de Nemotron para empresas (Nemotron Nano).
Na prática, combine KVzap com essas técnicas e ferramentas — e com atenção ao protocolo de contexto do seu modelo — para extrair o melhor balanço entre memória, custo e qualidade (protocolo de contexto MCP).
Quer experimentar ou se aprofundar? Confira mais artigos e guias em https://blog.aidirectory.com.br e continue afinando seu pipeline.
Perguntas frequentes
- O que é o KVzap?
É a ferramenta open‑source da NVIDIA para podar o cache KV, usando um modelo leve sobre estados ocultos. Comprime tipicamente 2×–4× quase sem perdas.
- Como o KVzap se diferencia do KVzip e KVzip?
KVzip/KVzip são oráculos precisos e caros que fazem prefill longo. KVzap treina um substituto que prevê essas pontuações a partir dos hidden states, tornando‑o rápido e aplicável durante a decodificação.
- Quanto ele comprime e quanto perde em precisão?
Normalmente 2×–4× com perda mínima nos benchmarks (RULER, LongBench, AIME25). Remoções extremas (>90%) degradam o desempenho.
- Como ele decide o que podar?
Para cada token e camada, um linear ou MLP prevê scores por cabeça; entradas abaixo do limiar são removidas, e os últimos 128 tokens são preservados.
- Dá para usar em produção e qual o custo extra?
Sim. O custo é pequeno: o MLP soma ~1% dos FLOPs das projeções; o linear quase nada. A economia de memória compensa largamente o overhead.
Se você quiser conhecer outros artigos semelhantes a NVIDIA libera KVzap e traz compressão quase sem perdas para o cache de contexto de modelos de linguagem, você pode visitar a categoria Notícias e Tendências.
