Yes, just — 3.1 GB spare
Ornith 1.5 35B-A3B at Q4_K_M fits your M4 · 32 GB entirely in unified memory at 8K context, at an estimated 17 tokens per second. Past 164K the KV cache pushes it over — quantise the cache to q8_0, or step down a quantisation, to go longer.
Fully in unified memory
8K context
Q4_K_M · 20.2 GB
MIT
Released 19 Aug 2026
New this week
A reasoning-first MIT build on the Qwen3.6 35B-A3B architecture (thinks before every answer). Same VRAM as its base.
The VRAM budget
weights 20.2 GB
Weights 20.2 GB
KV cache @ 8K 0.16 GB
Runtime overhead 0.6 GB
Free 3.1 GB of 24.0 GB
Quantisation ladder
| Quant | Weights | Total @ 8K | Max context | Tok/s | Quality | Fit |
|---|---|---|---|---|---|---|
| Q8_0 | 35.5 GB | 36.3 GB | — | ~9.6 | −0.1% ppl | 12.3 GB over |
| Q6_K | 27.4 GB | 28.2 GB | — | ~12 | −0.4% ppl | 4.2 GB over |
| Q5_K_M | 23.7 GB | 24.5 GB | — | ~14 | −0.8% ppl | 0.5 GB over |
| Q4_K_M | 20.2 GB | 20.9 GB | 164K | 17 | −1.9% ppl | Recommended |
| Q3_K_M | 16.3 GB | 17.1 GB | 256K | 21 | −5.4% ppl | Long context |
| Q2_K | 14.0 GB | 14.8 GB | 256K | 24 | −15% ppl | Long context |
Quality is the published perplexity delta against f16 weights. Max context assumes an f16 KV cache; q8_0 roughly doubles it. Only 10 of its 40 blocks keep a per-token KV cache; the rest are linear-attention, Mamba or convolution blocks with a fixed-size state.
How to run it
$ pip install mlx-lm $ mlx_lm.generate --model mlx-community/Ornith-1.5-35B-A3B-4bit \ --max-tokens 512 --prompt "Hello"
Apple's own array framework. The fastest path on Apple Silicon. More on MLX.
01Download is 20.2 GB. Keep it on an SSD — a first load off a spinning disk takes minutes.
02macOS caps what the GPU may wire down at about 24.0 GB of 32 GB. Raising it with iogpu.wired_limit_mb is possible, and risky.
03Only 3.1 GB is spare, so a long system prompt can still push it over. Its real ceiling here is 164K context.