← Todos os cursos

pesquisa / Profissional · Avançado

Inferência e desempenho de GPU

Serving de LLMs pelo caminho crítico real: prefill, decode, KV cache, quantização, batching, kernels, paralelismo e análise de p95/p99 sob carga.

5 módulos + projeto30 h de dedicação estimadaLeitura aberta

Antes de começar

Memória de GPU, matrizes, latência e fundamentos de Transformers.

Ao concluir, você saberá

Estimar consumo e comparar configurações de serving sob a mesma carga.

Uma entrega concreta

Relatório de capacidade com carga controlada.

Baixar roteiro de exercícios ↓

Módulo 1 / 5

Roofline mental: compute, bandwidth, prefill e decode

Decode autoregressivo frequentemente é memory-bandwidth bound: a cada token, grandes pesos precisam ser lidos enquanto o batch pode ser pequeno. Prefill, por outro lado, tende a usar mais compute paralelo. Essa diferença explica por que otimizações de prefill e decode não são idênticas.

Meça time-to-first-token, inter-token latency, throughput e tail latency. Um único tokens/s agregado não descreve experiência de usuário nem capacidade do servidor.

Exemplo resolvido · cenário didático

Separar prefill de decode

Uma resposta leva 300 ms até o primeiro token e produz mais 99 tokens a 20 ms por token. O tempo aproximado total é 300+99×20=2.280 ms. Uma média de tokens por segundo sozinha não mostra a espera inicial.

Teste sua compreensão

Reduzir só TTFT a 100 ms muda o tempo total para quanto?

Conferir o raciocínio

2.080 ms, mantendo o restante igual. O ganho é 200 ms, não três vezes mais velocidade total.

Leitura de referência: Kwon et al. — PagedAttention

Próximo módulo →

Módulo 2 / 5

KV cache, paging, prefix reuse e eviction

KV cache evita recomputar keys/values de tokens passados. Cresce com batch, contexto, layers, heads KV e dimensão. Paged attention reduz fragmentação e permite alocar blocos de cache sob demanda.

Prefix caching reutiliza contexto comum entre requests. É poderoso para system prompts e documentos repetidos, mas exige chave de cache correta e invalidação quando o prefixo muda.

Exemplo resolvido · cenário didático

Estimativa do KV cache

Com batch 1, 32 camadas, 8 cabeças KV, dimensão 128, 4.096 tokens e 2 bytes por elemento: memória=2×32×8×128×4.096×2=536.870.912 bytes, ou 512 MiB. O fator inicial 2 representa K e V.

Teste sua compreensão

Qual o valor para batch 4 nas mesmas condições?

Conferir o raciocínio

2 GiB de KV; pesos, buffers e fragmentação são custos adicionais.

Leitura de referência: Kwon et al. — PagedAttention

Próximo módulo →

Módulo 3 / 5

Quantização, FP8 e regressão de qualidade

INT8/FP8/INT4 reduzem bytes por parâmetro, mas erro de quantização depende de distribuição de pesos/ativações e calibração. Weight-only quantization afeta caminho diferente de quantização de ativações ou KV cache.

Use precisão híbrida: mantenha operações sensíveis em BF16/FP32 quando necessário. O objetivo é Pareto de qualidade, throughput e memória, não o menor bitwidth possível.

Exemplo resolvido · cenário didático

Bits não equivalem ao consumo total

Sete bilhões de pesos a 4 bits dão 3,5 bilhões de bytes, cerca de 3,26 GiB, antes de escalas e metadados. A economia teórica precisa ser confirmada junto de qualidade, kernels e memória total.

Teste sua compreensão

Por que um modelo de 4 bits pode não ser mais rápido?

Conferir o raciocínio

Desquantização, kernels disponíveis, tamanho dos lotes e gargalos de memória ou compute afetam o tempo real.

Leitura de referência: Kwon et al. — PagedAttention

Próximo módulo →

Módulo 4 / 5

Continuous batching, scheduling e fairness

Continuous batching adiciona e remove sequências do batch conforme terminam, elevando utilização. Scheduler precisa equilibrar prefill pesado e decode sensível à latência. Chunked prefill pode impedir um prompt gigante de bloquear todos os decodes.

Políticas de prioridade e quotas evitam que uma única tarefa longa monopolize HBM e compute. Em multi-tenant, fairness é requisito de produto.

Exemplo resolvido · cenário didático

Throughput e espera

Agrupar pedidos pode aumentar utilização, mas um usuário pode esperar pela fila. Compare p95 de espera e de serviço, não apenas tokens por segundo. Um limite de lote não define sozinho o tempo máximo de espera.

Teste sua compreensão

Qual métrica revela que pedidos curtos ficam presos atrás de longos?

Conferir o raciocínio

Latência por faixa de tamanho e tempo em fila, além do agregado.

Leitura de referência: Kwon et al. — PagedAttention

Próximo módulo →

Módulo 5 / 5

TP/PP/EP, comunicação e speculative decoding

Tensor parallel divide operações dentro de camadas; pipeline parallel divide layers; expert parallel distribui experts MoE. Cada estratégia troca memória por comunicação. Dentro de um único nó, links rápidos reduzem custo, mas comunicação ainda não é grátis.

Speculative decoding propõe múltiplos tokens com um draft e verifica em lote no modelo alvo. Ganho depende da taxa de aceitação e do custo relativo entre draft e verifier.

Exemplo resolvido · cenário didático

Limite de aceleração

Se 25% do tempo permanece serial, acelerar o resto indefinidamente ainda limita o ganho total a 1/0,25=4. Na prática, comunicação e sincronização podem reduzir esse ganho.

Teste sua compreensão

Com a parte paralela quatro vezes mais rápida, qual é o ganho?

Conferir o raciocínio

1/(0,25+0,75/4)≈2,29, antes de adicionar overhead.

Leitura de referência: Kwon et al. — PagedAttention

Ir para o projeto →

Projeto aplicado

Relatório de capacidade com carga controlada

  1. Registre hardware, precisão, modelo e distribuição dos tamanhos de entrada e saída.
  2. Compare ao menos duas concorrências com cache frio e quente separados.
  3. Reporte TTFT, tempo entre tokens, p95, throughput e falhas; admita resultados simulados quando não houver GPU.

Critérios para revisar sua entrega

  • A execução pode ser reproduzida a partir das instruções e dos arquivos entregues.
  • O baseline, as condições e as métricas permitem conferir a comparação.
  • O relatório distingue resultado medido, simulação, hipótese e limitação.

Esta rubrica orienta a autoavaliação do projeto; a conclusão e a credencial seguem a avaliação do curso.

Continue com evidências.

Os exemplos numéricos são didáticos. Compare o raciocínio com a referência e registre o que você observou no seu próprio experimento.

Kwon et al. — PagedAttention ↗

Progresso e avaliação

A leitura e o roteiro de exercícios são abertos. Para registrar progresso e realizar a avaliação final do curso, entre na área de estudo.

Abrir minha área de estudo ↗