Yes — with 44.5 GB to spare
Gemma 4 E2B at Q4_K_M fits your M3 Max · 64 GB entirely in unified memory at 8K context, at an estimated 78 tokens per second. There is room for its full 128K window.
Fully in unified memory
8K context
Q4_K_M · 2.9 GB
Apache 2.0
Released 2 Apr 2026
Vision
"E2B" is 2.3B effective, but the file holds 5B because of per-layer embeddings — size it as 5B. Text, image and audio in.
The VRAM budget
weights 2.9 GB
Weights 2.9 GB
KV cache @ 8K 0.07 GB
Runtime overhead 0.6 GB
Free 44.5 GB of 48.0 GB
Quantisation ladder
| Quant | Weights | Total @ 8K | Max context | Tok/s | Quality | Fit |
|---|---|---|---|---|---|---|
| F16 | 9.5 GB | 10.2 GB | 128K | 24 | Reference | Long context |
| Q8_0 | 5.0 GB | 5.7 GB | 128K | 44 | −0.1% ppl | Long context |
| Q6_K | 3.9 GB | 4.6 GB | 128K | 57 | −0.4% ppl | Long context |
| Q5_K_M | 3.4 GB | 4.0 GB | 128K | 66 | −0.8% ppl | Long context |
| Q4_K_M | 2.9 GB | 3.5 GB | 128K | 78 | −1.9% ppl | Recommended |
| Q3_K_M | 2.3 GB | 3.0 GB | 128K | 96 | −5.4% ppl | Long context |
| Q2_K | 2.0 GB | 2.7 GB | 128K | 112 | −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 (512 tokens, 7 of 35 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-E2B-it-4bit \ --max-tokens 512 --prompt "Hello"
Apple's own array framework. The fastest path on Apple Silicon. More on MLX.
01Download is 2.9 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 48.0 GB of 64 GB. Raising it with iogpu.wired_limit_mb is possible, and risky.
03There is room to go to the model's full 128K context on this card.