DATA-DRIVEN MODEL COMPARISON
Best small local LLMs
Compare models with at most 4 billion total parameters on knowledge, reasoning and coding tests. Small means total parameters, not active parameters.
First Pareto choice on MMLU-Pro
LFM2.5 230M · 20.25 / 100 · 0.153 GB · Q4_K_M. This choice is calculated within this page’s eligible set.
MMLU-Pro: comparison
Knowledge and reasoning across many subjects. Published accuracy; different evaluation settings can change the result.
| Model / quantization | Weights | Parameters | Score / 100 | Score / GB | Sources |
|---|---|---|---|---|---|
| LFM2.5 230M | 0.153 GB | 0.23B | 20.25 | 132.002 | Get weights Score source |
| MiniCPM5 2B | 1.561 GB | 2.517B | 70.8 | 45.346 | Get weights Score source |
| Granite 4.2 3B | 2.244 GB | 3.66B | 67.84 | 30.232 | Get weights Score source |
| LFM2.5 2.6B | 1.674 GB | 2.697B | 65.2 | 38.938 | Get weights Score source |
| Noema 2B | 2.012 GB | 1.882B | 51.1 | 25.397 | Get weights Score source |
LiveCodeBench v6: comparison
Solving coding problems. Version 6 only; published pass rates can vary with generation settings.
| Model / quantization | Weights | Parameters | Score / 100 | Score / GB | Sources |
|---|---|---|---|---|---|
| MiniCPM5 2B | 1.561 GB | 2.517B | 69.1 | 44.257 | Get weights Score source |
| K2 Horizon 0.9B | 0.666 GB | 1.078B | 37.4 | 56.141 | Get weights Score source |
| Granite 4.2 3B | 2.244 GB | 3.66B | 69.71 | 31.065 | Get weights Score source |
| LFM2.5 2.6B | 1.674 GB | 2.697B | 59.41 | 35.48 | Get weights Score source |
How recommendations are calculated
We compare one benchmark at a time. A Pareto choice has no other scored model with both an equal or smaller weight file and an equal or higher score, with at least one strict improvement. The first choice is the frontier point nearest the chart’s top-left corner, using the same rounded memory scale and 0–100 score scale as the main chart. Other frontier choices follow, then other scored models by score.
Score per GB is shown for context; it does not choose the champion. Changing the budget or dataset can change the result. Scores are published point estimates, often for the source checkpoint rather than the selected quantization. They do not establish statistically significant differences or equal evaluation conditions.
RAM, VRAM and unified memory
Use one memory pool. System RAM is used for CPU inference; a dedicated GPU has separate VRAM. Do not add RAM and VRAM as if they were one GPU pool. Partial CPU offload needs a supported backend and can change speed. Unified memory is shared by CPU, GPU and the operating system; software can limit how much the GPU can allocate.
Our initial weight budget reserves 30% of system RAM or unified memory, with a minimum of 2 GB. For VRAM it reserves 20%, with a minimum of 1 GB. These are adjustable planning assumptions, not measured requirements. Context cache, runtime buffers, other programs, multimodal files and concurrent users can need more. A file that passes the budget check is a candidate, not a confirmed hardware-compatible configuration.
Check the model’s runtime and quantization support before downloading. See the Transformers cache documentation and llama.cpp backend documentation. GB uses decimal bytes; operating systems can report GiB instead.