Best LLM for a 16GB Mac
M1 through M4 with 16GB unified memory — what actually runs once macOS keeps its share
The best LLM for a 16GB Mac is Llama 3.1 8B — about 5GB at Q4_K_M, with a bandwidth ceiling of ~24 tok/s on a base M4 (120 GB/s ÷ 4.9GB) and ~41 on an M1 Pro (200 GB/s) — ceilings from Apple’s spec sheets, not rates we measured. The catch a spec sheet won’t tell you: macOS only lets the GPU address roughly 70% of unified memory, so a 16GB Mac is really an ~11GB machine. The comfortable class is 7–8B at Q4, with Gemma 2 9B as the quality ceiling and a 14B as a tight squeeze — it is not the 14B machine a 16GB GPU would be.
Models that run well on the 16GB Mac (Apple Silicon)
| Model | Size | Build | Memory used | Ceiling tok/s* |
|---|---|---|---|---|
| WINNERLlama 3.1 8B Best all-rounder — comfortable inside the ~11GB GPU budget with context to spare. ollama pull llama3.1:8b | 8B | Q4_K_M | ~5.0GB | ceiling ~24 tok/s (M4: 120 ÷ 4.9GB) · ~41 (M1 Pro: 200 ÷ 4.9GB) |
| Qwen 2.5 7B Best coding and math at this size — cap num_ctx well below its 128K on a 16GB machine. ollama pull qwen2.5:7b | 7B | Q4_K_M | ~4.7GB | ceiling ~26 tok/s (M4: 120 ÷ 4.7GB) · ~43 (M1/M2 Pro: 200) |
| Mistral 7B Lightest of the 7Bs — the most KV-cache headroom inside ~11GB. ollama pull mistral | 7B | Q4_K_M | ~4.4GB | ceiling ~27 tok/s (M4: 120 ÷ 4.4GB) · ~45 (M1/M2 Pro: 200) |
| Gemma 2 9B The quality ceiling that still leaves working room — keep context ≤4K. ollama pull gemma2:9b | 9B | Q4_K_M | ~5.4GB | ceiling ~22 tok/s (M4: 120 ÷ 5.4GB) · ~37 (M1/M2 Pro: 200) |
| Qwen 3 14B The tight squeeze — ~9GB of weights against ~11GB addressable. Workable for short sessions, not a daily driver. ollama pull qwen3:14b | 14B | Q4_K_M | ~9.3GB | ceiling ~13 tok/s (M4: 120 ÷ 9.3GB) · ~22 (M1 Pro: 200) |
| Llama 3.2 3B The instant lane — autocomplete, routing, RAG summaries, easy on battery. ollama pull llama3.2:3b | 3B | Q4_K_M | ~2.0GB | ceiling ~60 tok/s (M4: 120 ÷ 2.0GB) · ~100 (M1/M2 Pro: 200) |
* Ceiling tok/s = the device’s vendor-listed memory bandwidth ÷ the model’s file size as Ollama lists it — the rate a dense model cannot exceed, because every generated token reads the whole weight set once. We have not measured this hardware. Real-world generation usually lands at 50–80% of the ceiling and falls as the context grows; mixture-of-experts rows read only their active parameters, so no ceiling is quoted for them, and image models are compute-bound, so no render time is.
Measured on an Apple M3 Pro (18 GB): 14–15 October 2026
We own one Apple Silicon machine, an M3 Pro with 18 GB (150 GB/s, between a base M4 and an M1/M2 Pro). These are its measured rates for the small-model class; on your 16GB Mac (Apple Silicon) scale by bandwidth, and expect the same 70–90% share of the ceiling that this machine shows.
| Model (Ollama tag) | Params | Quant | File | Measured tok/s | Run spread | Ceiling | Share | Date |
|---|---|---|---|---|---|---|---|---|
llama3.2:3b | 3.2B | Q4_K_M | 2.02 GB | 55.0 | 54.9–55.1 | 74 | 74% | 2026-10-14 |
qwen2.5-coder:3b-base | 3.1B | Q4_K_M | 1.93 GB | 54.0 | 53.6–54.3 | 78 | 69% | 2026-10-14 |
phi4-mini | 3.8B | Q4_K_M | 2.49 GB | 46.3 | 44.0–46.4 | 60 | 77% | 2026-10-14 |
qwen3:4b | 4.0B | Q4_K_M | 2.50 GB | 43.2 | 42.4–43.2 | 60 | 72% | 2026-10-14 |
mistral:7b | 7.2B | Q4_K_M | 4.37 GB | 28.5 | 28.4–28.6 | 34 | 83% | 2026-10-15 |
qwen2.5-coder:7b | 7.6B | Q4_K_M | 4.68 GB | 28.0 | 27.8–28.2 | 32 | 87% | 2026-10-15 |
llama3.1:8b | 8.0B | Q4_K_M | 4.92 GB | 26.8 | 26.2–26.9 | 30 | 88% | 2026-10-14 |
qwen3:8b | 8.2B | Q4_K_M | 5.23 GB | 24.9 | 24.7–24.9 | 29 | 87% | 2026-10-15 |
deepseek-r1:8b | 8.2B | Q4_K_M | 5.23 GB | 24.8 | 24.6–25.0 | 29 | 86% | 2026-10-15 |
Apple M3 Pro, 18 GB unified memory, Ollama 0.12.3, macOS (Darwin 27.0.0, arm64), Metal. Median generation rate of 6 runs after a discarded warm-up, computed from Ollama's raw eval_count and eval_duration over its HTTP API (not scraped from the terminal); any run that produced fewer than 30 tokens is thrown out rather than averaged. The same prompt, 7 runs, for every model. Ceiling = 150 GB/s (Apple's figure for the M3 Pro) ÷ the file size Ollama downloaded. One machine is a data point, not a survey; the script is scripts/benchmark-ollama.py in our repo if you want the same table for yours. Thinking models (qwen3, deepseek-r1) are timed over every token they emit, reasoning included.
What won't fit on the 16GB Mac (Apple Silicon)
- ✗gpt-oss:20b (needs ~14–16GB) — Our M4 guide lists 16GB as its bare minimum and 24GB recommended — with macOS resident, a 16GB Mac can’t hold it. It’s a 24–32GB Mac pick.
- ✗Qwen3.6 27B (needs ~17GB) — The 27–32B class is the 32GB Mac’s territory.
- ✗Llama 3.3 70B (needs ~40GB) — 48GB minimum, 64GB recommended per our M4 guide.
16GB Mac (Apple Silicon)-specific notes
- →The ~70% rule: macOS caps GPU-wired memory at roughly two-thirds to three-quarters of unified memory, so 16GB ≈ ~11GB for weights plus KV cache. Power users raise it with `sudo sysctl iogpu.wired_limit_mb=12288` (~12GB) — it takes effect immediately and reverts on reboot. Leave macOS at least 3–4GB or the whole machine starts paging.
- →Fanless matters: a MacBook Air has no fan, so sustained generation heats the SoC until it clocks down and a long run finishes slower than it starts; the actively cooled Mac Mini and MacBook Pro hold their clocks. We have no throttling figure of our own to quote. On any MacBook, plug in for long sessions; sustained generation on battery drains fast.
- →MLX is free speed: Apple’s MLX framework is widely reported to run faster than Ollama on the same hardware, because its kernels are written for Apple’s GPU; we have not measured the margin ourselves. On a 16GB machine any margin is worth having; Ollama still wins on model availability.
- →Same RAM, different speed: token generation tracks memory bandwidth, and 16GB Macs span a wide range — base M4 at 120 GB/s versus M1 Pro at 200 GB/s (Apple’s figures). That is why an older M1 Pro has a higher ceiling on every model here than a newer base M4 — ~41 vs ~24 tok/s on a 4.9GB 7B.
- →Buying in the 2026 shortage: the $799 Mac Mini M4 16GB is the entry point (Apple retired the $599 config in May 2026), and the RAM is soldered forever. Per our guide, the 24GB config at about $200 more is meaningful headroom — it turns the 14B squeeze into a comfortable fit.
Quick start
curl -fsSL https://ollama.com/install.sh | shollama run llama3.1:8bGo from "it runs" to actually building
All 561 chapters — running local models, RAG, agents, fine-tuning — plus the Python Lab and every course added later.
Frequently asked questions
Can a 16GB MacBook Air run local AI?
Yes — every 7–8B pick here runs at conversational speed. Two Air-specific caveats: the fanless chassis throttles within minutes of sustained generation (how much depends on the room and the job — we have no figure of our own), and battery drains quickly — plug in for long sessions. For always-on serving, a Mac Mini is the better home.
Can a 16GB Mac run a 13B or 14B model?
Barely, and only with care. A 14B at Q4 is ~9GB against ~11GB of GPU-addressable memory — it loads, but context space is thin and macOS competes for the rest. By bandwidth, the ceiling for a 9.3GB file is ~13 tok/s on a base M4 and ~22 on an M1 Pro, so expect single digits to low teens in practice. Treat 7–8B as the daily class; a 16GB GPU this is not.
What are the best Ollama models for a 16GB M1 Mac?
The same list as any 16GB Apple Silicon machine, at the lower speed bound: Llama 3.1 8B, Qwen 2.5 7B, Mistral 7B, and Llama 3.2 3B for instant responses. The base M1’s memory bandwidth is the limiter — Apple publishes 200 GB/s for the M1 Pro, which puts its ceiling at ~41 tok/s on a 4.9GB 7B, and the base M1 sits well below that.
How much of my 16GB can models actually use?
Roughly 11GB by default — macOS wires only about 70% of unified memory to the GPU and keeps the rest for the system. You can raise the limit with the iogpu.wired_limit_mb sysctl, but leave 3–4GB for macOS. This is the single biggest difference between a 16GB Mac and a 16GB GPU.
Related guides
Ready to Go Beyond Tutorials?
25 structured courses with hands-on chapters - build RAG chatbots, AI agents, and ML pipelines on your own hardware.
Was this helpful?