Can I run Qwen3 30B-A3B (2507) on the Apple M4 Pro?
Runs greatQ4_K_M fits in unified memory (19.9 of 33.6 GB usable by the GPU): Runs great, est. 59.2 tok/s (47.4–71.1, calibrated estimate ±20%).
48 GB unified memory · 273.0 GB/s · FP16 8.1 TFLOPS. Assumes 8k context and an f16 KV cache. Verdicts are shown for each memory size.
Verdict by memory size
The page uses the 48 GB configuration; here is every size.
- 24 GBRuns slowlyest. 41.7 tok/s (29.2–54.2, theoretical estimate ±30%)Q2_K (heavy quality loss): Runs great
- 48 GBRuns greatest. 59.2 tok/s (47.4–71.1, calibrated estimate ±20%)(used on this page)
- 64 GBRuns greatest. 59.2 tok/s (47.4–71.1, calibrated estimate ±20%)
Every quant of Qwen3 30B-A3B (2507) on the Apple M4 Pro
| Quant | File size | Verdict | Speed | Memory | Runs as | Notes |
|---|---|---|---|---|---|---|
| Q2_K | 11.26 GB | Runs great | est. 71.5 tok/s57.2–85.8calibrated estimate ±20% | 12.6 / 33.6 GB | Unified memory | — |
| IQ4_XS | 16.38 GB | Runs great | est. 62.0 tok/s49.6–74.4calibrated estimate ±20% | 17.8 / 33.6 GB | Unified memory | — |
| Q4_K_Mbaseline | 18.56 GB | Runs great | est. 59.2 tok/s47.4–71.1calibrated estimate ±20% | 19.9 / 33.6 GB | Unified memory | — |
| Q8_0 | 32.48 GB | Runs slowly | est. 27.2 tok/s19.0–35.3theoretical estimate ±30% | 33.3 GB RAM | CPU only | CPU inference — capped at Runs slowly |
Where the memory goes at Q4_K_M
- Weights
- 18.6 GB
- KV cache
- 0.8 GB
- Compute buffer
- 0.6 GB
- Free
- 13.7 GB
- Not usable by the GPU
- 14.4 GB
Context length vs. KV cache
| Context | KV f16 | KV q8_0 | KV q4_0 |
|---|---|---|---|
| 4k | 19.5 GBRuns great est. 66.9 tok/s53.5–80.3calibrated estimate ±20% | 19.3 GBRuns great est. 71.2 tok/s57.0–85.5calibrated estimate ±20% | 19.2 GBRuns great est. 73.8 tok/s59.0–88.5calibrated estimate ±20% |
| 8k | 19.9 GBRuns great est. 59.2 tok/s47.4–71.1calibrated estimate ±20% | 19.6 GBRuns great est. 66.3 tok/s53.1–79.6calibrated estimate ±20% | 19.4 GBRuns great est. 70.9 tok/s56.7–85.1calibrated estimate ±20% |
| 16k | 20.8 GBRuns great est. 48.2 tok/s38.5–57.8calibrated estimate ±20% | 20.1 GBRuns great est. 58.3 tok/s46.6–70.0calibrated estimate ±20% | 19.7 GBRuns great est. 65.7 tok/s52.6–78.9calibrated estimate ±20% |
| 32k | 22.6 GBRuns great est. 35.1 tok/s28.0–42.1calibrated estimate ±20% | 21.1 GBRuns great est. 46.9 tok/s37.5–56.3calibrated estimate ±20% | 20.3 GBRuns great est. 57.4 tok/s45.9–68.9calibrated estimate ±20% |
| 64k | 26.1 GBRuns great est. 22.7 tok/s18.2–27.2calibrated estimate ±20% | 23.1 GBRuns great est. 33.8 tok/s27.0–40.5calibrated estimate ±20% | 21.5 GBRuns great est. 45.8 tok/s36.6–54.9calibrated estimate ±20% |
| 128k | 33.1 GBRuns well est. 13.3 tok/s10.7–16.0calibrated estimate ±20% | 27.2 GBRuns great est. 21.6 tok/s17.3–26.0calibrated estimate ±20% | 23.9 GBRuns great est. 32.6 tok/s26.1–39.1calibrated estimate ±20% |
| 256k | 47.2 GBdoes not fit | 32.3 GBRuns slowly est. 7.4 tok/s5.2–9.7theoretical estimate ±30% | 28.8 GBRuns great est. 20.7 tok/s16.5–24.8calibrated estimate ±20% |
S = Runs great · A = Runs well · B = Runs slowly · F = Won't run
At Q4_K_M the verdict stays Runs great up to 64k context with an f16 KV cache, and up to 128k with q8_0.
Estimated speed
- Generation
- est. 59.2 tok/s (47.4–71.1, calibrated estimate ±20%)
- Prompt processing
- about 392 tok/s (235–548, rough estimate ±40%)
Measured on this exact combination
No public measurement for this exact combination yet; the numbers above are estimates.
If this is not enough
A larger model that also runs well on the Apple M4 Pro
Runs greatK2-Horizon MoVA 36B-A4B: Runs great, est. 36.8 tok/s (25.8–47.8, theoretical estimate ±30%)
How to run it
Commands for the Q4_K_M file. Both tools download from Hugging Face on first run.
File: Qwen3-30B-A3B-Instruct-2507-Q4_K_M.gguf (18.56 GB) from unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF.
llama-server -hf unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF:Q4_K_M -c 8192 -ngl all -fa on- -ngl all loads every layer on the GPU.
- -fa on enables flash attention (needed for KV cache quantization).
- --cache-type-k q8_0 --cache-type-v q8_0 shrinks the KV cache to 0.43 GB at 8k context.
Terminal:
OLLAMA_CONTEXT_LENGTH=8192 ollama serve
ollama run hf.co/unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF:Q4_K_M- Ollama defaults to 4k context on GPUs under 24 GB. Set OLLAMA_CONTEXT_LENGTH when starting the server, or /set parameter num_ctx inside the chat.
/set parameter num_ctx 8192
Related pages
Guide: Running local LLMs on a Mac (M4, M5): how much unified memory?
Other models on the Apple M4 Pro
Qwen3 30B-A3B (2507) on other hardware
Frequently asked questions
Can I run Qwen3 30B-A3B (2507) on the Apple M4 Pro?
Q4_K_M fits in unified memory (19.9 of 33.6 GB usable by the GPU): Runs great, est. 59.2 tok/s (47.4–71.1, calibrated estimate ±20%). Q4_K_M needs 19.9 GB at 8k context; the GPU can use 33.6 GB of the unified memory.
How much context can Qwen3 30B-A3B (2507) use on the Apple M4 Pro?
At Q4_K_M the verdict stays Runs great up to 64k context with an f16 KV cache (6.4 GB of KV) and up to 128k with a q8_0 KV cache (6.9 GB). The model supports up to 256k.
Which quant should I use, and how fast is it?
Q4_K_M (18.56 GB) is the recommended balance: Runs great, est. 59.2 tok/s (47.4–71.1, calibrated estimate ±20%). It is also the largest tracked file that gets this verdict.
Speeds are estimates from memory bandwidth, calibrated against public benchmarks, and each one comes with an error band and a confidence label. Real results vary with drivers, backend, context length and thermals.