Zubnet AIAprenderWiki › KV Cache
Infraestrutura

KV Cache

Também conhecido como: Cache de Chave-Valor
Armazena tensores de atenção chave/valor previamente computados para que não precisem ser recalculados para cada novo token. Troca memória por velocidade.

Por que isso importa

O KV cache é o motivo pelo qual a inferência de LLMs é limitada por memória. Um contexto de 100K em um modelo de 70B pode precisar de ~256 GB de cache — mais que os próprios pesos. Essa é a restrição fundamental para inferência de contexto longo.

Em profundidade

Cálculo de memória: 2 × camadas × cabeças × dimensão_cabeça × comprimento_seq × bytes. Otimizações: GQA, MQA, PagedAttention, janela deslizante, quantização do KV cache.

Por Que Cresce Tão Rápido

Cada token gerado adiciona uma nova linha de chaves e valores em cada camada de atenção. Para um modelo de 70B com 80 camadas e cabeças GQA, o cache cresce linearmente com o comprimento da sequência. Em contextos longos (100K+ tokens), o KV cache pode facilmente consumir mais memória de GPU que os próprios pesos do modelo. Esse é o verdadeiro gargalo de contexto longo — não a atenção quadrática, mas a memória linear do cache.

Estratégias de Otimização

GQA (Grouped-Query Attention) e MQA (Multi-Query Attention) reduzem o cache compartilhando cabeças de chave/valor entre múltiplas cabeças de consulta. PagedAttention (vLLM) gerencia cache como memória paginada, eliminando fragmentação. Janelas deslizantes limitam o cache aos últimos N tokens. Quantização do KV cache para FP8 ou INT4 corta memória pela metade ou mais com perda mínima de qualidade.

Conceitos relacionados

← Todos os termos
← Knowledge Editing LangChain →