Can an Apple M4 16GB run Gemma 4 12B Instruct?
Yes
At Q4_K_M it needs 8.41 GB of the 10.72 GB available and generates around 10.2 tokens per second at an 8k context window.
In practice
Gemma 4 12B Instruct sits comfortably on Apple M4 16GB. At Q4_K_M it takes 8.41 GB of the 10.72 GB available, which leaves 2.31 GB spare, enough for the 8k window we assumed and for a window of up to about 16k tokens before memory runs out. Generation runs at about 10.2 tokens per second, faster than most people read, so a 500-token answer takes about 50 seconds.
Of the memory in use, 80% is the weights and 16% is the attention cache. With this much room the question is quality, not fit. The next step up, Q5_K_M, also fits at 9.6 GB, but runs at 8.8 tokens per second, so Q4_K_M is where we would stay.
Reading a 4,000-token prompt, roughly a long email or a few pages of text, takes about 70 seconds before the first word appears. That part is limited by compute and not by bandwidth, so it follows a different spec from the writing speed.
The numbers
Gemma 4 12B Instruct has 11.96 billion parameters across 48 layers. The Apple M4 16GB has 16 GB of unified memory at 120 GB/s, of which about 10.72 GB is left for a model once the operating system has taken its share.
| Quantization | Total needed | Fits | Speed |
|---|---|---|---|
| Q8_0 | 13.52 GB | with raised limit | 6.2 t/s |
| Q6_K | 10.81 GB | with raised limit | 7.8 t/s |
| Q5_K_M | 9.6 GB | yes | 8.8 t/s |
| Q4_K_M | 8.41 GB | yes | 10.2 t/s |
| IQ4_XS | 7.6 GB | yes | 11.3 t/s |
| Q3_K_M | 7.13 GB | yes | 12.1 t/s |
| IQ3_XXS degraded | 5.94 GB | yes | 14.6 t/s |
| Q2_K degraded | 6.35 GB | yes | 13.7 t/s |
| IQ2_XXS degraded | 4.55 GB | yes | 19.5 t/s |
7 of the 9 levels fit entirely. Levels marked degraded are listed for completeness, not as advice.
How long a conversation it holds
Memory rises with the length of the conversation because the attention cache keeps a key and a value for every token. At Q4_K_M, the longest window that still fits on this device is 16k tokens. Setting the window to what you need and no more is the cheapest way to buy back memory.
| Context | Cache | Total | Fits |
|---|---|---|---|
| 4k | 0.81 GB | 7.91 GB | yes |
| 8k | 1.31 GB | 8.41 GB | yes |
| 16k | 2.31 GB | 9.41 GB | yes |
| 32k | 4.31 GB | 11.41 GB | no |
| 64k | 8.31 GB | 15.41 GB | no |
| 128k | 16.31 GB | 23.41 GB | no |
The settings we would use
llama-server -m <model>.gguf -ngl all -c 8192 -fa on
In Ollama, set OLLAMA_CONTEXT_LENGTH to the window you want, run ollama ps while the model is loaded and check that
the processor column reads 100% GPU. If it shows a split on a model that fits, the Ollama guide shows how to fix it.
The llama.cpp flags guide explains each option above.
What else an Apple M4 16GB runs well
For comparison, these are the other popular models that fit this device at a sound quantization, best pairings first.
| Model | Quantization | Memory | Speed |
|---|---|---|---|
| Qwen3.5 9B | Q6_K | 8.04 GB | 11.8 t/s |
| Qwen3 8B | Q6_K | 7.76 GB | 11.8 t/s |
| Qwen3 14B | IQ4_XS | 8.97 GB | 10.0 t/s |
| Llama 3.1 8B Instruct | Q6_K | 7.51 GB | 12.1 t/s |
The same model on nearby hardware
Memory decides whether Gemma 4 12B Instruct loads and bandwidth decides how quickly it answers. Here is what a step down, a card with the same memory and a step up do with it.
| Device | Memory | Bandwidth | Result |
|---|---|---|---|
| GeForce RTX 4070 | 12 GB | 504 GB/s | Q6_K, 35.5 t/s |
| GeForce RTX 5080 | 16 GB | 960 GB/s | Q8_0, 53.7 t/s |
| GeForce RTX 4090 | 24 GB | 1008 GB/s | Q8_0, 56.4 t/s |
See how fast it feels
Apple M4 16GB running Gemma 4 12B Instruct at Q4_K_M
YouWhy does my model use more memory when the conversation gets longer?
Reading your question
Simulated from our estimate at a 512-token question, not a recording. Assumes nothing else is competing for the GPU.
Questions people ask
How much VRAM does Gemma 4 12B Instruct need on Apple M4 16GB?
At Q4_K_M with an 8k context window it needs 8.41 GB in total: 6.72 GB of weights, 1.31 GB of KV cache and 0.37 GB of runtime overhead. The Apple M4 16GB makes about 10.72 GB available once the operating system has taken its share.
What context length can Apple M4 16GB handle with Gemma 4 12B Instruct?
At Q4_K_M the longest window that still fits is about 16k tokens. Memory grows with the window, so a shorter one leaves room for a higher quantization.
How fast is Gemma 4 12B Instruct on Apple M4 16GB?
We estimate about 10.2 tokens per second at Q4_K_M, which is faster than most people read. A 500-token answer takes about 50 seconds. Memory bandwidth of 120 GB/s sets that ceiling, and the estimate is good to about 10 to 30 percent.
Keep going
Everything the Apple M4 16GB runs, the full breakdown for Gemma 4 12B Instruct, how the numbers are made in the methodology, or a different pairing in the calculator.