Compare Qwen3.6-35B-A3B, DeepSeek-V4-Flash e Gemma 4; entenda como quantização decide o que cabe nos 128 GB.
Coleção de modelos convertidos para MLX; usada para escolher tamanhos e quantizações que cabem no M5 Max.
Modelos de IA são enormes. Para caber no Mac, usamos quantização: representar cada peso com menos bits. Quanto menos bits, menor e mais rápido, mas com leve perda de qualidade. O segredo é escolher a quantização certa para cada tarefa.
Pense em compressão de música: MP3 de 128 kbps é pequeno e "bom o suficiente"; FLAC é enorme e fiel. Para ouvir no carro, MP3 vale a pena; para masterização, você quer FLAC.
Quantização reduz a precisão dos pesos (e optionally da KV cache). No M5 Max 128 GB, Q4_K_M ou 4bit é o sweet spot: perda de perplexidade típica de apenas 1–3% em relação ao FP16. Q3 já perde visivelmente em raciocínio longo e código; Q2/IQ2 só valem para contexto gigante onde a janela importa mais que a fidelidade. Q8_0/8-bit é usado quando a qualidade máxima é crítica e o modelo cabe.
Para texto/código/RAG, o Qwen3.6-35B-A3B é a recomendação principal: ~80 tok/s em 8-bit no M5 Max 128 GB, 256K de contexto, excelente em português e líder em benchmarks de código. Para contexto extremo de 1M tokens, o DeepSeek-V4-Flash cabe apertado em 3-bit (~103 GB). O Gemma 4 também serve para texto, mas brilha mesmo em multimodal.
Qwen3.6-35B-A3B é MoE (~35B total, ~3B ativos por token), com velocidade medida em ~80–110 tok/s no M5 Max 128 GB e contexto de 256K. Benchmarks de qualidade detalhados (SWE-Verified, MMLU) são proxies baseados na arquitetura Qwen3.5-35B-A3B; use-o como motor de equilíbrio velocidade/memória. DeepSeek-V4-Flash é MoE 284B/~13B ativos, ELO 1431, contexto até 1M. Gemma-4-31B é denso, ELO 1441–1452, MMLU-Pro 85.2%, 256K contexto, multimodal nativo. Qwen3.5-122B-A10B entrega ELO 1418 e 262K contexto; GLM-5.2 atinge ELO 1465.
| Modelo | Velocidade local* | LLMCheck | SWE-Verified | MMLU | Arena ELO | Contexto | Quantização | Multilíngue |
|---|---|---|---|---|---|---|---|---|
| Qwen3.6-35B-A3B | ~80–110 tok/s | — | ~70%* | ~86%* | ~1396* | 256K | 8bit ~22–28 GB / 4bit ~14 GB | PT/EN forte |
| DeepSeek-V4-Flash | ~34 tok/s (IQ2/UD-IQ3) | — | — | — | 1431 | 1M | UD-IQ3_XXS ~103 GB | — |
| Gemma 4 31B | — | — | — | MMLU-Pro 85.2% | 1441–1452 | 256K | 4bit ~20 GB | MMMLU 88.4% |
| Gemma 4 26B-A4B | ~50 tok/s | — | — | — | — | 256K | 4bit ~18 GB | — |
| Qwen3.5-122B-A10B | — | — | — | — | 1418 | 262K | 4bit ~70 GB | MMMLU 86.7% |
| GLM-5.2 | — | — | — | — | 1465 | — | varia | — |
*Velocidades medidas no M5 Max 128 GB com MLX; tok/s dependem do prompt e da carga do sistema. Os valores de SWE-Verified, MMLU e Arena ELO para Qwen3.6-35B-A3B são proxies baseados em Qwen3.5-35B-A3B e relatórios da comunidade.
Além de quantizar pesos, você pode quantizar a KV cache (memória de contexto), ativar Flash Attention e usar speculative decoding (um modelo pequeno sugere tokens que o grande confirma). Essas técnicas multiplicam a janela de contexto e a velocidade.
KV cache quantization reduz memória de estados chave/valor em 1,3–6,4×. Flash Attention diminui acessos à HBM. Speculative decoding usa um draft model para gerar candidatos. No MLX: --kv-bits 8 e --max-kv-size 65536; no Ollama: OLLAMA_KV_CACHE_TYPE=q8_0.
# KV cache quantization no MLX python -m mlx_lm.server --model mlx-community/Qwen3.6-35B-A3B-8bit --kv-bits 8 --max-kv-size 65536 # Ollama com KV cache q8_0 export OLLAMA_KV_CACHE_TYPE=q8_0 ollama serve # Speculative decoding com draft model python -m mlx_lm.generate --model large_model --draft-model small_draft_model --num-draft-tokens 4
Teste o que aprendeu com exercícios rápidos.