Best local LLMs for Mac mini / iMac M4 16GB
Mac mini (2024) — M4 16GB. Memory-fit math with KV cache, speeds labelled by how they were obtained, and commands you can paste.
Best for Coding · 16k context
| Model | Quant | Fit | Memory | Speed (generation) |
|---|---|---|---|---|
| Qwen3.5 9B | Q4_K_M | fits fully | 6.3 GB | ~14 tok/s scaled from measured src |
llama-server -hf unsloth/Qwen3.5-9B-GGUF:Q4_K_M -c 16384 -fa on --jinja -ngl 99
OLLAMA_CONTEXT_LENGTH=16384 ollama run hf.co/unsloth/Qwen3.5-9B-GGUF:Q4_K_M
Best for Chat / general · 16k context
| Model | Quant | Fit | Memory | Speed (generation) |
|---|---|---|---|---|
| Qwen3.5 4B | Q8_0 | fits fully | 5.1 GB | ~24 tok/s scaled from measured src |
| Gemma 4 12B | Q4_K_M | fits fully | 7.7 GB | ~11 tok/s scaled from measured src |
| Qwen3.5 9B | Q4_K_M | fits fully | 6.3 GB | ~14 tok/s scaled from measured src |
llama-server -hf unsloth/Qwen3.5-4B-GGUF:Q8_0 -c 16384 -fa on --jinja -ngl 99
OLLAMA_CONTEXT_LENGTH=16384 ollama run hf.co/unsloth/Qwen3.5-4B-GGUF:Q8_0
Best for Vision · 16k context
| Model | Quant | Fit | Memory | Speed (generation) |
|---|---|---|---|---|
| Qwen3.5 4B | Q8_0 | fits fully | 5.1 GB | ~24 tok/s scaled from measured src |
| Gemma 4 12B | Q4_K_M | fits fully | 7.7 GB | ~11 tok/s scaled from measured src |
| Qwen3.5 9B | Q4_K_M | fits fully | 6.3 GB | ~14 tok/s scaled from measured src |
| Qwen3-VL 8B | Q4_K_M | fits fully | 7.4 GB | ~16 tok/s scaled from measured src |
llama-server -hf unsloth/Qwen3.5-4B-GGUF:Q8_0 -c 16384 -fa on --jinja -ngl 99
OLLAMA_CONTEXT_LENGTH=16384 ollama run hf.co/unsloth/Qwen3.5-4B-GGUF:Q8_0
All 4 models that fit, fastest first · 16k context
Click a column header to sort. 4 of 4 speeds here are measured or scaled from measured; the rest are bandwidth estimates. Filter by use case, speed source, fit, license and more in the interactive advisor →
| Model | Params | Quant | Fit | Memory | Tok/s | Source |
|---|---|---|---|---|---|---|
| Qwen3.5 4B | 4.66B | Q8_0 | fits fully | 5.1 GB | ~24 | scaled from measured |
| Qwen3-VL 8B | 8.77B | Q4_K_M | fits fully | 7.4 GB | ~16 | scaled from measured |
| Qwen3.5 9B | 9.65B | Q4_K_M | fits fully | 6.3 GB | ~14 | scaled from measured |
| Gemma 4 12B | 11.96B | Q4_K_M | fits fully | 7.7 GB | ~11 | scaled from measured |
Long context on this hardware · up to 1M tokens
Largest context whose KV cache still fits next to the weights (same placement as the 16k result, KV types f16 / q8_0 / q4_0). Models are capped at their verified maximum; extended means beyond the native maximum using YaRN, only listed where the model card documents it. Long context needs flash attention (-fa on, already in the commands) and a lot of memory; a quantized KV cache saves memory but can cost accuracy. Speed at depth is an estimate (penalty fitted to measured depth runs up to 128k).
Try it in the advisor: 128k · 256k · 512k · 1M
| Model | Native max | Max ctx f16 | Max ctx q8_0 | Max ctx q4_0 | Est. tok/s at max f16 ctx |
|---|---|---|---|---|---|
| Qwen3.5 4B Q8_0 | 256k | 128k | 256k | 512k extended | ~14 estimated |
| Qwen3.5 9B Q4_K_M | 256k | 128k | 256k | 512k extended | ~9 estimated |
| Gemma 4 12B Q4_K_M | 256k | 128k | 256k | 256k | ~9 estimated |
| Qwen3-VL 8B Q4_K_M | 256k | 32k | 64k | 128k | ~9 estimated |
Open the interactive advisor with this hardware →
Speeds marked measured are medians of real runs (short-context generation) from these sources; scaled from measured means a measurement of a same-size or same-model-different-quant run, scaled by bytes read; estimated comes from memory bandwidth (spec source: https://support.apple.com/en-us/121555) × an efficiency factor of 0.67 calibrated to measured runs on this hardware. 9 measured data points on file for this hardware · submit your benchmark. Memory size on this page is an example configuration; check what your machine has. Model data last verified 2026-10-14. Ranking = fits and fast enough first, then larger; not a quality benchmark.
Page generated 2026-10-16 by tools/generate_pages.js