Yes — with 11.7 GB to spare
Qwen3.5 9B at Q4_K_M fits your M2 · 24 GB entirely in unified memory at 8K context, at an estimated 10 tokens per second. There is room for its full 256K window.
Fully in unified memory
8K context
Q4_K_M · 5.4 GB
Apache 2.0
Released 28 Feb 2026
Vision
The default for 8–12 GB cards in 2026: beats every older 8B on every published benchmark, with vision.
The VRAM budget
weights 5.4 GB
Weights 5.4 GB
KV cache @ 8K 0.25 GB
Runtime overhead 0.6 GB
Free 11.7 GB of 18.0 GB
Quantisation ladder
| Quant | Weights | Total @ 8K | Max context | Tok/s | Quality | Fit |
|---|---|---|---|---|---|---|
| F16 | 18.0 GB | 18.8 GB | — | ~3.1 | Reference | 0.8 GB over |
| Q8_0 | 9.5 GB | 10.4 GB | 251K | 5.9 | −0.1% ppl | Long context |
| Q6_K | 7.4 GB | 8.2 GB | 256K | 7.6 | −0.4% ppl | Long context |
| Q5_K_M | 6.4 GB | 7.2 GB | 256K | 8.8 | −0.8% ppl | Long context |
| Q4_K_M | 5.4 GB | 6.3 GB | 256K | 10 | −1.9% ppl | Recommended |
| Q3_K_M | 4.4 GB | 5.2 GB | 256K | 13 | −5.4% ppl | Long context |
| Q2_K | 3.8 GB | 4.6 GB | 256K | 15 | −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 8 of its 32 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/Qwen3.5-9B-4bit \ --max-tokens 512 --prompt "Hello"
Apple's own array framework. The fastest path on Apple Silicon. More on MLX.
01Download is 5.4 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 18.0 GB of 24 GB. Raising it with iogpu.wired_limit_mb is possible, and risky.
03There is room to go to the model's full 256K context on this card.