How KV Cache Speeds Up LLMs for Faster AI Models on GPUs
Acelere seus modelos de IA com KV Cache, Tecnologia IBM que otimiza LLMs em GPUs.
Conteudo
TLDR;
KV cache armazena as matrizes de chave e valor (K e V) geradas por tokens anteriores para evitar recomputação e acelerar significativamente a geração autoregressiva em sequências longas. Paged attention (page detention) fragmenta o KV cache em páginas fixas (p.ex. 16 tokens) e mapeia páginas lógicas para físicas, permitindo alocações não contíguas e compartilhamento de prefixos para reduzir fragmentação e o desperdício de VRAM. Para otimizar, ajuste a fração de VRAM dedicada ao KV cache (p.ex. default 0,9 → 0,95 para cargas estáveis ou 0,8 em picos de OOM), habilite prefix caching e chunked prefill para aumentar throughput (até ~50%) e considere speculative decoding para reduzir latência interativa.
Resumo
Rodando modelos de linguagem em produção, o gargalo normalmente não é o modelo, mas o uso de memória durante a inferência: há duas fases — prefill (computação intensiva para processar o prompt) e decode (memória intensiva, que acessa o histórico token a token). O KV cache armazena chaves e valores já computados para evitar recomputação em sequências autogerativas, reduzindo custo computacional mas exigindo muita VRAM. Sistemas tradicionais prealocam blocos contíguos para cada requisição, causando fragmentação interna e externa e desperdício de 60–80% da memória reservada ao cache. O page attention (paginamento de atenção), implementado no VLLM, fragmenta o KV em páginas fixas (ex.: 16 tokens), mapeadas por uma tabela leve, permitindo alocação não contígua e compartilhamento de prefixos idênticos entre requisições. Para otimizar, ajuste a utilização de memória GPU (ex.: 0,9–0,95), ative prefix caching para evitar recalcular prompts comuns e habilite chunked prefill para melhorar throughput e reduzir stutter em streaming; aumentar max-num-batch-tokens pode ajudar. Para baixa latência, use speculative decoding com um modelo menor propondo tokens que o modelo maior valida, mantendo qualidade igual e ganhando performance em cenários interativos. Também acompanhe métricas de OOM, faça benchmarks por modelo e ajuste conforme padrões reais de carga para segurança operacional.