Repolode
NVIDIA

NVIDIA/kvpress

Biblioteca Python da NVIDIA para comprimir caches KV de LLMs durante a inferência, com vários métodos de compressão plugáveis baseados em Hugging Face transformers.

Estrelas
1,245
Forks
196
Issues abertas
12
Último commit
ontem

O que é?

Implantações de LLMs com contexto longo são caras porque o cache de chave-valor (KV) cresce linearmente com o número de tokens. kvpress resolve esse problema implementando vários métodos de compressão de cache KV, chamados presses, e fazendo benchmarks sobre Hugging Face transformers. Cada press remove ou transforma entradas em cache durante a etapa de prefill e expõe um compression_ratio que define quanto do cache será mantido.

A biblioteca registra um pipeline personalizado de geração de texto chamado kv-press-text-generation, que gerencia templates de chat e tokenização. A compressão pode ser aplicada somente ao contexto, permitindo consultar o mesmo contexto comprimido com perguntas diferentes. Um wrapper DecodingPress, marcado como experimental, comprime o cache periodicamente durante a geração de tokens, usando um tamanho-alvo em vez de uma proporção. Também há suporte a caches quantizados por meio de QuantizedCache do transformers.

O repositório inclui um amplo conjunto de presses, desde referências simples, como pontuação aleatória e por norma de chave, até métodos como SnapKV, StreamingLLM, KVzip e CriticalKV, além de presses wrapper, como AdaKVPress, para compressão por cabeça. Também oferece uma CLI de avaliação para benchmarks de contexto longo e notebooks para medir ganhos de memória e velocidade.

Recursos principais

  • 01Vários métodos de compressão de cache KV (presses) com uma interface compression_ratio compartilhada
  • 02Pipeline personalizado do transformers que comprime somente o contexto e gerencia templates de chat
  • 03Compressão experimental durante a decodificação, com tamanho-alvo para o cache
  • 04Presses wrapper que combinam ou refinam outros métodos de pontuação, como o AdaKV por cabeça
  • 05Avaliação por linha de comando em benchmarks de contexto longo e notebooks para medir memória e velocidade

Casos de uso

  • Responder a várias perguntas sobre um documento longo sem codificar o contexto novamente a cada vez
  • Pesquisar ou prototipar novos algoritmos de compressão de cache KV em comparação com referências comuns
  • Reduzir o uso de memória da GPU na inferência com contexto longo em modelos Llama, Qwen, Mistral e similares

Início rápido

  1. 1

    Instalar pelo PyPI

    pip install kvpress
  2. 2

    Carregar o pipeline e comprimir um contexto com um press

Antes de usar

  • Requer Hugging Face transformers e um modelo que possa ser carregado por meio dele; modelos grandes geralmente precisam de uma GPU.
  • A maioria dos press são métodos de pesquisa, e alguns, como o BlockPress, não são implementações reais de chunked-prefill.

Tópicos

Perguntas frequentes

O que é kvpress?
Biblioteca Python da NVIDIA para comprimir caches KV de LLMs durante a inferência, com vários métodos de compressão plugáveis baseados em Hugging Face transformers. Implantações de LLMs com contexto longo são caras porque o cache de chave-valor (KV) cresce linearmente com o número de tokens. kvpress resolve esse problema implementando vários métodos de compressão de cache KV, chamados presses, e fazendo benchmarks sobre Hugging Face transformers. Cada press remove ou transforma entradas em cache durante a etapa de prefill e expõe um compression_ratio que define quanto do cache será mantido.
kvpress é gratuito? Qual é a licença?
kvpress é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
kvpress ainda é mantido?
Manutenção ativa. O último commit de kvpress foi em 6 de nov. de 2026.
Para que posso usar kvpress?
Responder a várias perguntas sobre um documento longo sem codificar o contexto novamente a cada vez Pesquisar ou prototipar novos algoritmos de compressão de cache KV em comparação com referências comuns Reduzir o uso de memória da GPU na inferência com contexto longo em modelos Llama, Qwen, Mistral e similares
Como instalar kvpress?
Instalar pelo PyPI: pip install kvpress Carregar o pipeline e comprimir um contexto com um press
Onde consigo kvpress?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/NVIDIA/kvpress

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados