Curso / Lição 08  ·  English →
Lição 08 · Onde tudo se junta

A config do seu M5 Max

As sete lições anteriores derivaram os princípios; esta os transforma numa máquina concreta. Você tem 128 GB de memória unificada e dois workloads — um cérebro de coding/agente e visão ocasional. Esta lição mostra exatamente o que carregar, quanto cada peça ocupa, e os três jeitos de orquestrar os dois modelos sem estourar a RAM.

81 GB
DeepSeek-V4-Flash q2 (pesos residentes)
~20 GB
Qwen3-VL-30B-A3B (visão, sob demanda)
~18 GB
macOS + apps (piso a preservar)
10–20%
folga obrigatória (regra do Ahmad)

01 · O orçamento de memória

Tudo nesta config é decidido por uma soma. O DeepSeek q2 são 81 GB de pesos que ficam residentes na memória endereçável pela GPU. O KV cache cresce com o contexto — a 100k tokens fica em poucos GB; no extremo de 1M chega a ~26 GB (o indexador comprimido sozinho é ~22 GB). Some o sistema e a folga, e os 128 GB ficam apertados. O diagrama abaixo é à escala: cada pixel é proporcional aos bytes reais.

Memória unificada — 128 GB (escala real, 6,4 px/GB) 0 32 64 96 128 GB Só o cérebro (ctx 100k) DeepSeek q2 · 81 GB KV 8 macOS 18 ✓ folga 21 GB Cérebro + visão co-residentes DeepSeek q2 · 81 GB KV 8 Qwen3-VL 20 macOS 18 teto seguro 80% (102 GB) ⚠ estoura a folga

A barra de cima (só cérebro) deixa 21 GB livres — confortável. A de baixo (co-residência permanente) cruza a linha vermelha de 80%: instável. Daí os três modos abaixo.

Deixe 10 a 20 por cento de folga. Rodar a 99% da VRAM é implorar por out-of-memory e falhas de fragmentação.— Ahmad Osman, "LLMs 101 (2026)"

02 · Os três modos de deploy

Como rodar cérebro (81 GB) + visão (20 GB) sem cruzar o teto? Três arranjos, do mais simples ao sem-compromisso. O diagrama compara o que fica residente em cada um.

★ On-demand com swap recomendado · 1 Mac DeepSeek servindo:8000 · sempre on ↓ chega uma imagem pausa DS4 → roda Qwen3-VL ↑ reload mmap (segundos) pico ≤ 101 GB · zero contenção Dois Macs sem-compromisso · TB5 M5 Max128 GBDeepSeek81 GB · :8000 M4 Max36 GBQwen3-VL20 GB · :8081 TB5 visão sempre pronta · zero swap Co-residência arriscado DeepSeek (ctx ≤64k) Qwen3-VL co-residente ⚠ vive no limite dos 128 GB só se a visão for muito frequente e você aceitar OOM ocasional
ModoPico de RAMLatência de visãoQuando usar
On-demand swap≤ 101 GB+ reload do DS4 (segundos)Default. Visão esporádica, um Mac só.
Dois Macs81 GB (M5) · 20 GB (M4)instantâneaVisão frequente e você tem o 2º Mac.
Co-residência~125 GB ⚠instantâneaRaramente. Só com ctx baixo.

03 · O pool de 2 Macs via Thunderbolt 5

O 2º Mac (M4 Max, 36 GB) não acelera o cérebro — mas resolve a visão de vez. Sobre o Thunderbolt 5 (80 Gb/s, com RDMA no macOS 26.x), cada Mac roda um endpoint independente; o seu app fala com os dois. É a leitura do Ahmad ("use os dois como nós independentes") aplicada.

MacBook Pro M5 Max 128 GB · 460–614 GB/s DS4 · DeepSeek-V4-Flash q2 127.0.0.1:8000 · OpenAI+Anthropic MacBook Pro M4 Max 36 GB · nó de visão mlx_vlm.server · Qwen3-VL <ip-do-mac>:8081 · OpenAI TB5 · 80 Gb/s RDMA (macOS 26.x) seu app / Claude Code / Codex
Importante: distribuir um modelo entre os dois Macs (exo/mlx.distributed) ajuda capacidade, não velocidade de geração — e o DeepSeek-Flash já cabe num Mac só. Por isso a recomendação é nós independentes (cérebro num, visão no outro), não sharding.

04 · Exemplos reais (medidos nesta sessão)

Não é teoria. Abaixo, os comandos exatos e a saída real capturada no seu M5 Max.

Servir o cérebro (DS4)

# build já feito e provado neste Mac (make → 5 binários Metal, exit 0)
./ds4-server --ctx 100000 --kv-disk-dir ~/.ds4/kv --kv-disk-space-mb 8192
# perf medida (README oficial, classe M5 Max): gen 25–34 t/s · prefill 87–463 t/s

Servir a visão (MLX) — rodando agora em :8081

# chamada real ao endpoint OpenAI-compatível
curl -s 127.0.0.1:8081/v1/chat/completions -d '{"model":"...Qwen3-VL...","messages":[
  {"role":"user","content":"Por que um MoE de poucos ativos roda rápido num Mac unificado?"}]}'
# resposta real:
"Um MoE com poucos parâmetros ativos executa rapidamente porque apenas uma pequena
 parte do modelo é ativada em cada passo... o Mac com memória unificada permite
 acesso rápido e eficiente aos dados."
# timings: prompt 88 t/s · geração 62 t/s · peak 18,4 GB
q2 (81 GB) vs q2-q4 (98 GB) — a escolha

O q2-q4-imatrix sobe a qualidade em math/code difícil (últimas 6 camadas em q4), mas os 17 GB extras comem a folga que a visão precisa (98 + 20 + 18 > 128). Para um setup velocidade+inteligência+visão, o q2-imatrix é o equilíbrio. Escolha o q2-q4 só se NÃO for co-residir visão.

1. Por que a co-residência permanente de DeepSeek + Qwen3-VL é instável no M5 Max?
Correto: b. A soma encosta nos 128 GB e viola a regra de 10–20% de folga. Por isso o default é on-demand com swap (pico ≤101 GB) ou separar a visão no 2º Mac.
2. Para que serve o 2º Mac (M4 Max 36 GB) nesta config?
Correto: c. Distribuir um modelo entre os dois dá capacidade, não velocidade; o ganho real é usá-los como nós independentes (cérebro + visão).