Yes — with 11.7 GB to spare

Qwen3 8B at Q4_K_M fits your M2 · 24 GB entirely in unified memory at 8K context, at an estimated 12 tokens per second. Past 90K 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 · 4.6 GB Apache 2.0 Released Apr 2025

Apache-2.0 alternative to Llama 3.1 8B, with a switchable thinking mode.

What hardware do I need for Qwen3 8B? →

The VRAM budget

weights 4.6 GB
Weights 4.6 GB KV cache @ 8K 1.13 GB Runtime overhead 0.6 GB Free 11.7 GB of 18.0 GB

Quantisation ladder

QuantWeightsTotal @ 8KMax contextTok/sQualityFit
F16 15.3 GB 17.0 GB 15K 3.7 Reference Fits
Q8_0 8.1 GB 9.8 GB 66K 6.9 −0.1% ppl Long context
Q6_K 6.3 GB 8.0 GB 79K 8.9 −0.4% ppl Long context
Q5_K_M 5.4 GB 7.1 GB 85K 10 −0.8% ppl Long context
Q4_K_M 4.6 GB 6.3 GB 90K 12 −1.9% ppl Recommended
Q3_K_M 3.7 GB 5.5 GB 97K 15 −5.4% ppl Long context
Q2_K 3.2 GB 4.9 GB 101K 17 −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.

How to run it

terminal
$ pip install mlx-lm
$ mlx_lm.generate --model mlx-community/Qwen3-8B-4bit \
    --max-tokens 512 --prompt "Hello"

Apple's own array framework. The fastest path on Apple Silicon. More on MLX.

01Download is 4.6 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 90K context on this card.
See all models for this rig Compare with another model