Yes, just — 0.3 GB spare

Phi-4 14B at Q4_K_M fits your M1 · 16 GB entirely in unified memory at 8K context, at an estimated 4.6 tokens per second. Past 9K 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 · 8.3 GB MIT Released Dec 2024

Trained heavily on synthetic reasoning data. Short 16K window is its main limitation.

What hardware do I need for Phi-4 14B? →

The VRAM budget

weights 8.3 GB
Weights 8.3 GB KV cache @ 8K 1.56 GB Runtime overhead 0.6 GB Free 0.3 GB of 10.7 GB

Quantisation ladder

QuantWeightsTotal @ 8KMax contextTok/sQualityFit
F16 27.4 GB 29.5 GB ~1.4 Reference 18.8 GB over
Q8_0 14.5 GB 16.7 GB ~2.6 −0.1% ppl 6.0 GB over
Q6_K 11.2 GB 13.4 GB ~3.4 −0.4% ppl 2.7 GB over
Q5_K_M 9.7 GB 11.9 GB 2K ~3.9 −0.8% ppl 1.2 GB over
Q4_K_M 8.3 GB 10.4 GB 9K 4.6 −1.9% ppl Recommended
Q3_K_M 6.7 GB 8.9 GB 16K 5.7 −5.4% ppl Fits
Q2_K 5.7 GB 7.9 GB 16K 6.6 −15% ppl Fits

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/phi-4-4bit \
    --max-tokens 512 --prompt "Hello"

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

01Download is 8.3 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.
03Only 0.3 GB is spare, so a long system prompt can still push it over. Its real ceiling here is 9K context.
See all models for this rig Compare with another model