Yes — with 4.6 GB to spare

Llama 3.1 8B Instruct at Q4_K_M fits your M1 · 16 GB entirely in unified memory at 8K context, at an estimated 8.4 tokens per second. Past 44K the KV cache pushes it over — quantise the cache to q8_0, or step down a quantisation, to go longer.

Fully in unified memory 8K context Q4_K_M · 4.5 GB Llama 3.1 Community Released Jul 2024

Still the most widely deployed local model, with the largest fine-tune ecosystem. Not the strongest 8B any more.

What hardware do I need for Llama 3.1 8B Instruct? →

The VRAM budget

weights 4.5 GB
Weights 4.5 GB KV cache @ 8K 1.00 GB Runtime overhead 0.6 GB Free 4.6 GB of 10.7 GB

Quantisation ladder

QuantWeightsTotal @ 8KMax contextTok/sQualityFit
F16 15.0 GB 16.6 GB ~2.5 Reference 5.9 GB over
Q8_0 7.9 GB 9.5 GB 17K 4.8 −0.1% ppl Long context
Q6_K 6.1 GB 7.7 GB 31K 6.2 −0.4% ppl Long context
Q5_K_M 5.3 GB 6.9 GB 38K 7.2 −0.8% ppl Long context
Q4_K_M 4.5 GB 6.1 GB 44K 8.4 −1.9% ppl Recommended
Q3_K_M 3.7 GB 5.3 GB 51K 10 −5.4% ppl Long context
Q2_K 3.1 GB 4.7 GB 55K 12 −15% ppl Long context

Quality is the published perplexity delta against f16 weights. Max context assumes an f16 KV cache; q8_0 roughly doubles it.

How to run it

terminal
$ pip install mlx-lm
$ mlx_lm.generate --model mlx-community/Llama-3.1-8B-Instruct-4bit \
    --max-tokens 512 --prompt "Hello"

Apple's own array framework. The fastest path on Apple Silicon. More on MLX.

01Download is 4.5 GB. Keep it on an SSD — a first load off a spinning disk takes minutes.
02macOS caps what the GPU may wire down at about 10.7 GB of 16 GB. Raising it with iogpu.wired_limit_mb is possible, and risky.
03There is room to go to 44K context on this card.
See all models for this rig Compare with another model