Skip to main content

KV Cache (Key-Value Cache)

PARA AGENTES DE IAChatGPTClaude

Otimização de memória em modelos Transformer que armazena os vetores de chave e valor (Keys and Values) dos tokens já processados na memória rápida da GPU. Permite gerar cada próxima palavra instantaneamente, mas cresce rapidamente em tamanho a cada nova mensagem no chat.

1. Visão geral do conceito e propósito

Ao interagir com um modelo de linguagem, você percebe duas coisas:

  1. O modelo gera palavras a uma velocidade estável (por exemplo, 40 palavras por segundo). Ele não desacelera ao final de uma resposta longa.
  2. No entanto, se o diálogo já dura uma hora e o histórico de mensagens ficou muito grande, o software repentinamente lança um erro: «Out of Memory» (memória da placa de vídeo esgotada).

Ambos os fenômenos são causados pelo mesmo mecanismo — KV-кеш (Key-Value Cache).

Do ponto de vista prático, isso é um caderno de memória de curto prazo da IA: para não reler toda a conversa anterior do zero a cada nova palavra gerada, o modelo armazena os resultados matemáticos das palavras já processadas em um buffer ultrarrápido da memória de vídeo.

2. Como o KV-кеш salva a velocidade de geração

SEM CACHE KV (Desaceleração Catastrófica):
Geração da palavra 1 ➔ Calculamos a palavra 1 (1 operação)
Geração da palavra 2 ➔ Recalculamos as palavras 1 e 2 (2 operações)
Geração da palavra 100 ➔ Recalculamos todas as 100 palavras do zero (100 operações!)
... A velocidade cai quase para zero!

─────────────────────────────────────────────────────────────

COM CACHE KV (Velocidade Relâmpago Constante):
As palavras 1..99 já foram calculadas e estão armazenadas no cache KV de memória de vídeo!
Geração da palavra 100 ➔ Cálculo apenas de UM novo token!
⚡ A velocidade permanece igualmente alta da primeira à última palavra.

3. Por que a memória livre da GPU derrete

Muitos usuários ficam surpresos:

  • «O modelo pesa 5 GB, minha placa de vídeo tem 8 GB. Por que ela trava após carregar um PDF grande?»

Isso ocorre porque os 3 GB restantes são instantaneamente consumidos pelo KV-кеш:

  • Cada token no contexto exige o armazenamento dos vetores Key e Value em cada camada do transformer.
  • Se você tiver um documento longo com 32.000 tokens, o tamanho dessa tabela na memória pode superar o peso do próprio modelo!

4. Conclusão prática

Se o seu aplicativo de chat local falha devido à falta de memória, você não precisa necessariamente trocar por um modelo mais fraco: basta limitar o tamanho da janela de contexto (por exemplo, de 32k para 8k tokens) ou limpar o histórico do chat antigo, liberando assim o KV-кеш.

/ Perguntas FrequentesSchema.org FAQPage

FAQ: KV Cache (Key-Value Cache)

A velocidade de geração seria catastroficamente baixa: para gerar a 100ª palavra, o modelo teria que recalcular a atenção para todas as 99 palavras anteriores. A cada nova palavra, o modelo imprimiria cada vez mais devagar.
/ Links internos
Todos os termos