Yes — with 9.8 GB to spare

Gemma 4 12B at Q4_K_M fits your M3 · 24 GB entirely in unified memory at 8K context, at an estimated 8.3 tokens per second. Past 165K 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 · 6.7 GB Apache 2.0 Released 29 May 2026 Vision

The "unified" Gemma 4: text, image and audio in one 12B that fits a 12 GB card at Q4. 140+ languages.

What hardware do I need for Gemma 4 12B? →

The VRAM budget

weights 6.7 GB
Weights 6.7 GB KV cache @ 8K 0.81 GB Runtime overhead 0.6 GB Free 9.8 GB of 18.0 GB

Quantisation ladder

QuantWeightsTotal @ 8KMax contextTok/sQualityFit
F16 22.4 GB 23.8 GB ~2.5 Reference 5.8 GB over
Q8_0 11.9 GB 13.3 GB 83K 4.7 −0.1% ppl Long context
Q6_K 9.2 GB 10.6 GB 126K 6.1 −0.4% ppl Long context
Q5_K_M 7.9 GB 9.3 GB 146K 7.1 −0.8% ppl Long context
Q4_K_M 6.7 GB 8.2 GB 165K 8.3 −1.9% ppl Recommended
Q3_K_M 5.5 GB 6.9 GB 186K 10 −5.4% ppl Long context
Q2_K 4.7 GB 6.1 GB 198K 12 −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. This model interleaves sliding-window layers (1024 tokens, 8 of 48 layers global), which is why its cache barely grows with context.

How to run it

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

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

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