Yes — with 75.8 GB to spare
Gemma 4 31B at Q4_K_M fits your M1 Ultra · 128 GB entirely in unified memory at 8K context, at an estimated 25 tokens per second. There is room for its full 256K window.
Fully in unified memory
8K context
Q4_K_M · 17.6 GB
Apache 2.0
Released 2 Apr 2026
Vision
The dense flagship: strongest maths of the 24–32 GB class (89% AIME), clean prose, vision. Q4 is a tight 24 GB fit.
The VRAM budget
weights 17.6 GB
Weights 17.6 GB
KV cache @ 8K 2.03 GB
Runtime overhead 0.6 GB
Free 75.8 GB of 96.0 GB
Quantisation ladder
| Quant | Weights | Total @ 8K | Max context | Tok/s | Quality | Fit |
|---|---|---|---|---|---|---|
| Q8_0 | 31.0 GB | 33.6 GB | 256K | 14 | −0.1% ppl | Long context |
| Q6_K | 23.9 GB | 26.5 GB | 256K | 19 | −0.4% ppl | Long context |
| Q5_K_M | 20.7 GB | 23.3 GB | 256K | 22 | −0.8% ppl | Long context |
| Q4_K_M | 17.6 GB | 20.2 GB | 256K | 25 | −1.9% ppl | Recommended |
| Q3_K_M | 14.2 GB | 16.9 GB | 256K | 31 | −5.4% ppl | Long context |
| Q2_K | 12.2 GB | 14.8 GB | 256K | 37 | −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, 10 of 60 layers global), which is why its cache barely grows with context.
How to run it
$ pip install mlx-lm $ mlx_lm.generate --model mlx-community/gemma-4-31B-it-4bit \ --max-tokens 512 --prompt "Hello"
Apple's own array framework. The fastest path on Apple Silicon. More on MLX.
01Download is 17.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 96.0 GB of 128 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.