Você não sente os FLOPs da GPU quando conversa com um modelo local — você sente a banda de memória. A velocidade com que o modelo cospe um token depende de quão rápido o hardware consegue ler os pesos da memória, não de quanta conta bruta ele faz. Esta lição mostra por que a banda decide se a caixa parece viva ou parece decodificar através de cimento molhado, por que um MoE de poucos ativos é o casamento perfeito com um Mac, e exatamente onde o seu M5 Max cai nesse mapa.
460–614
GB/s — banda do MacBook Pro M5 Max
3350
GB/s — H100 SXM (3,35 TB/s, o teto)
~7×
quão mais rápida a H100 lê memória vs M5 Max
13B
params ativos/token do DeepSeek-V4-Flash (de 284B)
01 · Decode segue a banda, não o pico de compute
Há dois regimes em toda geração. No prefill, o modelo lê o seu prompt inteiro de uma vez — é um trabalho paralelo, denso, que satura as unidades de cálculo (compute-bound). No decode, ele gera um token de cada vez, e para cada token precisa varrer todos os pesos ativos da memória. É aí que a banda manda. Prompt curto e resposta longa? O decode domina, e a alavanca é banda + batching. Prompt longo e resposta curta? O prefill domina, e a alavanca são os kernels de atenção e o chunked prefill.
Decode speed tracks memory bandwidth more than peak compute. Short prompt → long answer: decode dominates → bandwidth + batching. Long prompt → short answer: prefill dominates → attention kernels + chunked prefill.— Ahmad Osman, "Memory Bandwidth (2026)"
Mesma máquina, dois mundos. O agente de coding típico (prompt curto, resposta longa) vive no lado esquerdo — por isso, para esse uso, banda é destino.
02 · O espectro: vivo ou cimento molhado
Banda não é um número abstrato de datasheet — é a diferença sensorial entre uma caixa que responde na hora e uma que parece estar pensando debaixo d'água. Ahmad coloca o piso do desconforto em ~3 tokens/s: abaixo disso, você espera. O eixo abaixo é a banda de memória; quanto mais à direita, mais "viva" a caixa parece no decode.
Bandwidth decides whether the box feels alive or like it's decoding through wet cement at 3 tokens per second.— Ahmad Osman, "Memory Bandwidth (2026)"
Posições à escala num eixo 0–3500 GB/s. O M5 Max aparece como uma faixa (460–614) porque a banda varia por SKU/binning; mesmo o piso de 460 está num território folgado e responsivo.
03 · A tabela de banda, à escala
Aqui estão os números crus que alimentam tudo nesta lição, e o mesmo dado desenhado em barras proporcionais. A escala é real: cada pixel de barra é a mesma quantidade de GB/s em todas as linhas (teto = H100, 3350 GB/s).
Hardware
Classe
Banda de memória
H100 SXM
Datacenter
3350 GB/s (3,35 TB/s)
RTX 5090 / PRO 6000
GPU desktop
1792 GB/s
Mac Studio M3 Ultra
Apple unificada
819 GB/s
MacBook Pro M5 Max ★
Apple unificada (laptop)
460–614 GB/s
Mac Studio M4 Max
Apple unificada
546 GB/s
DGX Spark
Mini-AI
273 GB/s
Strix Halo / Ryzen AI Max
APU x86
256 GB/s
Leitura rápida: a H100 lê memória ~7× mais rápido que o piso do M5 Max e ~5,5× mais rápido que o topo dele. Mas a H100 tem ~80 GB; o M5 Max tem 128 GB de memória unificada. É exatamente esse trade-off — banda vs quantidade absurda de memória num corpo só — que a próxima seção decide.
04 · Onde a Apple ganha (e onde perde)
Banda crua não é a única dimensão. A Apple coloca uma quantidade de memória que GPUs de consumo não chegam perto, num único corpo silencioso, sem sharding entre placas. O custo é tokens/s de pico e concorrência. Ahmad resume o trade-off sem rodeios:
A regra do "quando a Apple ganha"
Apple wins when: one box, silence, stupid amounts of memory, no sharding. It loses when raw tokens/sec & concurrency matter most. — Ahmad Osman, "Inference Engines"
Traduzindo para a sua decisão: se você quer uma caixa, sem barulho de servidor, que carregue um modelo gigante de uma vez e sirva você (não 200 usuários simultâneos), a Apple é imbatível. Se você precisa de throughput máximo agregado e muitos pedidos em paralelo, um cluster NVIDIA ganha. Para um dev local rodando um agente de coding, o primeiro caso é exatamente o seu.
Por que isso importa para banda: com pouca concorrência (um usuário), você não esconde a latência de leitura de memória atrás de batches grandes. O decode de um único stream é puro teste de banda — o que torna os 460–614 GB/s do M5 Max o número mais honesto da sua experiência diária.
05 · Por que um MoE de poucos ativos casa com o Mac
Aqui está o truque que faz tudo se encaixar. Banda limita quantos bytes de peso você lê por token. Então a jogada óbvia é: e se o modelo só precisasse ler uma fração pequena dos seus pesos a cada token? É exatamente o que faz um Mixture-of-Experts (MoE) de poucos ativos. O DeepSeek-V4-Flash tem 284B de parâmetros no total, mas ativa apenas ~13B por token — só ~4,6% do modelo é "aceso" a cada passo.
Os 284B precisam caber na memória — e aqui os 128 GB do Mac brilham. Mas só os ~13B ativos pagam o pedágio de banda a cada token. Por isso essa classe de MoE mede 25–34 tok/s neste Mac, apesar da banda não ser de datacenter.
Une-se tudo: a fraqueza do Mac é banda crua; a força é memória total. Um MoE de poucos ativos inverte a equação — exige muita memória para residir (✓ força do Mac) e lê pouco por token (✓ contorna a fraqueza). É o casamento exato que a próxima lição aprofunda com quantização, e a Lição 08 transforma na sua config concreta.
O M5 Max não vence em banda crua — vence pela combinação banda-suficiente + memória-enorme num laptop silencioso. Para servir um único dev com um MoE de poucos ativos, é o ponto doce.
1. Você manda um prompt curto ("escreva uma função") e o modelo gera uma resposta longa. Qual regime domina, e qual é a alavanca de velocidade?
Correto: b. Prompt curto → resposta longa significa muitos passos de geração token-a-token: o decode domina, e o decode "tracks memory bandwidth more than peak compute". Prompt longo → resposta curta é o caso oposto, dominado por prefill (kernels de atenção + chunked prefill).
2. O DeepSeek-V4-Flash tem 284B de parâmetros totais mas mede 25–34 tok/s no M5 Max, cuja banda (460–614 GB/s) é muito menor que a de uma H100. Por que ele ainda roda rápido?
Correto: c. Os 284B precisam residir na memória (e os 128 GB unificados do Mac dão conta), mas apenas ~13B são "acesos" por token. Banda limita bytes lidos por token; ler ~4,6% do modelo por passo é o que mantém a velocidade alta apesar da banda não ser de datacenter.