Repolode
Zefan-Cai

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. 1

    Clone o repositório

    git clone https://github.com/Zefan-Cai/KVCache-Factory.git
  2. 2

    Entre no diretório do projeto

    cd KVCache-Factory
  3. 3

    Instale as dependências

    pip install -r requirements.txt
  4. 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