Cache KV
O cache KV armazena os vetores de chave e valor que um transformador já computou para tokens anteriores, portanto, não é necessário recalculá-los para cada nova palavra que gera.
Visão geral
It is the single biggest reason text generation is fast — and the main thing eating your GPU memory during long conversations.
Mergulho profundo
Os transformadores geram texto, um token por vez, e a camada de atenção de cada novo token precisa ser comparada com todos os tokens anteriores. O mecanismo de atenção transforma cada token em um vetor de consulta, chave e valor. Sem armazenamento em cache, gerar o token número 1.000 significaria recalcular chaves e valores para todos os 999 tokens anteriores em cada etapa – trabalho quadrático e um desperdício. O cache KV salva esses vetores de chave e valor depois de serem computados pela primeira vez e os reutiliza, de modo que cada nova etapa calcula apenas vetores para o token mais recente e atende ao cache armazenado. Isso reduz o custo por token do escalonamento com o comprimento da sequência para aproximadamente constante. A compensação é a memória: o cache cresce linearmente com o comprimento do contexto, o número de camadas e as cabeças de atenção, muitas vezes tornando-se o consumidor de memória dominante no serviço de contexto longo.
Visão Técnica
Durante a fase de 'preenchimento', o modelo processa todo o prompt e preenche o cache; durante a 'decodificação', ele anexa o K/V de um token por etapa e reaparece. O tamanho do cache é dimensionado como 2 (K e V) × camadas × cabeças × head_dim × seqüência_comprimento × lote, na precisão escolhida. Para controlar isso, os modelos modernos usam consulta agrupada ou atenção de múltiplas consultas para compartilhar chaves/valores entre cabeças, e sistemas de serviço como vLLM usam PagedAttention para alocar cache em blocos não contíguos, reduzindo a fragmentação e o desperdício.
Impacto Estratégico
Velocidade e escala
Os fluxos de trabalho de idiomas podem avançar mais rapidamente sem sacrificar a consistência.
Acesso e alcance
Ele expande o acesso entre idiomas e estilos de comunicação.
Decisões mais claras
As equipes podem gastar mais tempo julgando enquanto a automação cuida da repetição.
O futuro do cache KV
À medida que as janelas de contexto se estendem para centenas de milhares de tokens, o cache KV se torna o gargalo central, então a inovação é feroz: quantização do cache para 8 ou 4 bits, políticas de despejo que descartam tokens de baixa importância, compartilhamento de prefixo de solicitação cruzada e descarregamento para CPU ou disco. Mudanças arquitetônicas, como atenção latente de vários cabeçotes, comprimem o próprio cache. Espere o co-projeto contínuo de variantes de atenção e sistemas de memória destinados a servir contextos muito longos de maneira barata e com alto rendimento.
Implementação no mundo real
Acelerar as respostas do chatbot reutilizando chaves/valores armazenados em cache do histórico de conversas em vez de reprocessá-los a cada turno.
Cache de prefixo que compartilha o cache para um longo prompt do sistema entre muitos usuários, reduzindo custos e latência.
O PagedAttention do vLLM gerencia o cache KV em blocos para atender com eficiência muitas solicitações simultâneas em uma GPU.
Quantizando o cache KV para diminuir a precisão para ajustar contextos mais longos na memória limitada da GPU.
Riscos e guarda-corpos
Fatos alucinados podem entrar silenciosamente em relatórios, fluxos de apoio ou resultados de pesquisas.
A sensibilidade do prompt pode criar resultados inconsistentes em solicitações semelhantes.
Dados de texto confidenciais podem ser expostos se os controles de acesso forem fracos.
Roteiro de implementação
Defina o formato de saída, o tom e os padrões de qualidade antes da implementação.
Respostas terrestres com fontes confiáveis sempre que a precisão for importante.
Mantenha um ponto de verificação de revisão humana para resultados de alto risco.
Rastreie padrões de falha e treine novamente prompts ou fluxos de trabalho regularmente.
Continue explorando
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the KV Cache quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Próximo guia
Otimização de Cache KV
Perguntas frequentes
What is KV Cache?
O cache KV armazena os vetores de chave e valor que um transformador já computou para tokens anteriores, portanto, não é necessário recalculá-los para cada nova palavra que gera. Esse é o maior motivo pelo qual a geração de texto é rápida – e o principal motivo pelo qual a memória da GPU é consumida durante longas conversas.
O que o cache KV armazena?
O cache KV contém os vetores de chave e valor dos tokens anteriores para que a atenção possa reutilizá-los em vez de recomputá-los.
Qual problema o cache KV resolve principalmente?
Sem armazenamento em cache, cada novo token exigiria o recálculo de K/V para cada token anterior, o que é um desperdício; o cache torna o custo por token praticamente constante.
Qual é a principal desvantagem do cache KV?
O cache cresce com o comprimento da sequência, camadas e cabeçalhos, muitas vezes se tornando o consumidor dominante de memória da GPU em serviços de contexto longo.
Qual técnica reduz o tamanho do cache KV compartilhando chaves e valores entre cabeças de atenção?
A atenção de consulta agrupada e multiconsulta permite que vários cabeçotes de consulta compartilhem menos conjuntos de chave/valor, reduzindo substancialmente o cache.
Quais são as duas fases de inferência do transformador em relação ao cache KV?
O pré-preenchimento preenche o cache com o K/V do prompt; decode anexa o K/V de um novo token a cada etapa e reaparece no cache.