With 8 GB unified memory (about 5.4 GB usable by the GPU), these are the best open models that fit. The top pick is Phi-4 Mini 3.8B at Q8_0 (~4.9 GB, ~20 tok/s): ollama run phi4-mini:3.8b-q8_0.
Best for coding: Code Llama 7B (codellama:7b-instruct-q4_K_M), Qwen 2.5 Coder 1.5B (qwen2.5-coder:1.5b-instruct-q8_0).
Runtimes available for this hardware: Ollama, LM Studio, llama.cpp, MLX.
Open the interactive checker for M3 8GB| # | Model | Quant | Memory needed | Fit | Speed | Command |
|---|---|---|---|---|---|---|
| 1 | Phi-4 Mini 3.8B | Q8_0 | 4.9 GB | fits in fast memory | ~20 tok/s | ollama run phi4-mini:3.8b-q8_0 |
| 2 | Gemma 3 4B | Q4_K_M | 4.2 GB | fits in fast memory | ~24 tok/s | ollama run gemma3:4b |
| 3 | Qwen3 4B | Q8_0 | 5.2 GB | fits in fast memory | ~18 tok/s | ollama run qwen3:4b-q8_0 |
| 4 | Llama 3.2 3B | Q8_0 | 4.2 GB | fits in fast memory | ~24 tok/s | ollama run llama3.2:3b-instruct-q8_0 |
| 5 | DeepSeek R1 Distill Qwen 1.5B | Q8_0 | 2.6 GB | fits in fast memory | ~42 tok/s | ollama run deepseek-r1:1.5b-qwen-distill-q8_0 |
| 6 | Qwen3 1.7B | Q8_0 | 2.9 GB | fits in fast memory | ~36 tok/s | ollama run qwen3:1.7b-q8_0 |
| 7 | Llama 3.2 1B | Q8_0 | 2 GB | fits in fast memory | ~62 tok/s | ollama run llama3.2:1b |
| 8 | Gemma 3 1B | Q8_0 | 1.8 GB | fits in fast memory | ~73 tok/s | ollama run gemma3:1b-it-q8_0 |
| 9 | tev1 4B (Together AI, decision) | Default | 5.2 GB | fits in fast memory | ~18 tok/s | ollama run tev1:4b |
| 10 | Qwen3 0.6B | Q8_0 | 1.5 GB | fits in fast memory | ~96 tok/s | ollama run qwen3:0.6b-q8_0 |
| 11 | Code Llama 7B | Q4_K_M | 5 GB | fits in fast memory | ~20 tok/s | ollama run codellama:7b-instruct-q4_K_M |
| 12 | Qwen 2.5 3B | Q8_0 | 4.1 GB | fits in fast memory | ~24 tok/s | ollama run qwen2.5:3b-instruct-q8_0 |
Estimates, not benchmarks. Model sizes are ollama.com download sizes; memory needed adds headroom for ~8k tokens of context; speeds are rough figures from memory bandwidth. Data updated 2026-10-14.
A project by OnDevice Labs · llms.txt