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.

  • 2 minutos de leitura
  • Última atualização
Nesta página2 minutos de leitura
  1. Visão geral
  2. Mergulho profundo
  3. Impacto Estratégico
  4. O futuro da otimização do cache KV
  5. Implementação no mundo real
  6. Riscos e guarda-corpos
  7. Roteiro de implementação
  8. Continue explorando
  9. Perguntas frequentes

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

  1. Defina metas de latência, qualidade e custo antes da implementação.

  2. Benchmark sob condições realistas de carga e dados.

  3. Monitoramento de instrumentos para erros, desvios e impacto no usuário.

  4. 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.

Iniciar teste

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.