Unified memory · Apple
What AI models can an Apple M4 24GB run?
24 GB is the enthusiast standard, and it shows: a 32B model fits at a good quantisation with a long context, and a 70B is reachable if you are willing to drop precision. Memory is shared with the CPU, so the practical ceiling is lower than the sticker number: macOS hands roughly three quarters of it to the GPU by default.
The short answer
Assuming an 8k context window and default settings, these are the models worth downloading first.
Best all-rounder
GPT OSS 20B
Q6_K · 16.45 GB · about 29.3 tokens/s
Best for code
DeepSeek Coder 6.7B Instruct
Q6_K · 9.7 GB · about 10.2 tokens/s
Largest that still runs well
GLM 4.7 Flash
31.22B parameters · IQ4_XS · about 42.1 tokens/s
Fastest useful answer
PowerMoE 3B
about 68.3 tokens/s · 4.23 GB
See how fast it feels
Apple M4 24GB running GPT OSS 20B at Q6_K
YouWhy does my model use more memory when the conversation gets longer?
Because of the KV cache. Every token you send leaves behind a key and a value vector in each layer of the model, and those stay in memory for as long as the conversation lasts.
The weights are a fixed cost: load a 4-bit 8B model and that is about 4.8 GB, whether you write one word or ten thousand. The cache is the part that grows, and it grows in a straight line with the number of tokens in the window.
How steeply depends on the model's attention design. With grouped-query attention, several query heads share one key-value pair, which cuts the cache by that ratio. Without it, every head keeps its own, and a long context can cost more memory than the weights themselves.
If you are short on memory, the first thing to try is lowering the context window in your runtime, not the quantisation.
Reading your question
Simulated from our estimate at a 512-token question, not a recording. Assumes nothing else is competing for the GPU.
Every model, scored on this device
Each row uses the highest-quality quantisation that both fits and stays conversational. Speed is a single-stream estimate at 8k context.
| Model | Params | Verdict | Download | Memory used | Speed | Max context |
|---|---|---|---|---|---|---|
| GPT OSS 20B GPT-OSS | 20.91B (4.18B active) | Just fits | Q6_K | 16.45 GB | 29.3 t/s | 16k |
| GLM 4.7 Flash GLM | 31.22B (3.66B active) | Just fits | IQ4_XS | 16.29 GB | 42.1 t/s | 8k |
| Qwen3 30B A3B Qwen | 30.53B (3.34B active) | Just fits | IQ4_XS | 16.28 GB | 39 t/s | 8k |
| DeepSeek Coder V2 Lite Instruct DeepSeek | 15.71B (2.74B active) | Just fits | Q8_0 | 16.21 GB | 31.7 t/s | 16k |
| Qwen1.5 MoE A2.7B Qwen | 14.32B (2.69B active) | Just fits | Q8_0 | 16.1 GB | 22.5 t/s | 8k |
| Phi 3.5 MoE Instruct Phi | 41.87B (6.64B active) | Just fits | IQ3_XXS ! | 16.47 GB | 27.8 t/s | 8k |
| Qwen3.5 35B A3B Qwen | 35.95B (2.9B active) | Runs great | IQ3_XXS ! | 13.86 GB | 56.5 t/s | 32k |
| LFM2.5 8B A1B Liquid | 8.47B (1.57B active) | Runs great | Q8_0 | 9.18 GB | 48.5 t/s | 64k |
| OLMoE 1B 7B 0125 Instruct OLMo | 6.92B (1.28B active) | Runs great | Q8_0 | 8.27 GB | 41.3 t/s | 4k |
| Gemma 4 12B Instruct Gemma | 11.96B | Runs well | Q5_K_M | 8.83 GB | 11.3 t/s | 256k |
| vLLM Translategemma 12B Instruct Gemma | 13.19B | Runs well | Q5_K_M | 9.65 GB | 10.3 t/s | 128k |
| Gemma 3 12B Instruct Gemma | 12.19B | Runs well | Q5_K_M | 9.42 GB | 10.5 t/s | 64k |
| Mistral Nemo Instruct 2407 Mistral | 12.25B | Fits, but slow | Q5_K_M | 9.98 GB | 10 t/s | 32k |
| Qwen3.5 9B Qwen | 9.65B | Runs well | Q6_K | 8.92 GB | 11.2 t/s | 32k |
| Gemma 4 26B A4B Instruct Gemma | 25.81B | Fits, but slow | Q4_K_M | 15.22 GB | 6.3 t/s | 64k |
| Qwen3 14B Qwen | 14.77B | Runs well | IQ4_XS | 9.17 GB | 10.9 t/s | 32k |
| Granite 4.1 8B Granite | 8.79B | Runs well | Q6_K | 8.51 GB | 11.8 t/s | 32k |
| Qwen2.5 14B Instruct Qwen | 14.77B | Runs well | IQ4_XS | 9.42 GB | 10.6 t/s | 32k |
| Gemma 2 9B Instruct Gemma | 9.24B | Runs well | Q6_K | 8.89 GB | 11.2 t/s | 8k |
| Phi 4 Phi | 14.66B | Runs well | IQ4_XS | 9.43 GB | 10.6 t/s | 16k |
| Fanar 1 9B Instruct Fanar | 8.78B | Runs well | Q6_K | 8.54 GB | 11.7 t/s | 4k |
| Mistral Small 24B Instruct 2501 Mistral | 23.57B | Fits, but slow | Q4_K_M | 15.12 GB | 6.5 t/s | 16k |
| Gemma 3 27B Instruct Gemma | 27.43B | Fits, but slow | IQ4_XS | 15.29 GB | 6.4 t/s | 16k |
| Codestral 22B V0.1 Mistral | 22.25B | Fits, but slow | Q4_K_M | 14.94 GB | 6.6 t/s | 8k |
| Gemma 4 E4B Instruct Gemma | 8B | Runs well | Q8_0 | 8.42 GB | 11.8 t/s | 128k |
| Gemma 4 E2B Instruct Gemma | 5.12B | Runs well | Q8_0 | 5.48 GB | 18.4 t/s | 128k |
| Internlm3 8B Instruct InternLM | 8.8B | Runs well | Q8_0 | 9.63 GB | 10.3 t/s | 32k |
| Qwen2.5 VL 7B Instruct Qwen | 8.29B | Runs well | Q8_0 | 9.16 GB | 10.8 t/s | 64k |
| Qwen3.5 27B Qwen | 27.78B | Just fits | IQ4_XS | 16.36 GB | 5.9 t/s | 8k |
| Qwen2.5 7B Instruct Qwen | 7.62B | Runs well | Q8_0 | 8.5 GB | 11.7 t/s | 32k |
| Llama 3.1 8B Instruct Llama | 8.03B | Runs well | Q8_0 | 9.5 GB | 10.5 t/s | 32k |
| Llama 3 Taiwan 8B Instruct Llama | 8.03B | Runs well | Q8_0 | 9.5 GB | 10.5 t/s | 8k |
| Apertus 8B Instruct 2509 Apertus | 8.05B | Runs well | Q8_0 | 9.52 GB | 10.4 t/s | 32k |
| Mistral 7B Instruct V0.3 Mistral | 7.25B | Runs well | Q8_0 | 8.72 GB | 11.5 t/s | 32k |
| Mistral 7B Instruct V0.2 Mistral | 7.24B | Runs well | Q8_0 | 8.71 GB | 11.5 t/s | 32k |
| Qwen3 8B Qwen | 8.19B | Runs well | Q8_0 | 9.78 GB | 10.1 t/s | 32k |
| T Lite Instruct 2.1 T-Lite | 8.19B | Runs well | Q8_0 | 9.78 GB | 10.1 t/s | 32k |
| Granite 3.0 8B Instruct Granite | 8.17B | Runs well | Q8_0 | 9.88 GB | 10 t/s | 4k |
| Gemma 3 4B Instruct Gemma | 4.3B | Runs well | Q8_0 | 5.01 GB | 20.6 t/s | 128k |
| Gemma 4 31B Instruct Gemma | 31.27B | Just fits | Q3_K_M | 15.8 GB | 6.2 t/s | 32k |
| OTel 2.0 LLM 31B Instruct Other | 32.11B | Just fits | Q3_K_M | 16.18 GB | 6 t/s | 16k |
| Qwen3.5 4B Qwen | 4.66B | Runs well | Q8_0 | 6.07 GB | 16.7 t/s | 64k |
| OLMo 3 7B Instruct OLMo | 7.3B | Runs well | Q8_0 | 9.77 GB | 10.1 t/s | 64k |
| Granite 4.1 30B Granite | 28.87B | Fits, but slow | Q3_K_M | 15.69 GB | 6.2 t/s | 8k |
| Agents A1 4B Other | 4.54B | Runs well | Q8_0 | 5.95 GB | 17 t/s | 64k |
| DeepSeek V4 Flash 0731 Spark DeepSeek | 60.31B (20.36B active) | Runs well | IQ2_XXS ! | 15.02 GB | 19.1 t/s | 64k |
| Phi 3 Mini 4k Instruct Phi | 3.82B | Runs well | Q8_0 | 5.02 GB | 20.7 t/s | 4k |
| OLMo 2 1124 13B Instruct OLMo | 13.72B | Just fits | Q5_K_M | 15.95 GB | 6.1 t/s | 4k |
| DeepSeek Coder 7B Instruct V1.5 DeepSeek | 6.91B | Runs well | Q6_K | 9.58 GB | 10.4 t/s | 4k |
| Phi 4 Mini Instruct Phi | 3.84B | Runs well | Q8_0 | 5.29 GB | 19.5 t/s | 64k |
| Qwen1.5 7B Qwen | 7.72B | Runs well | Q5_K_M | 9.66 GB | 10.3 t/s | 16k |
| Qwen3 4B Qwen | 4.02B | Runs well | Q8_0 | 5.56 GB | 18.3 t/s | 32k |
| CodeLlama 7B Llama | 6.74B | Runs well | Q6_K | 9.7 GB | 10.2 t/s | 16k |
| DeepSeek Coder 6.7B Instruct DeepSeek | 6.74B | Runs well | Q6_K | 9.7 GB | 10.2 t/s | 16k |
| Mixtral 8x7B Instruct V0.1 Mistral | 46.7B (12.88B active) | Runs well | IQ2_XXS ! | 12.75 GB | 22.9 t/s | 32k |
| Falcon 7B Falcon | 7.22B | Runs well | Q5_K_M | 9.8 GB | 10.2 t/s | 8k |
| Granite 4.1 3B Granite | 3.4B | Runs well | Q8_0 | 4.45 GB | 23.5 t/s | 128k |
| PowerMoE 3B PowerLM | 3.37B (0.88B active) | Runs great | Q8_0 | 4.23 GB | 68.3 t/s | 4k |
| Qwen3 32B Qwen | 32.76B | Fits, but slow | IQ3_XXS ! | 14.28 GB | 6.8 t/s | 16k |
| Qwen2.5 32B Instruct Qwen | 32.76B | Fits, but slow | IQ3_XXS ! | 14.28 GB | 6.8 t/s | 16k |
| Llama 3.2 3B Instruct Llama | 3.21B | Runs well | Q8_0 | 4.54 GB | 23.1 t/s | 64k |
| Qwen2.5 3B Instruct Qwen | 3.09B | Runs great | Q8_0 | 3.77 GB | 28 t/s | 32k |
| SmolLM3 3B Base SmolLM | 3.08B | Runs great | Q8_0 | 4.04 GB | 25.9 t/s | 64k |
| Starcoder2 3B StarCoder | 3.03B | Runs great | Q8_0 | 3.6 GB | 30 t/s | 16k |
| Phi 3 Vision 128k Instruct Phi | 4.15B | Runs well | Q8_0 | 7.59 GB | 13.2 t/s | 16k |
| PowerLM 3B PowerLM | 3.51B | Runs well | Q8_0 | 6.73 GB | 14.9 t/s | 4k |
| LFM2.5 2.6B Liquid | 2.7B | Runs great | Q8_0 | 3.57 GB | 29.8 t/s | 128k |
| Gemma 2 2B Instruct Gemma | 2.61B | Runs great | Q8_0 | 3.43 GB | 31.3 t/s | 8k |
| Phi 2 Phi | 2.78B | Runs well | Q8_0 | 5.71 GB | 17.8 t/s | 2k |
| GPT NeoX 20B GPT-NeoX | 20.74B | Just fits | IQ3_XXS ! | 16.31 GB | 6 t/s | 2k |
| Qwen3.5 2B Qwen | 2.27B | Runs great | Q8_0 | 3.05 GB | 35.7 t/s | 128k |
| OneRec 1.7B Other | 2.13B | Runs great | Q8_0 | 3.41 GB | 31.4 t/s | 32k |
| Qwen3 1.7B Qwen | 2.03B | Runs great | Q8_0 | 3.31 GB | 32.5 t/s | 32k |
| DeepSeek R1 Distill Qwen 1.5B Qwen | 1.78B | Runs great | Q8_0 | 2.27 GB | 50 t/s | 128k |
| Qwen3 1.7B Base Qwen | 1.72B | Runs great | Q8_0 | 3 GB | 36.3 t/s | 32k |
| SmolLM2 1.7B SmolLM | 1.71B | Runs great | Q8_0 | 3.62 GB | 29.3 t/s | 8k |
| Qwen2.5 1.5B Instruct Qwen | 1.54B | Runs great | Q8_0 | 2.14 GB | 53.7 t/s | 32k |
| Pythia 1.4B Pythia | 1.52B | Runs great | Q8_0 | 3.43 GB | 31.2 t/s | 2k |
| OLMo 2 0425 1B OLMo | 1.48B | Runs great | Q8_0 | 2.89 GB | 38 t/s | 4k |
| Llama 3.2 1B Instruct Llama | 1.24B | Runs great | Q8_0 | 1.9 GB | 63.4 t/s | 128k |
| LFM2.5 1.2B Instruct Liquid | 1.17B | Runs great | Q8_0 | 1.83 GB | 66.5 t/s | 64k |
| TinyLlama 1.1B Chat V1.0 Llama | 1.1B | Runs great | Q8_0 | 1.69 GB | 74.3 t/s | 2k |
| MiniCPM5 1B MiniCPM | 1.08B | Runs great | Q8_0 | 1.65 GB | 74.5 t/s | 128k |
| Gemma 3 1B Instruct Gemma | 1B | Runs great | Q8_0 | 1.41 GB | 90.1 t/s | 32k |
| Qwen3.5 0.8B Qwen | 0.87B | Runs great | Q8_0 | 1.6 GB | 75.7 t/s | 256k |
| Sarashina2.2 0.5B Instruct V0.1 Sarashina | 0.79B | Runs great | Q8_0 | 1.63 GB | 74.9 t/s | 8k |
| Qwen3 0.6B Qwen | 0.75B | Runs great | Q8_0 | 1.98 GB | 57.9 t/s | 32k |
| Qwen1.5 0.5B Chat Qwen | 0.62B | Runs great | Q8_0 | 1.73 GB | 68.6 t/s | 32k |
| Qwen3 0.6B Base Qwen | 0.6B | Runs great | Q8_0 | 1.83 GB | 63.7 t/s | 32k |
| Pythia 410m Pythia | 0.51B | Runs great | Q8_0 | 1.62 GB | 74.6 t/s | 2k |
Showing the 90 best results of 133. The remaining 43 need more memory than this device has, at any quantisation.
What it will not run
33 of the 133 architectures we track are out of reach here, even at two-bit precision.
If you want more headroom
The next steps up in memory, in order. More memory changes which models load at all; more bandwidth changes how fast they answer, so the two are worth weighing separately.
| Device | Memory | Bandwidth | Models that fit | |
|---|---|---|---|---|
| GeForce RTX 5090 | 32 GB | 1792 GB/s | 108 | Check price |
| Ryzen AI Max+ 395 32GB | 32 GB | 256 GB/s | 105 | Check price |
| Jetson AGX Orin 32GB | 32 GB | 204.8 GB/s | 105 | Check price |
| Intel Core Ultra 9 288V 32GB | 32 GB | 136 GB/s | 105 | Check price |
Price links go to an Amazon search for the model name and are affiliate links: if you buy through one, we earn a commission at no cost to you. We do not take payment for placement, and the ordering above is by memory capacity alone.
Other devices with 24 GB
Same capacity, different speed. Once a model fits, bandwidth is what separates these.