DATA-DRIVEN MODEL COMPARISON
Best local LLMs for 16 GB RAM or VRAM
84 catalog weight sets fit the 11.2 GB system-memory planning budget. “Best” means a trade-off between a published benchmark score and weight size, not a tested run on your computer.
16 GB: weight budgets
| Memory pool | Capacity | Weight budget | Reserved space | Candidate files |
|---|---|---|---|---|
| System RAM / unified memory | 16 GB | 11.2 GB | 4.8 GB | 84 |
| Dedicated VRAM | 16 GB | 12.8 GB | 3.2 GB | 86 |
Compared with 12 GB, this tier adds 2 weight-budget candidates: Gmcoder 9B, Qwen3.8-27B-GSQ-RCO-GGUF. A smaller model can still be the better trade-off.
First Pareto choice on MMLU-Pro
MiniCPM5 2B · 70.8 / 100 · 1.561 GB · Q4_K_M. This choice is calculated within this page’s eligible set.
MMLU-Pro: models within the RAM budget
Knowledge and reasoning across many subjects. Published accuracy; different evaluation settings can change the result.
| Model / quantization | Weights | Parameters | Score / 100 | Score / GB | Budget left | Sources |
|---|---|---|---|---|---|---|
| MiniCPM5 2B | 1.561 GB | 2.517B | 70.8 | 45.346 | 9.639 GB | Get weights Score source |
| Qwen3.5-4B | 2.741 GB | 4.206B | 79.1 | 28.859 | 8.459 GB | Get weights Score source |
| LFM2.5 230M | 0.153 GB | 0.23B | 20.25 | 132.002 | 11.047 GB | Get weights Score source |
| Qwen3.5-9B | 5.681 GB | 9.653B | 82.5 | 14.523 | 5.519 GB | Get weights Score source |
| gemma-4-12B-it | 7.122 GB | 11.96B | 77.2 | 10.84 | 4.078 GB | Get weights Score source |
| Granite 4.2 8B | 5.348 GB | 8.792B | 74.04 | 13.845 | 5.852 GB | Get weights Score source |
| Gemma 4 E4B | 4.977 GB | 7.996B | 69.4 | 13.944 | 6.223 GB | Get weights Score source |
| Granite 4.2 3B | 2.244 GB | 3.66B | 67.84 | 30.232 | 8.956 GB | Get weights Score source |
| LFM2.5 2.6B | 1.674 GB | 2.697B | 65.2 | 38.938 | 9.526 GB | Get weights Score source |
| Gemma 4 E2B | 3.107 GB | 5.123B | 60 | 19.313 | 8.093 GB | Get weights Score source |
| Noema 2B | 2.012 GB | 1.882B | 51.1 | 25.397 | 9.188 GB | Get weights Score source |
| Kernel Logic 1.5 | 4.683 GB | 7.616B | 38 | 8.114 | 6.517 GB | Get weights Score source |
LiveCodeBench v6: models within the RAM budget
Solving coding problems. Version 6 only; published pass rates can vary with generation settings.
| Model / quantization | Weights | Parameters | Score / 100 | Score / GB | Budget left | Sources |
|---|---|---|---|---|---|---|
| Nanbeige 4.2 3B | 2.684 GB | 4.17B | 72.5 | 27.012 | 8.516 GB | Get weights Score source |
| MiniCPM5 2B | 1.561 GB | 2.517B | 69.1 | 44.257 | 9.639 GB | Get weights Score source |
| Granite 4.2 3B | 2.244 GB | 3.66B | 69.71 | 31.065 | 8.956 GB | Get weights Score source |
| Granite 4.2 8B | 5.348 GB | 8.792B | 73.24 | 13.695 | 5.852 GB | Get weights Score source |
| Mellum2.1 12B A2.5B Thinking | 8.071 GB | 12.15B | 82 | 10.159 | 3.129 GB | Get weights Score source |
| Qwen3.8-27B-GSQ-RCO-GGUF | 10.094 GB | 26.896B | 84.57 | 8.378 | 1.106 GB | Get weights Score source |
| K2 Horizon 0.9B | 0.666 GB | 1.078B | 37.4 | 56.141 | 10.534 GB | Get weights Score source |
| gemma-4-12B-it | 7.122 GB | 11.96B | 72 | 10.11 | 4.078 GB | Get weights Score source |
| Qwen3.5-9B | 5.681 GB | 9.653B | 65.6 | 11.548 | 5.519 GB | Get weights Score source |
| Agents A1 4B | 2.709 GB | 4.539B | 59.6 | 22.002 | 8.491 GB | Get weights Score source |
| NeoHorse 1 4B | 2.709 GB | 4.206B | 59.43 | 21.94 | 8.491 GB | Get weights Score source |
| LFM2.5 2.6B | 1.674 GB | 2.697B | 59.41 | 35.48 | 9.526 GB | Get weights Score source |
| Qwen3.5-4B | 2.741 GB | 4.206B | 55.8 | 20.358 | 8.459 GB | Get weights Score source |
| Gemma 4 E4B | 4.977 GB | 7.996B | 52 | 10.448 | 6.223 GB | Get weights Score source |
| Gemma 4 E2B | 3.107 GB | 5.123B | 44 | 14.163 | 8.093 GB | Get weights Score source |
All 84 model files within this tier’s RAM budget
Some files have scores only on other benchmarks. This complete size-ordered list keeps those candidates visible without assigning missing scores a zero.
Show every candidate, including models without MMLU-Pro
| Model / quantization | Weights | Parameters | Score / 100 | Score / GB | Budget left | Sources |
|---|---|---|---|---|---|---|
| Vela Lumen v1.1 | 0.143 GB | 0.048B | Not recorded | — | 11.057 GB | Get weights |
| LFM2.5 230M | 0.153 GB | 0.23B | 20.25 | 132.002 | 11.047 GB | Get weights Score source |
| PicoLM 80M | 0.18 GB | 0.09B | Not recorded | — | 11.02 GB | Get weights |
| PicoLM v2 81M | 0.193 GB | 0.096B | Not recorded | — | 11.007 GB | Get weights |
| PicoLM v2.1 81M | 0.193 GB | 0.096B | Not recorded | — | 11.007 GB | Get weights |
| Udgam 384M Chat | 0.238 GB | 0.384B | Not recorded | — | 10.962 GB | Get weights |
| Quill 1 PreviewCode-completion model; not a general chat model. | 0.398 GB | 0.494B | Not recorded | — | 10.802 GB | Get weights |
| Liquid AI d1-omni-600M | 0.407 GB | 0.587B | Not recorded | — | 10.793 GB | Get weights |
| LightOnOCR-3 0.8B | 0.529 GB | 0.853B | Not recorded | — | 10.671 GB | Get weights |
| Satella-RAG 0.8B | 0.593 GB | 0.773B | Not recorded | — | 10.607 GB | Get weights |
| K2 Horizon 0.9B | 0.666 GB | 1.078B | Not recorded | — | 10.534 GB | Get weights |
| MiniCPM-V 4.7 1B | 0.672 GB | 1.006B | Not recorded | — | 10.528 GB | Get weights |
| OneJev 1.5 0.8B | 0.672 GB | 1.007B | Not recorded | — | 10.528 GB | Get weights |
| d3-edge 0.6B | 0.806 GB | 0.748B | Not recorded | — | 10.394 GB | Get weights |
| Switchboard Router 0.5B v0.1 | 0.994 GB | 0.494B | Not recorded | — | 10.206 GB | Get weights |
| Spark X2.5 1.7B | 1.107 GB | 1.708B | Not recorded | — | 10.093 GB | Get weights |
| Curious 2B | 1.215 GB | 1.882B | Not recorded | — | 9.985 GB | Get weights |
| Noema 1.5 2B | 1.274 GB | 1.882B | Not recorded | — | 9.926 GB | Get weights |
| StartLux-Decision-v1-2B | 1.274 GB | 1.882B | Not recorded | — | 9.926 GB | Get weights |
| Arm-optimized Qwen3.5-2B | 1.274 GB | 1.882B | Not recorded | — | 9.926 GB | Get weights |
| Empero Qwen3.8 2B | 1.312 GB | 2.274B | Not recorded | — | 9.888 GB | Get weights |
| Index Translate 2BTranslation specialist, not a general chat ranking. Apache-2.0 licensed. The official llama.cpp recipe uses the chat template with thinking disabled, temperature 0 and the target-language prompt. This 1.312 GB Q4_K_M file is text-capable by itself; image input needs the separate compatible projector. Runtime, KV cache and long contexts need memory beyond the weight file. The recorded FLORES result is from the source checkpoint, not a Q4 speed or compatibility test. | 1.312 GB | 2.274B | Not recorded | — | 9.888 GB | Get weights |
| MiniCPM5 abliterated v2 | 1.561 GB | 2.517B | Not recorded | — | 9.639 GB | Get weights |
| MiniCPM5 2B | 1.561 GB | 2.517B | 70.8 | 45.346 | 9.639 GB | Get weights Score source |
| ColGrep-Agent-2B | 1.561 GB | 2.517B | Not recorded | — | 9.639 GB | Get weights |
| LFM2.5 2.6B | 1.674 GB | 2.697B | 65.2 | 38.938 | 9.526 GB | Get weights Score source |
| DFM Mimir | 1.913 GB | 1.787B | Not recorded | — | 9.287 GB | Get weights |
| TwIL LM3 | 1.915 GB | 3.075B | Not recorded | — | 9.285 GB | Get weights |
| Noema 2B | 2.012 GB | 1.882B | 51.1 | 25.397 | 9.188 GB | Get weights Score source |
| Josev-2B | 2.045 GB | 1.912B | Not recorded | — | 9.155 GB | Get weights |
| Limite 1B - ViolettoBF16 Safetensors; custom code or vLLM plugin. Single-turn math specialist. | 2.071 GB | 1B | Not recorded | — | 9.129 GB | Get weights |
| Granite 4.2 3B | 2.244 GB | 3.66B | 67.84 | 30.232 | 8.956 GB | Get weights Score source |
| webAI TwIL-LM3-Pro | 2.244 GB | 3.66B | Not recorded | — | 8.956 GB | Get weights |
| OpenDecider-small-td | 2.497 GB | 4.022B | Not recorded | — | 8.703 GB | Get weights |
| Clary 2 Cyber Heavy | 2.497 GB | 4.022B | Not recorded | — | 8.703 GB | Get weights |
| RefinedToolCall v5 | 2.538 GB | 3.086B | Not recorded | — | 8.662 GB | Get weights |
| grug 3B | 2.575 GB | 4.17B | Not recorded | — | 8.625 GB | Get weights |
| Spark X2.5 4B | 2.6 GB | 4.112B | Not recorded | — | 8.6 GB | Get weights |
| Granite concision edit | 2.673 GB | 1.335B | Not recorded | — | 8.527 GB | Get weights |
| Nanbeige 4.2 3B | 2.684 GB | 4.17B | Not recorded | — | 8.516 GB | Get weights |
| Wald-Q4B v2.1 | 2.709 GB | 4.66B | Not recorded | — | 8.491 GB | Get weights |
| NeoHorse 1 4B | 2.709 GB | 4.206B | Not recorded | — | 8.491 GB | Get weights |
| APUS Reflex 4B | 2.709 GB | 4.206B | Not recorded | — | 8.491 GB | Get weights |
| Afrique Qwen v2 | 2.709 GB | 4.206B | Not recorded | — | 8.491 GB | Get weights |
| Agents A1 4B | 2.709 GB | 4.539B | Not recorded | — | 8.491 GB | Get weights |
| Qwen3.5-4B | 2.741 GB | 4.206B | 79.1 | 28.859 | 8.459 GB | Get weights Score source |
| Empero Qwen3.8 4B | 2.783 GB | 4.66B | Not recorded | — | 8.417 GB | Get weights |
| FrogNano-4B-2609 | 2.798 GB | 4.326B | Not recorded | — | 8.402 GB | Get weights |
| Liquid AI d1-3BDecision model, not a chat model. Use a llama.cpp build with /v1/systemone support. The selected Q8_0 file contains language weights; image input needs a compatible separate projector. Total parameters include the vision encoder. LFM Open License v1.0 has commercial-use conditions. The recorded score is not a Q8_0 compatibility or speed test. | 2.875 GB | 3.123B | Not recorded | — | 8.325 GB | Get weights |
| Gemma 4 E2B | 3.107 GB | 5.123B | 60 | 19.313 | 8.093 GB | Get weights Score source |
| K2 Horizon 3.7B | 3.157 GB | 5.058B | Not recorded | — | 8.043 GB | Get weights |
| Bonsai 27B (1-bit)Custom Prism llama.cpp kernels required; check backend support. | 3.803 GB | 26.896B | Not recorded | — | 7.397 GB | Get weights |
| Switchboard Router 4B | 4.28 GB | 4.022B | Not recorded | — | 6.92 GB | Get weights |
| Quinto 0.1 4B | 4.482 GB | 4.206B | Not recorded | — | 6.718 GB | Get weights |
| H2O-Lightning 4B Native | 4.482 GB | 4.206B | Not recorded | — | 6.718 GB | Get weights |
| Kernel Logic 1.5 | 4.683 GB | 7.616B | 38 | 8.114 | 6.517 GB | Get weights Score source |
| Ling 3.0 tiny | 4.824 GB | 7.893B | Not recorded | — | 6.376 GB | Get weights |
| Gemma 4 E4B | 4.977 GB | 7.996B | 69.4 | 13.944 | 6.223 GB | Get weights Score source |
| Ai2 AstaBrief 8B | 5.028 GB | 8.191B | Not recorded | — | 6.172 GB | Get weights |
| DuoNeural Hermes v3 | 5.156 GB | 8.468B | Not recorded | — | 6.044 GB | Get weights |
| DuoNeural Hermes v2 | 5.156 GB | 8.468B | Not recorded | — | 6.044 GB | Get weights |
| UltraCoder L3 | 5.156 GB | 8.468B | Not recorded | — | 6.044 GB | Get weights |
| Granite 4.2 8B | 5.348 GB | 8.792B | 74.04 | 13.845 | 5.852 GB | Get weights Score source |
| K2 Horizon 7B | 5.592 GB | 8.999B | Not recorded | — | 5.608 GB | Get weights |
| Qwythos-9B Claude Mythos 5 1M | 5.629 GB | 8.954B | Not recorded | — | 5.571 GB | Get weights |
| RapidChat 9B | 5.629 GB | 9.41B | Not recorded | — | 5.571 GB | Get weights |
| APUS Reflex 9B | 5.629 GB | 9.41B | Not recorded | — | 5.571 GB | Get weights |
| OpenMobile-2 9B | 5.629 GB | 8.954B | Not recorded | — | 5.571 GB | Get weights |
| Qwen3.5-9B | 5.681 GB | 9.653B | 82.5 | 14.523 | 5.519 GB | Get weights Score source |
| Empero Qwen3.8 9BReasoning distillation, not an official Qwen 3.8 9B release. Use a recent llama.cpp build with Qwen3.5 / Gated DeltaNet support; older builds can fail to load it. Apache-2.0 licensed. The 5.780 GB Q4_K_M file is only the weight file: runtime, KV cache and long contexts need additional memory. The recorded MMLU and GSM8K results are from the source checkpoint, not Q4 speed or compatibility tests. | 5.78 GB | 9.653B | Not recorded | — | 5.42 GB | Get weights |
| Index-Translate-9B | 5.78 GB | 9.653B | Not recorded | — | 5.42 GB | Get weights |
| Ornith-1.5-9B | 5.78 GB | 9.197B | Not recorded | — | 5.42 GB | Get weights |
| MiMo-V2.6-Distill-Qwen-9B | 5.841 GB | 8.954B | Not recorded | — | 5.359 GB | Get weights |
| Ternary Bonsai 2 27BCustom Prism llama.cpp kernels required; check backend support. | 5.947 GB | 26.896B | Not recorded | — | 5.253 GB | Get weights |
| Ternary Bonsai 2 27B Abliterated (BoldingBuilds) | 5.947 GB | 26.896B | Not recorded | — | 5.253 GB | Get weights |
| Mitsuba-ComfyUI-27B | 5.998 GB | 27.321B | Not recorded | — | 5.202 GB | Get weights |
| Cloudflare Clef-flash 9BDecision model. llama.cpp uses /v1/systemone; text generation is unavailable. Image input requires current model support plus a compatible multimodal projector. See the Clef comparison for sources and checks. | 6.041 GB | 9.076B | Not recorded | — | 5.159 GB | Get weights |
| gemma-4-12B-it | 7.122 GB | 11.96B | 77.2 | 10.84 | 4.078 GB | Get weights Score source |
| Ternary Bonsai 27BCustom Prism llama.cpp kernels required; check backend support. | 7.165 GB | 26.896B | Not recorded | — | 4.035 GB | Get weights |
| Swift Bonsai 2 27B (PQ2_0) | 7.206 GB | 26.896B | Not recorded | — | 3.994 GB | Get weights |
| Mistral-Nemo-Instruct-2407 | 7.477 GB | 12.248B | Not recorded | — | 3.723 GB | Get weights |
| Mellum2.1 12B A2.5B Thinking | 8.071 GB | 12.15B | Not recorded | — | 3.129 GB | Get weights |
| Gmcoder 9B | 9.786 GB | 8.954B | Not recorded | — | 1.414 GB | Get weights |
| Qwen3.8-27B-GSQ-RCO-GGUF | 10.094 GB | 26.896B | Not recorded | — | 1.106 GB | Get weights |
Additional candidates with 16 GB dedicated VRAM
The 12.8 GB VRAM weight budget admits these additional files. They do not pass this page’s more cautious system-memory budget.
| Model / quantization | Weights | Parameters | Score / 100 | Score / GB | Budget left | Sources |
|---|---|---|---|---|---|---|
| Humanizer 12B RLRt2 | 12.67 GB | 11.907B | Not recorded | — | 0.13 GB | Get weights |
| Winnow 12B | 12.67 GB | 11.96B | Not recorded | — | 0.13 GB | Get weights |
Computers near this memory tier
These are memory candidates, not tested model/runtime matches. Dedicated VRAM is used for GPU-fit planning; system RAM is not treated as VRAM.
- Seeed reComputer Industrial J4012 · 16 GB unified memory
- Beelink SER3 · Ryzen 3 3200U · 16 GB system RAM
- ASUS ROG NUC 16 · 16 GB dedicated VRAM
- GEEKOM A7 · Ryzen 5 7535HS · 16 GB system RAM
- GEEKOM IT13 Max · 16 GB system RAM
- Glorlin Ryzen 7 6800H Mini PC · 16 GB system RAM
- GMKtec K15 · 16GB · 16 GB system RAM
- GMKtec K13 · 16GB · 16 GB system RAM
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.