GUIA Técnico
Otimização de Cache KV
O cache KV armazena as chaves e os valores que um transformador já computou, de modo que não refaz o trabalho para cada novo token – mas pode aumentar para gigabytes.
Nesta página2 minutos de leitura
Visão geral
KV cache optimization shrinks and manages that memory so models serve longer contexts to more users at once.
Mergulho profundo
Em um transformador, cada novo token atende a todos os tokens anteriores por meio de chaves de atenção (K) e valores (V). Recalcular K e V para toda a sequência em cada etapa seria quadrático e um desperdício, então os modelos os armazenam em cache: o cache KV. A desvantagem é o tamanho. O cache cresce linearmente com o comprimento da sequência, tamanho do lote, camadas e cabeçalhos, portanto, uma solicitação de contexto longo pode consumir mais memória da GPU do que o peso do próprio modelo. A otimização aborda isso de vários ângulos: a memória paginada (PagedAttention do vLLM) armazena o cache em blocos não contíguos para eliminar a fragmentação e permitir o compartilhamento; a quantização armazena K e V em 8 ou 4 bits; e mudanças arquitetônicas como Grouped-Query Attention (GQA) e Multi-Query Attention (MQA) permitem que muitos cabeçotes de consulta compartilhem menos cabeçotes de chave/valor, reduzindo o tamanho do cache na origem.
Impacto Estratégico
Custo e orçamento
As decisões de arquitetura impulsionam o desempenho e os custos operacionais durante anos.
Decisões mais claras
A educação técnica ajuda as equipes a escolher a pilha certa, não apenas a mais nova.
Controle de qualidade
Melhores escolhas de engenharia reduzem incidentes de confiabilidade na produção.
O futuro da otimização do cache KV
À medida que as janelas de contexto se estendem para centenas de milhares ou milhões de tokens, o cache KV se torna o custo dominante de serviço. Espere compactação e remoção agressivas de cache (descartando tokens de baixa atenção), compartilhamento de prefixo de solicitação cruzada como padrão, descarregando cache frio para CPU ou NVMe e arquiteturas como MLA e GQA se tornando padrão. O gerenciamento de cache se assemelhará cada vez mais a uma hierarquia completa de memória com níveis e pré-busca inteligente.
Implementação no mundo real
PagedAttention do vLLM atendendo a muitas sessões de bate-papo simultâneas, empacotando blocos KV sem fragmentação de memória
Atenção de consulta agrupada em modelos Llama, reduzindo o tamanho do cache KV para que contextos mais longos caibam na memória da GPU
Quantizando o cache KV para 8 bits (KV8) para reduzir aproximadamente pela metade a memória cache durante o resumo de documentos longos
Cache de prefixo que reutiliza os blocos KV de um prompt de sistema compartilhado em milhares de solicitações de API
Riscos e guarda-corpos
A otimização de um benchmark pode ocultar fraquezas mais amplas do sistema.
Os custos de infraestrutura e manutenção são frequentemente subestimados.
As lacunas de segurança e observabilidade podem aumentar à medida que os sistemas se tornam mais complexos.
Roteiro de implementação
Defina metas de latência, qualidade e custo antes da implementação.
Benchmark sob condições realistas de carga e dados.
Monitoramento de instrumentos para erros, desvios e impacto no usuário.
Prepare caminhos de reversão e resposta a incidentes antes de escalar.
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 Optimization 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
Perguntas frequentes
What is KV Cache Optimization?
O cache KV armazena as chaves e os valores que um transformador já computou, de modo que não refaz o trabalho para cada novo token – mas pode aumentar para gigabytes. A otimização do cache KV reduz e gerencia essa memória para que os modelos sirvam contextos mais longos para mais usuários ao mesmo tempo.
O que o cache KV armazena e por quê?
O armazenamento em cache de chaves e valores de tokens anteriores evita refazer o cálculo da atenção em cada novo token, economizando tempo.
Por que o cache KV pode se tornar um problema de memória?
O tamanho do cache é dimensionado de acordo com o comprimento do contexto e a simultaneidade, de modo que solicitações longas podem usar enormes quantidades de memória da GPU.
Qual conceito de sistema operacional o PagedAttention empresta?
PagedAttention armazena o cache em blocos não contíguos de tamanho fixo mapeados por meio de uma tabela, assim como a paginação do sistema operacional.
Como a consulta agrupada e a atenção multiconsulta reduzem o tamanho do cache KV?
Compartilhar cabeças de chave/valor em vários cabeçalhos de consulta significa muito menos vetores K e V para armazenar.
Qual é um benefício do compartilhamento de prefixo no cache KV?
Um prompt de sistema compartilhado produz entradas KV idênticas, portanto, múltiplas solicitações podem apontar para os mesmos blocos em vez de duplicá-los.
Continue aprendendo
Guias relacionados
Mais guias escolhidos para este tópico