Um ambiente unificado de pesquisa para comparar métodos de compressão, recuperação, mesclagem e quantização de KV cache em inferência de LLMs com contexto longo.
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
Instalar pelo PyPI
pip install kvpress - 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
Biblioteca instalável via pip que acelera o prefill de LLMs com contexto longo usando atenção esparsa dinâmica, com pouca perda de precisão.
Código de pesquisa do StreamingLLM, um método que permite a LLMs pré-treinados processar fluxos de texto praticamente ilimitados mantendo tokens de attention sink e uma janela de tokens recentes.
Gerenciador de memória para KV-cache em serving de LLMs que aloca memória da GPU sob demanda via APIs de memória virtual do CUDA, sem PagedAttention.
Uma camada de gerenciamento de cache KV que armazena, compartilha e reutiliza caches de atenção de LLMs entre mecanismos de serving para reduzir o time-to-first-token.
Modelos baseados em Transformer pré-treinados da Amazon para previsão zero-shot de séries temporais, incluindo a família Chronos-2.