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.
Zefan-Cai/KVCache-Factory
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.
- Estrelas
- 1,394
- Forks
- 181
- Issues abertas
- 4
- Último commit
- há 3 meses
O que é?
O KVCache-Factory reúne vários métodos de KV cache para LLMs autorregressivos em uma única interface de avaliação. O projeto começou como a base de código do PyramidKV e agora inclui baselines como StreamingLLM, H2O, SnapKV, Quest, MiniCache, AdaKV e HeadKV, além de um caminho de offloading sem perda com HeadInfer, que mantém o cache completo.
O projeto é voltado à inferência com contexto longo, em que o KV cache cresce com o tamanho do prompt e consome a maior parte da memória da GPU. Os usuários escolhem um método e um limite de cache por camada usando flags de linha de comando e, em seguida, executam avaliações com LongBench, RULER ou needle-in-a-haystack para comparar a precisão. O projeto também inclui um script de benchmark de latência e memória para medir o custo da decodificação.
O suporte é mais completo para modelos Llama e Mistral. Alguns métodos mais recentes têm suporte mais limitado nos runners, e o projeto fixa o transformers na versão 4.44.2 porque seus patches de atenção dependem dessa versão.
Recursos principais
- 01Reúne métodos de compressão, recuperação, mesclagem e quantização em uma única interface.
- 02Executa avaliações com LongBench, RULER e needle-in-a-haystack usando um limite de cache configurável.
- 03Inclui o HeadInfer, um método sem perda de offloading por cabeça para CPU que mantém o cache completo.
- 04Disponibiliza um script de benchmark de latência e pico de uso de memória para decodificação.
- 05Oferece suporte às implementações de atenção FlashAttention v2 e SDPA.
Casos de uso
- Comparar métodos de compressão de KV cache em benchmarks de contexto longo.
- Reproduzir experimentos do PyramidKV ou outros relacionados a limites de cache.
- Medir a relação entre uso de memória e latência de estratégias de KV cache em uma única GPU.
- Prototipar um novo método de KV cache e compará-lo com os baselines existentes.
Início rápido
- 1
Clone o repositório
git clone https://github.com/Zefan-Cai/KVCache-Factory.git - 2
Entre no diretório do projeto
cd KVCache-Factory - 3
Instale as dependências
pip install -r requirements.txt - 4
Defina o caminho do Python para a raiz do projeto
export PYTHONPATH="$PWD:${PYTHONPATH}"
Antes de usar
- As principais execuções de avaliação exigem um modelo Llama ou Mistral local e uma GPU.
- Está fixado na versão transformers 4.44.2, e os patches de attention dependem da versão.
- Alguns métodos mais recentes têm cobertura mais limitada de runners e modelos.
- A inferência em lote não é compatível; eval_batch_size deve permanecer em 1.
Tópicos
Perguntas frequentes
- O que é KVCache-Factory?
- 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. O KVCache-Factory reúne vários métodos de KV cache para LLMs autorregressivos em uma única interface de avaliação. O projeto começou como a base de código do PyramidKV e agora inclui baselines como StreamingLLM, H2O, SnapKV, Quest, MiniCache, AdaKV e HeadKV, além de um caminho de offloading sem perda com HeadInfer, que mantém o cache completo.
- KVCache-Factory é gratuito? Qual é a licença?
- KVCache-Factory é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- KVCache-Factory ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de KVCache-Factory foi em 13 de ago. de 2026.
- Para que posso usar KVCache-Factory?
- Comparar métodos de compressão de KV cache em benchmarks de contexto longo. Reproduzir experimentos do PyramidKV ou outros relacionados a limites de cache. Medir a relação entre uso de memória e latência de estratégias de KV cache em uma única GPU. Prototipar um novo método de KV cache e compará-lo com os baselines existentes.
- Como instalar KVCache-Factory?
- Clone o repositório: git clone https://github.com/Zefan-Cai/KVCache-Factory.git Entre no diretório do projeto: cd KVCache-Factory Instale as dependências: pip install -r requirements.txt Defina o caminho do Python para a raiz do projeto: export PYTHONPATH="$PWD:${PYTHONPATH}"
- Onde consigo KVCache-Factory?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Zefan-Cai/KVCache-Factory
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca Python para compactar LLMs com quantização e poda, gerando checkpoints que podem ser carregados diretamente no vLLM para inferência.
Kit de ferramentas para quantizar modelos de linguagem grandes (GPTQ, AWQ, GGUF, FP8, EXL3 e outros) e executá-los em hardware NVIDIA, AMD, Intel, Apple e CPU.
Framework Python para comprimir redes neurais com quantização, pruning e esparsidade, acelerando a inferência no OpenVINO, PyTorch e ONNX.
Um mecanismo de inferência MoE nativo de edge que executa modelos grandes de pesos abertos, como DeepSeek-V4 e Qwen3.6, em GPUs e CPUs de consumo.
Configuração para servir o Mirai S 27B (um Qwen3.8-27B em GGUF) em uma RTX 4070 de 12 GB, com janela completa de 262 mil tokens e cache K/V q8_0.