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.
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.
Modo
Pico de RAM
Latência de visão
Quando usar
On-demand swap ★
≤ 101 GB
+ reload do DS4 (segundos)
Default. Visão esporádica, um Mac só.
Dois Macs
81 GB (M5) · 20 GB (M4)
instantânea
Visão frequente e você tem o 2º Mac.
Co-residência
~125 GB ⚠
instantânea
Raramente. 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.
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).