PagedAttention & KV-Cache Management
Algoritmo de gerenciamento de memória da GPU que divide o cache KV do modelo de linguagem em páginas virtuais contínuas (como no kernel do SO), eliminando a fragmentação e aumentando a throughput em 4 vezes.
1. Visão geral do conceito e o problema sistêmico
Quando um servidor atende requisições a modelos de linguagem, a memória é o maior inimigo da escalabilidade:
- Uma placa NVIDIA A100 possui 80 GB de VRAM. O próprio modelo de 70B em quantização de 4 bits ocupa ~38 GB.
- Restam 42 GB para as requisições dos usuários.
- Se a memória for reservada de forma tradicional, o servidor pode atender simultaneamente apenas 2–3 requisições com contexto longo. Tentar conectar um quarto cliente resulta no erro
CUDA Out of Memory.
O PagedAttention resolveu esse problema ao transpor um princípio fundamental dos sistemas operacionais, com 50 anos de história — a memória virtual paginada (Paging) — para a memória de vídeo das GPUs.
2. Taxonomia arquitetural e modelo mental
┌─────────────────────────────────────────────────────────────┐
│ ARQUITETURA PAGEDATTENTION │
├─────────────────────────────────────────────────────────────┤
│ 1. Blocos Lógicos de KV (Contexto lógico do usuário): │
│ [Tokens 0-15] ➔ [Tokens 16-31] ➔ [Tokens 32-47] │
├─────────────────────────────────────────────────────────────┤
│ │ │
│ ▼ Tabela de Páginas (Block Table) │
│ • Bloco lógico 0 ➔ Bloco físico 7 na VRAM │
│ • Bloco lógico 1 ➔ Bloco físico 2 na VRAM │
│ • Bloco lógico 2 ➔ Bloco físico 11 na VRAM │
├─────────────────────────────────────────────────────────────┤
│ 2. Páginas Físicas da VRAM (Slots livres contínuos): │
│ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ │
│ │ Bloco 0 │ Bloco 1 │ Bloco 2 │ ... │ Bloco 11│ │
│ │ (Req B) │(Livre) │ (Req A) │ │ (Req A) │ │
│ └─────────┴─────────┴─────────┴─────────┴─────────┘ │
│ • Fragmentação de memória reduzida de 70% para <4% │
└─────────────────────────────────────────────────────────────┘
3. Cenários práticos de engenharia em produção
01. Compartilhamento de prefixos (Prefix Caching / Copy-on-Write)
Se 50 usuários fazem perguntas simultâneas sobre o mesmo prompt de sistema ou documento PDF, o PagedAttention não copia esses dados 50 vezes. Todas as requisições apontam para as mesmas páginas físicas do KV-cache na VRAM. A memória só é copiada quando o usuário começa a gerar sua própria resposta única (Copy-on-Write).
02. Ramificação paralela de raciocínio agentic (Branching Search)
Quando um agente explora 4 caminhos de solução para uma tarefa (Beam Search ou Tree-of-Thought), o contexto inicial compartilhado é armazenado em uma única instância de páginas de memória, economizando até 75% da VRAM durante cálculos em enxame.
4. Armadilhas, erros comuns e segurança
- Overhead das tabelas de páginas em textos curtos: Para diálogos ultracurtos (1–5 tokens), o overhead de gerenciamento da tabela de blocos pode aumentar ligeiramente o tempo de despacho.
- Limpeza de páginas ao cancelar requisições: Se o usuário interromper a conexão, o motor deve devolver imediatamente as páginas físicas alocadas ao pool de blocos livres; caso contrário, ocorre um vazamento de memória (VRAM Memory Leak).
5. Conclusão estratégica para o engenheiro de 2026
O PagedAttention realizou uma revolução silenciosa na infraestrutura de LLMs tão significativa quanto a que a memória virtual trouxe ao Unix. Graças a ele, servir centenas de agentes em uma única GPU tornou-se um padrão economicamente viável na indústria.
FAQ: PagedAttention & KV-Cache Management
Termos relacionados
vLLM (Motor de inferência de alto desempenho)
O principal motor de inferência e serventia de LLMs de código aberto, que revolucionou a capacidade de processamento graças ao algoritmo de virtualização de memória PagedAttention e ao batching contínuo.
Janela de Contexto (Context Window)
O volume máximo de tokens que um modelo de linguagem consegue manter simultaneamente no mecanismo Self-Attention e na memória do cache KV durante o processamento de uma única requisição de inferência.
Descarregamento e Compressão do KV-Cache
Métodos de hardware e algoritmos para o descarregamento temporário do cache de chaves e valores (KV-Cache) da memória de vídeo GPU, de alto custo, para a memória RAM do sistema ou SSDs NVMe rápidos.
Continuous / Dynamic Batching
Mecanismo de agrupamento de requisições de entrada para redes neurais ao nível de iterações individuais de tokens (Iteration-Level Scheduling), que elimina o tempo ocioso das GPUs sob carga paralela.