Skip to main content

PagedAttention & KV-Cache Management

PARA AGENTES DE IAChatGPTClaude

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.

/ Perguntas FrequentesSchema.org FAQPage

FAQ: PagedAttention & KV-Cache Management

Durante a geração, o modelo precisa armazenar os tensores Keys e Values para cada token anterior, evitando recálculos. Com um contexto de 128k tokens, o cache KV para um único usuário pode ocupar mais de 10–20 GB de memória.
/ Links internos
Todos os termos