whatmodel.sh / Phi-4 14B

Phi-4 14B is an open-weights language model from Microsoft, released December 2024. Its published size is 14.7B parameters and a 16k-token context window. Licence: mit.

52.7±0.7#304 of 719 LLMsfrom 49 benchmark results across 17 sources

$ how it compares

The LLMs ranked either side of Phi-4 14B, out of 828 with a score, then more from Microsoft.

#modelscorewhereRAMreleased
363Gemini 1.5 Flash (002) Google53±1comparison only2024-09
364Gemma 3 27B Google53±1api $0.10/M +local~18GB2025-03
365Phi-4 14B Microsoft53±1api $0.087/M +local~10GB2024-12
366Gemma 4 E4B Google53±1local~6.9GB2026-04
367Ministral 3 8B Mistral53±1api $0.15/M +local~6.5GB2025-12
more from Microsoft
252Phi-4-reasoning-plus 14B Microsoft59±1local~10GB2025-04
261Phi-4-reasoning 14B Microsoft58±1api $0.22/M +local~10GB2025-04
422WizardLM-2 8x22B Microsoft50±1local~91GB2024-04

see all LLMs · find the ones that fit your machine

$ what it's good at

agent tasks▁▁▃▆█▆▅▅▅▄▃▁ #264 of 300 * · 2.6% of its score · 2 tests

Beats Magistral Small 1.0 (2506), Llama 4 Scout (109B-A17B) here, though they rank higher overall. Trails Qwen2.5 1.5B Instruct, Granite 4.0 H 1B, Granite 4.0 1B here, though they rank lower overall.

testresultvs the others in its rundifficultycountswhy
BFCL V4 (December 2025 archive)28.8% ✎▁▁▁▂██▅▅▆▂▂▂ beats 28/77hard · avg 32%▇ 1.8%at its level
BFCL v347.0% ✎▁▁▁▁▁▃▅█▅▄▁▁ beats 28/114medium · avg 52%▇ 0.9%blunt · at its level
coding▁▁▁▃▆██▇▆▄▃▁ #225 of 458 · 19% of its score · 7 tests

Beats Qwen3.5 4B, Qwen3-VL 32B Instruct, Solar Open 100B (102B-A12B) here, though they rank higher overall. Trails QwQ-32B-Preview, Ministral 3 3B Reasoning 2512, GPT-4 (0613) here, though they rank lower overall.

testresultvs the others in its rundifficultycountswhy
HumanEval+ lab +282.8% ✎▁·▁▁▂▃▄▄█▅▄▃ beats 116/145easy · avg 78%▇▇▇▇▇ 13%sharp · several runs
HumanEval lab82.6% ✎▁▁▁▁▁▃▅▅█▃▂▁ beats 168/190easy · avg 74%▇ 2.4%sharp · small run
CodeReviewQA: change localisation (hard), invariant accuracy44.8% ✎█▂▁▁▂▂▂▃▅▅▅▇ beats 34/47medium · avg 36%▇ 1.4%sharp · at its level · noisy
HumanEval (simple-evals) lab82.6% ✎▂▅▆█▅▃··▂··▂ beats 3/19easy · avg 78%▇ 1.2%typical
CodeReviewQA: solution identification (hard), invariant accuracy77.5% ✎▃··▁▂▂▃▂█▃▄▂ beats 42/47medium · avg 54%▇ 1.0%sharp · at its level · noisy
CodeReviewQA: automated code refinement, exact match rate37.1% ✎▁▁▁▁▁▁▂▂▃█▅▄ beats 37/47hard · avg 33%▇ 0.9%at its level
CodeReviewQA: change type recognition, invariant accuracy76.6% ✎▁▁▁······▁▃█ beats 35/47easy · avg 67%▇ 0.0%blunt · at its level · noisy
chat & writing▁▁▁▃▅▄▅█▆▆▇▃ #268 of 393 · 12% of its score · 4 tests

Beats Ministral 3 14B Reasoning 2512, Ministral 3 14B here, though they rank higher overall. Trails Flan-T5 XXL, LFM2 1.2B, Granite 4.0 H 1B here, though they rank lower overall.

testresultvs the others in its rundifficultycountswhy
Arena-Hard (version/judge unspecified) lab +275.4% ✎▃▃▂▅▃▆▅█▅▅▂▃ beats 23/30medium · avg 60%▇▇▇ 6.3%at its level · several runs
LMArena (text)1256.3 ✎▁▁▁▂▃▃▃▆▆▇█▃ beats 94/379avg 1268▇▇ 3.8%blunt
IFEval (aggregation unspecified) lab +163.0% ✎▁▁▃▃▂▄▄▆█▃▂▁ beats 24/141easy · avg 75%▇ 1.3%several runs
IFEval strict (prompt/instruction level unspecified) lab62.3% ✎█·········██ beats 0/2easy · avg 67%▇ 1.0%at its level · small run
math▁▂▃▅▆▅▄█▄▁▁▁ #219 of 398 · 16% of its score · 5 tests

Beats GPT-4o (2024-08-06), Command A (03-2025), GPT-4o (2024-11-20) here, though they rank higher overall. Trails Olmo 3 7B Instruct, DeepSeek R1 Distill Llama 8B, Phi-4-mini-reasoning 3.8B here, though they rank lower overall.

testresultvs the others in its rundifficultycountswhy
MATH level 564.9% ✎▂▂▅▆▄█▆▃▅▂▃▄ beats 56/92hard · avg 32%▇▇▇▇ 10%sharp · at its level
OTIS mock AIME 2024–202513.8% ✎▃▃▄▃▃▃▇▇█▃▂▅ beats 52/193very hard · avg 8.5%▇ 1.9%sharp · noisy
MGSM lab80.6% ✎▃·▁·▁··▂▄█▄▄ beats 25/26easy · avg 72%▇ 1.8%small run
MATH (subset unspecified) lab80.4% ✎▂▄▄▃█▇▅▆▄▃▄▁ beats 54/80easy · avg 73%▇ 1.7%small run
MGSM (simple-evals) lab80.6% ✎▁·▁▃·▁▇▃█▁▃▁ beats 2/20easy · avg 82%▇ 1.0%blunt
other tests24 not in a task · 49% of its score
testresultvs the others in its rundifficultycountswhy
MMLU-Pro lab +270.4% ✎▁▁·▁▁▁▃▂▄▅█▁ beats 92/188medium · avg 59%▇▇▇ 7.4%at its level · several runs
GPQA Diamond56.1% ✎▁▁▁▁▂▄▆▄▅▇█▅ beats 81/208hard · avg 40%▇▇ 5.5%sharp · at its level
CLIcK Korean (Daekeun Kim)59.2% ✎▆▄▄▄█▄▂·▄█·▄ beats 5/23medium · avg 58%▇▇ 5.4%at its level
HAE-RAE 1.0 (Daekeun Kim)59.2% ✎▄▄▄▂▂█▂▄▂█▂▄ beats 4/22medium · avg 63%▇▇ 4.6%at its level
GPQA Diamond (simple-evals) lab56.1% ✎▁·····▄█▃▂▃▃ beats 13/22hard · avg 41%▇ 3.5%sharp · at its level
FlenQA (3K-token subset) lab +182.0% ✎▄···▄····▄·█ beats 0/4easy · avg 86%▇ 3.3%sharp · noisy · several runs
CPTUB average (SpeakLeash, 0-5 judge scale)66.1% ✎▁▂▂▂▃█▃▆▅▄▂▃ beats 46/95easy · avg 66%▇ 2.4%at its level
GPQA (subset unspecified) lab56.1% ✎▂▁▂▂▄▃▆▃▅█▄▃ beats 59/104hard · avg 45%▇ 2.1%sharp · at its level · small run
16 more tests
testresultvs the others in its rundifficultycountswhy
BRIDGE clinical text, zero-shot average (87 tasks)36.1% ✎▁▁▁▁▁▂▂▃▄▆█▃ beats 51/97hard · avg 32%▇ 2.0%blunt · at its level
AraGen-v3 3C3H score (Inception, Claude Sonnet 4 judge)30.0% ✎▁▁·▁▂▂▄█▄▅▄▄ beats 26/66hard · avg 31%▇ 2.0%at its level
Polish EQ-Bench v2 (SpeakLeash)64.4% ✎▁··▁▁▂▂▆▅▆█▆ beats 44/70medium · avg 64%▇ 1.9%at its level
MMLU lab84.8% ✎▁▁▁▁▁▂▃▅█▃▆▃ beats 154/183easy · avg 78%▇ 1.8%small run
KMMLU-HARD (Daekeun Kim, zero-shot)24.2% ✎█···▁▁▁▂▃·▆▂ beats 6/23very hard · avg 29%▇ 1.6%sharp · too hard for it
SimpleQA lab3.0% ✎▄▄▄▆█▆███·▂█ beats 1/32very hard · avg 5.3%▇ 1.4%too hard for it · small run
MMLU (simple-evals, zero-shot CoT) lab84.8% ✎▁···▂▁▅█▂▂▃▁ beats 5/22easy · avg 80%▇ 1.3%typical
Open PT-LLM Leaderboard average (9 Portuguese tasks)76.1% ✎▃▁▁▁▁▁▁▁▂█▅▁ beats 230/276medium · avg 73%▇ 0.8%at its level · noisy
DiagnosticIQ industrial maintenance MCQ (macro accuracy, 4 options)50.5% ✎▁··▃▃▁▁▅█▅▁▅ beats 3/24medium · avg 52%▇ 0.7%blunt · at its level
EuroEval HellaSwag (English), test split, 5-shot generative MC, accuracy84.4% ✎▃·▁▁▂▁▂▅█▇▄▁ beats 82/100medium · avg 68%▇ 0.6%at its level · noisy
EuroEval Life in the UK (English knowledge MC), test split, 5-shot, accuracy89.2% ✎▁▁▁▁▁▁▁▂▄█▄▃ beats 114/146easy · avg 83%▇ 0.4%noisy
Chess Puzzles (Epoch)1.0% ✎█▁▁▁▁▂▁▄▂▂▁▁ beats 32/135very hard · avg 5.9%▇ 0.2%sharp · too hard for it · noisy
Vectara hallucination leaderboard, 2025 dataset (HHEM-2.3, factual consistency rate)95.3% ✎▁▁▂▃▄▄█▆▃▂▂▁ beats 67/140very easy · avg 94%▇ 0.2%blunt · maxed out · noisy
DROP F1, 3-shot (simple-evals) lab75.5% ✎▅▂▆█▆·▃·▂▅·▂ beats 1/23easy · avg 80%▇ 0.2%blunt
Vectara hallucination leaderboard (HHEM-2.3, factual consistency rate)96.3% ✎▁▂▁▂▅█▂▃▄▃▁▃ beats 96/98very easy · avg 90%▇ 0.0%blunt
LiveBench (release not stated) lab47.6% ✎no other model yet—not counted yet: no other model in the same run to compare it with

$ where to run it

Through an API

api · DeepInfra · $0.088/M · $0.07 in / $0.14 out per 1M tokens · 16k context · deepinfra.com ↗ · price sourceUSD per 1M text tokens, standard uncached input and output. Product: Serverless text generation. API model: microsoft/phi-4. Settings: service tier=standard, batch=no, cache=uncached input. Additional/excluded charges: Tools, cache storage, priority service and other modalities excluded.. Currency: USD.

llama.cpp · recommended

version

  1. Install llama.cpp · Homebrew and winget installs name the commands llama-cli and llama-server instead.
    macOS / Linux
    curl -LsSf https://llama.app/install.sh | sh
    Windows
    irm https://llama.app/install.ps1 | iex

    other ways to install ↗

  2. Run Phi-4 14B · needs ~9.1 GB · from huggingface.co/lmstudio-community
    chat in the terminal
    llama cli -hf lmstudio-community/phi-4-GGUF:Q4_K_M
  3. Or start a local server and open the address it prints (http://localhost:9931)
    llama serve -hf lmstudio-community/phi-4-GGUF:Q4_K_M

LM Studio

version

  1. Install LM Studio · Open the app once before using the lms command.

    download it (macOS / Windows / Linux) ↗

  2. Run Phi-4 14B · needs ~9.1 GB · from huggingface.co/lmstudio-community

    open in LM Studio ↗

  3. Or download it in the terminal
    lms get https://huggingface.co/lmstudio-community/phi-4-GGUF@Q4_K_M -y
  4. Then run lms ls to see its name, and lms chat followed by that name

Ollama

version

  1. Install Ollama

    download it (macOS / Windows) ↗

    Linux
    curl -fsSL https://ollama.com/install.sh | sh
  2. Run Phi-4 14B · needs ~9.32 GB · from ollama.com
    chat in the terminal
    ollama run phi4:14b

MLX (Mac)

version

  1. Install MLX (Mac) · Apple silicon Macs only, text only.
    with uv
    uv tool install mlx-lm
    or
    pip install mlx-lm
  2. Run Phi-4 14B · needs ~8.2 GB, Mac only · from huggingface.co/mlx-community
    chat in the terminal
    mlx_lm.chat --model mlx-community/phi-4-4bit
  3. Or start an OpenAI-compatible server at http://localhost:8080/v1
    mlx_lm.server --model mlx-community/phi-4-4bit

Official weights and documentation: huggingface.co/microsoft ↗

$ how the score was worked out · Epoch AI — internal evaluatio… 17%, Microsoft Research — Phi-4 Te… 16%, Microsoft — Phi-4-reasoning T… 13% and 14 more

Each result implies a score on its own, after adjusting for how hard its test is and who ran it. The score is their weighted average, with a small pull toward the middle for thinly tested models. Each test's weight is its counts column above; here it's added up by who ran the tests. How it works

not counted (1)

Microsoft Research — Phi-4 Technical ReportLiveBench (release not stated) [correct]47.6%fewer than three models have this test yet, or this source ran it for this model alone
$ quantization evidence · 9 measurements

How much of the full-precision result a quantized version kept, measured within one study. Rows from the same study share a table and aren't independent.

precisiontestfull → quantizedkept
FP8 W8A8 dynamic (weights symmetric static per-channel, activations symmetric dynamic per-token)GSM8K 5-shot strict-match (lm-evaluation-harness `openllm`, vLLM)0.901 → 0.907100.7%source ↗
FP8 W8A8 dynamic (weights symmetric static per-channel, activations symmetric dynamic per-token)MMLU 5-shot (lm-evaluation-harness `openllm`, vLLM)0.803 → 0.803100.0%source ↗
FP8 W8A8 dynamic (weights symmetric static per-channel, activations symmetric dynamic per-token)OpenLLM v1 average of 6 tasks (ARC-Challenge 25-shot, GSM8K 5-shot, HellaSwag 10-shot, MMLU 5-shot, TruthfulQA MC2 0-shot, Winogrande 5-shot; lm-evaluation-harness `openllm`, vLLM)0.765 → 0.76599.9%source ↗
INT4 W4A16 (weights only, symmetric per-group, group size 128; GPTQ)GSM8K 5-shot strict-match (lm-evaluation-harness `openllm`, vLLM)0.901 → 0.89799.6%source ↗
INT4 W4A16 (weights only, symmetric per-group, group size 128; GPTQ)MMLU 5-shot (lm-evaluation-harness `openllm`, vLLM)0.803 → 0.79999.5%source ↗
INT4 W4A16 (weights only, symmetric per-group, group size 128; GPTQ)OpenLLM v1 average of 6 tasks (ARC-Challenge 25-shot, GSM8K 5-shot, HellaSwag 10-shot, MMLU 5-shot, TruthfulQA MC2 0-shot, Winogrande 5-shot; lm-evaluation-harness `openllm`, vLLM)0.765 → 0.7699.3%source ↗
INT8 W8A8 (weights static per-channel, activations dynamic per-token; SmoothQuant + GPTQ)GSM8K 5-shot strict-match (lm-evaluation-harness `openllm`, vLLM)0.901 → 0.903100.3%source ↗
INT8 W8A8 (weights static per-channel, activations dynamic per-token; SmoothQuant + GPTQ)MMLU 5-shot (lm-evaluation-harness `openllm`, vLLM)0.803 → 0.804100.1%source ↗
INT8 W8A8 (weights static per-channel, activations dynamic per-token; SmoothQuant + GPTQ)OpenLLM v1 average of 6 tasks (ARC-Challenge 25-shot, GSM8K 5-shot, HellaSwag 10-shot, MMLU 5-shot, TruthfulQA MC2 0-shot, Winogrande 5-shot; lm-evaluation-harness `openllm`, vLLM)0.765 → 0.76399.8%source ↗

$ improve this page

Use a short GitHub form or edit the data through a pull request. Every number needs a source; here's which ones we can use.

data updated · sources and licences · json