Only with CPU offload
Phi-4 14B at Q4_K_M needs 10.4 GB but only 9.7 GB is addressable, so about 9% of the layers would stream from system RAM at roughly 60 GB/s. Expect around 25 tokens per second — usable for batch work, painful for chat.
91% on GPU
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? →
Fits instead: Phi-4-mini 3.8B (3.8 GB)
The VRAM budget
weights 8.3 GB
Weights 8.3 GB
KV cache @ 8K 1.56 GB
Runtime overhead 0.6 GB
Over budget 0.7 GB past 9.7 GB
Quantisation ladder
| Quant | Weights | Total @ 8K | Max context | Tok/s | Quality | Fit |
|---|---|---|---|---|---|---|
| F16 | 27.4 GB | 29.5 GB | — | ~1.8 | Reference | 19.8 GB over |
| Q8_0 | 14.5 GB | 16.7 GB | — | ~4.7 | −0.1% ppl | 7.0 GB over |
| Q6_K | 11.2 GB | 13.4 GB | — | ~8.2 | −0.4% ppl | 3.7 GB over |
| Q5_K_M | 9.7 GB | 11.9 GB | — | ~13 | −0.8% ppl | 2.2 GB over |
| Q4_K_M | 8.3 GB | 10.4 GB | 4K | ~25 | −1.9% ppl | 0.7 GB over |
| Q3_K_M | 6.7 GB | 8.9 GB | 12K | 56 | −5.4% ppl | Fits |
| Q2_K | 5.7 GB | 7.9 GB | 16K | 65 | −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
$ llama-server \
-hf microsoft/phi-4:Q4_K_M \
-c 8192 -ngl 36
The engine underneath most of the others. Every knob is exposed. More on llama.cpp.
01Download is 8.3 GB. Keep it on an SSD — a first load off a spinning disk takes minutes.
02Close anything else holding VRAM. A browser with hardware acceleration can sit on 1–2 GB.
03If it falls back to CPU silently, drop the context first, then step down a quantisation.