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
- Registre hardware, precisão, modelo e distribuição dos tamanhos de entrada e saída.
- Compare ao menos duas concorrências com cache frio e quente separados.
- 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 ↗