The best local LLM for Mac depends on your memory
There is no single winner, because the limit on a Mac is unified memory, not the chip. The CPU and GPU share one pool of RAM, and the model has to fit inside it with room left for macOS and your other apps. On a 16GB machine that changes which models are sensible.
If you have not installed a runtime yet, start with running a local AI model on your Mac, then come back here to choose what to put in it.
The memory budget on a 16GB Mac
A rough way to work it out:
- macOS and background apps take around 4GB or more, especially with a browser open.
- That leaves roughly 10 to 11GB for the model and its context.
- A model quantised to 4 bits needs a little over half a gigabyte per billion parameters, plus extra for the context window.
So a 7 to 9 billion parameter model at 4-bit uses about 5 to 6GB and runs comfortably. A 14 billion parameter model at 4-bit is nearer 9 to 10GB, which can work but leaves little headroom. Anything above that will push the Mac into swap and slow to a crawl.
Which model sizes make sense
- Up to about 4B parameters: fast, light, fine for summaries, rewriting and quick questions. A good choice when you also want to keep a heavy IDE open.
- 7 to 9B: the sweet spot for 16GB. General chat, drafting, light coding help. Several open model families offer an instruction-tuned model in this range, including Qwen, Gemma and Mistral releases.
- 12 to 14B: possible with a short context and few other apps running. Quality is better for reasoning, but expect a tighter fit.
- 20B and above: generally too big for 16GB unless the model is a mixture-of-experts design with unusually small memory needs. Check the actual download size, not the headline parameter count.
Newer releases appear constantly, so treat any specific model name as a starting point. Look at the file size in the model library: if the download is over about 10GB, it is probably too big for this machine.
Choose by task, not by leaderboard
- General chat and writing: a recent 7 to 9B instruct model.
- Coding help in an editor: a coder-tuned model in the same size range. See using Claude Code with local models for agent-style setups, which need more memory for long context.
- Speed over quality: a 3 to 4B model. It will feel instant.
- Long documents: pick a smaller model so there is memory left for a larger context window.
Quantisation and context in practice
Quantisation shrinks a model by storing weights in fewer bits. Four-bit versions, often labelled Q4, are the usual compromise, with only a small quality drop. Going to Q8 doubles the size for modest gains and rarely pays off on 16GB.
Context length is the hidden cost. The longer the conversation or document, the more memory the model uses for its cache. If a model that should fit becomes slow halfway through a long chat, reduce the context window in your runtime settings.
How to test a model quickly
With Ollama installed, you can try a model in two commands and see how it behaves:
ollama pull <model-name>
ollama run <model-name>
While it generates, open Activity Monitor and check the Memory Pressure graph. Green means you have headroom. Yellow or red means the model is too big, so drop a size or shorten the context.
Also note tokens per second. A usable chat feels fine above roughly 15 to 20 tokens per second. Much below that and you will find yourself waiting.
The practical answer
For most people with a 16GB Mac, the best local LLM is a recent 7 to 9B instruct model at 4-bit, with a coder variant if you mostly write code. Try one, watch memory pressure, then move up or down a size. That beats chasing the biggest name on a leaderboard.
Leave a Reply
You must be logged in to post a comment.