DATA-DRIVEN MODEL COMPARISON
Best local LLMs for 24 GB RAM or VRAM
95 catalog weight sets fit the 16.8 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.
24 GB: weight budgets
| Memory pool | Capacity | Weight budget | Reserved space | Candidate files |
|---|---|---|---|---|
| System RAM / unified memory | 24 GB | 16.8 GB | 7.2 GB | 95 |
| Dedicated VRAM | 24 GB | 19.2 GB | 4.8 GB | 108 |
Compared with 16 GB, this tier adds 11 weight-budget candidates: Humanizer 12B RLRt2, Winnow 12B, GLM-4.7-Flash-REAP-23B-A3B, LFM2.5-24B-A2B, Lumma-Fev-27B, Qwen3.8 27B Humanlike Chat 2.0, OpenJev 27B, OpenMobile-2 27B and more in the tables below. A smaller model can still be the better trade-off.
First Pareto choice on MMLU-Pro
Qwen3.5-4B · 79.1 / 100 · 2.741 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 |
|---|---|---|---|---|---|---|
| Qwen3.5-4B | 2.741 GB | 4.206B | 79.1 | 28.859 | 14.059 GB | Get weights Score source |
| MiniCPM5 2B | 1.561 GB | 2.517B | 70.8 | 45.346 | 15.239 GB | Get weights Score source |
| Qwen3.5-9B | 5.681 GB | 9.653B | 82.5 | 14.523 | 11.119 GB | Get weights Score source |
| LFM2.5 230M | 0.153 GB | 0.23B | 20.25 | 132.002 | 16.647 GB | Get weights Score source |
| Qwen3.5-27B | 16.741 GB | 27.781B | 86.1 | 5.143 | 0.059 GB | Get weights Score source |
| gemma-4-12B-it | 7.122 GB | 11.96B | 77.2 | 10.84 | 9.678 GB | Get weights Score source |
| Granite 4.2 8B | 5.348 GB | 8.792B | 74.04 | 13.845 | 11.452 GB | Get weights Score source |
| Gemma 4 E4B | 4.977 GB | 7.996B | 69.4 | 13.944 | 11.823 GB | Get weights Score source |
| Granite 4.2 3B | 2.244 GB | 3.66B | 67.84 | 30.232 | 14.556 GB | Get weights Score source |
| LFM2.5 2.6B | 1.674 GB | 2.697B | 65.2 | 38.938 | 15.126 GB | Get weights Score source |
| Gemma 4 E2B | 3.107 GB | 5.123B | 60 | 19.313 | 13.693 GB | Get weights Score source |
| Noema 2B | 2.012 GB | 1.882B | 51.1 | 25.397 | 14.788 GB | Get weights Score source |
| Kernel Logic 1.5 | 4.683 GB | 7.616B | 38 | 8.114 | 12.117 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 | 14.116 GB | Get weights Score source |
| MiniCPM5 2B | 1.561 GB | 2.517B | 69.1 | 44.257 | 15.239 GB | Get weights Score source |
| Granite 4.2 3B | 2.244 GB | 3.66B | 69.71 | 31.065 | 14.556 GB | Get weights Score source |
| Granite 4.2 8B | 5.348 GB | 8.792B | 73.24 | 13.695 | 11.452 GB | Get weights Score source |
| Mellum2.1 12B A2.5B Thinking | 8.071 GB | 12.15B | 82 | 10.159 | 8.729 GB | Get weights Score source |
| Qwen3.8-27B-GSQ-RCO-GGUF | 10.094 GB | 26.896B | 84.57 | 8.378 | 6.706 GB | Get weights Score source |
| K2 Horizon 0.9B | 0.666 GB | 1.078B | 37.4 | 56.141 | 16.134 GB | Get weights Score source |
| Qwen3.8-27B | 16.464 GB | 27.781B | 90.3 | 5.485 | 0.336 GB | Get weights Score source |
| Qwen3.5-27B | 16.741 GB | 27.781B | 80.7 | 4.821 | 0.059 GB | Get weights Score source |
| gemma-4-12B-it | 7.122 GB | 11.96B | 72 | 10.11 | 9.678 GB | Get weights Score source |
| Qwen3.5-9B | 5.681 GB | 9.653B | 65.6 | 11.548 | 11.119 GB | Get weights Score source |
| Agents A1 4B | 2.709 GB | 4.539B | 59.6 | 22.002 | 14.091 GB | Get weights Score source |
| NeoHorse 1 4B | 2.709 GB | 4.206B | 59.43 | 21.94 | 14.091 GB | Get weights Score source |
| LFM2.5 2.6B | 1.674 GB | 2.697B | 59.41 | 35.48 | 15.126 GB | Get weights Score source |
| Qwen3.5-4B | 2.741 GB | 4.206B | 55.8 | 20.358 | 14.059 GB | Get weights Score source |
| Gemma 4 E4B | 4.977 GB | 7.996B | 52 | 10.448 | 11.823 GB | Get weights Score source |
| Gemma 4 E2B | 3.107 GB | 5.123B | 44 | 14.163 | 13.693 GB | Get weights Score source |
All 95 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 | — | 16.657 GB | Get weights |
| LFM2.5 230M | 0.153 GB | 0.23B | 20.25 | 132.002 | 16.647 GB | Get weights Score source |
| PicoLM 80M | 0.18 GB | 0.09B | Not recorded | — | 16.62 GB | Get weights |
| PicoLM v2 81M | 0.193 GB | 0.096B | Not recorded | — | 16.607 GB | Get weights |
| PicoLM v2.1 81M | 0.193 GB | 0.096B | Not recorded | — | 16.607 GB | Get weights |
| Udgam 384M Chat | 0.238 GB | 0.384B | Not recorded | — | 16.562 GB | Get weights |
| Quill 1 PreviewCode-completion model; not a general chat model. | 0.398 GB | 0.494B | Not recorded | — | 16.402 GB | Get weights |
| Liquid AI d1-omni-600M | 0.407 GB | 0.587B | Not recorded | — | 16.393 GB | Get weights |
| LightOnOCR-3 0.8B | 0.529 GB | 0.853B | Not recorded | — | 16.271 GB | Get weights |
| Satella-RAG 0.8B | 0.593 GB | 0.773B | Not recorded | — | 16.207 GB | Get weights |
| K2 Horizon 0.9B | 0.666 GB | 1.078B | Not recorded | — | 16.134 GB | Get weights |
| MiniCPM-V 4.7 1B | 0.672 GB | 1.006B | Not recorded | — | 16.128 GB | Get weights |
| OneJev 1.5 0.8B | 0.672 GB | 1.007B | Not recorded | — | 16.128 GB | Get weights |
| d3-edge 0.6B | 0.806 GB | 0.748B | Not recorded | — | 15.994 GB | Get weights |
| Switchboard Router 0.5B v0.1 | 0.994 GB | 0.494B | Not recorded | — | 15.806 GB | Get weights |
| Spark X2.5 1.7B | 1.107 GB | 1.708B | Not recorded | — | 15.693 GB | Get weights |
| Curious 2B | 1.215 GB | 1.882B | Not recorded | — | 15.585 GB | Get weights |
| Noema 1.5 2B | 1.274 GB | 1.882B | Not recorded | — | 15.526 GB | Get weights |
| StartLux-Decision-v1-2B | 1.274 GB | 1.882B | Not recorded | — | 15.526 GB | Get weights |
| Arm-optimized Qwen3.5-2B | 1.274 GB | 1.882B | Not recorded | — | 15.526 GB | Get weights |
| Empero Qwen3.8 2B | 1.312 GB | 2.274B | Not recorded | — | 15.488 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 | — | 15.488 GB | Get weights |
| MiniCPM5 abliterated v2 | 1.561 GB | 2.517B | Not recorded | — | 15.239 GB | Get weights |
| MiniCPM5 2B | 1.561 GB | 2.517B | 70.8 | 45.346 | 15.239 GB | Get weights Score source |
| ColGrep-Agent-2B | 1.561 GB | 2.517B | Not recorded | — | 15.239 GB | Get weights |
| LFM2.5 2.6B | 1.674 GB | 2.697B | 65.2 | 38.938 | 15.126 GB | Get weights Score source |
| DFM Mimir | 1.913 GB | 1.787B | Not recorded | — | 14.887 GB | Get weights |
| TwIL LM3 | 1.915 GB | 3.075B | Not recorded | — | 14.885 GB | Get weights |
| Noema 2B | 2.012 GB | 1.882B | 51.1 | 25.397 | 14.788 GB | Get weights Score source |
| Josev-2B | 2.045 GB | 1.912B | Not recorded | — | 14.755 GB | Get weights |
| Limite 1B - ViolettoBF16 Safetensors; custom code or vLLM plugin. Single-turn math specialist. | 2.071 GB | 1B | Not recorded | — | 14.729 GB | Get weights |
| Granite 4.2 3B | 2.244 GB | 3.66B | 67.84 | 30.232 | 14.556 GB | Get weights Score source |
| webAI TwIL-LM3-Pro | 2.244 GB | 3.66B | Not recorded | — | 14.556 GB | Get weights |
| OpenDecider-small-td | 2.497 GB | 4.022B | Not recorded | — | 14.303 GB | Get weights |
| Clary 2 Cyber Heavy | 2.497 GB | 4.022B | Not recorded | — | 14.303 GB | Get weights |
| RefinedToolCall v5 | 2.538 GB | 3.086B | Not recorded | — | 14.262 GB | Get weights |
| grug 3B | 2.575 GB | 4.17B | Not recorded | — | 14.225 GB | Get weights |
| Spark X2.5 4B | 2.6 GB | 4.112B | Not recorded | — | 14.2 GB | Get weights |
| Granite concision edit | 2.673 GB | 1.335B | Not recorded | — | 14.127 GB | Get weights |
| Nanbeige 4.2 3B | 2.684 GB | 4.17B | Not recorded | — | 14.116 GB | Get weights |
| Wald-Q4B v2.1 | 2.709 GB | 4.66B | Not recorded | — | 14.091 GB | Get weights |
| NeoHorse 1 4B | 2.709 GB | 4.206B | Not recorded | — | 14.091 GB | Get weights |
| APUS Reflex 4B | 2.709 GB | 4.206B | Not recorded | — | 14.091 GB | Get weights |
| Afrique Qwen v2 | 2.709 GB | 4.206B | Not recorded | — | 14.091 GB | Get weights |
| Agents A1 4B | 2.709 GB | 4.539B | Not recorded | — | 14.091 GB | Get weights |
| Qwen3.5-4B | 2.741 GB | 4.206B | 79.1 | 28.859 | 14.059 GB | Get weights Score source |
| Empero Qwen3.8 4B | 2.783 GB | 4.66B | Not recorded | — | 14.017 GB | Get weights |
| FrogNano-4B-2609 | 2.798 GB | 4.326B | Not recorded | — | 14.002 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 | — | 13.925 GB | Get weights |
| Gemma 4 E2B | 3.107 GB | 5.123B | 60 | 19.313 | 13.693 GB | Get weights Score source |
| K2 Horizon 3.7B | 3.157 GB | 5.058B | Not recorded | — | 13.643 GB | Get weights |
| Bonsai 27B (1-bit)Custom Prism llama.cpp kernels required; check backend support. | 3.803 GB | 26.896B | Not recorded | — | 12.997 GB | Get weights |
| Switchboard Router 4B | 4.28 GB | 4.022B | Not recorded | — | 12.52 GB | Get weights |
| Quinto 0.1 4B | 4.482 GB | 4.206B | Not recorded | — | 12.318 GB | Get weights |
| H2O-Lightning 4B Native | 4.482 GB | 4.206B | Not recorded | — | 12.318 GB | Get weights |
| Kernel Logic 1.5 | 4.683 GB | 7.616B | 38 | 8.114 | 12.117 GB | Get weights Score source |
| Ling 3.0 tiny | 4.824 GB | 7.893B | Not recorded | — | 11.976 GB | Get weights |
| Gemma 4 E4B | 4.977 GB | 7.996B | 69.4 | 13.944 | 11.823 GB | Get weights Score source |
| Ai2 AstaBrief 8B | 5.028 GB | 8.191B | Not recorded | — | 11.772 GB | Get weights |
| DuoNeural Hermes v3 | 5.156 GB | 8.468B | Not recorded | — | 11.644 GB | Get weights |
| DuoNeural Hermes v2 | 5.156 GB | 8.468B | Not recorded | — | 11.644 GB | Get weights |
| UltraCoder L3 | 5.156 GB | 8.468B | Not recorded | — | 11.644 GB | Get weights |
| Granite 4.2 8B | 5.348 GB | 8.792B | 74.04 | 13.845 | 11.452 GB | Get weights Score source |
| K2 Horizon 7B | 5.592 GB | 8.999B | Not recorded | — | 11.208 GB | Get weights |
| Qwythos-9B Claude Mythos 5 1M | 5.629 GB | 8.954B | Not recorded | — | 11.171 GB | Get weights |
| RapidChat 9B | 5.629 GB | 9.41B | Not recorded | — | 11.171 GB | Get weights |
| APUS Reflex 9B | 5.629 GB | 9.41B | Not recorded | — | 11.171 GB | Get weights |
| OpenMobile-2 9B | 5.629 GB | 8.954B | Not recorded | — | 11.171 GB | Get weights |
| Qwen3.5-9B | 5.681 GB | 9.653B | 82.5 | 14.523 | 11.119 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 | — | 11.02 GB | Get weights |
| Index-Translate-9B | 5.78 GB | 9.653B | Not recorded | — | 11.02 GB | Get weights |
| Ornith-1.5-9B | 5.78 GB | 9.197B | Not recorded | — | 11.02 GB | Get weights |
| MiMo-V2.6-Distill-Qwen-9B | 5.841 GB | 8.954B | Not recorded | — | 10.959 GB | Get weights |
| Ternary Bonsai 2 27BCustom Prism llama.cpp kernels required; check backend support. | 5.947 GB | 26.896B | Not recorded | — | 10.853 GB | Get weights |
| Ternary Bonsai 2 27B Abliterated (BoldingBuilds) | 5.947 GB | 26.896B | Not recorded | — | 10.853 GB | Get weights |
| Mitsuba-ComfyUI-27B | 5.998 GB | 27.321B | Not recorded | — | 10.802 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 | — | 10.759 GB | Get weights |
| gemma-4-12B-it | 7.122 GB | 11.96B | 77.2 | 10.84 | 9.678 GB | Get weights Score source |
| Ternary Bonsai 27BCustom Prism llama.cpp kernels required; check backend support. | 7.165 GB | 26.896B | Not recorded | — | 9.635 GB | Get weights |
| Swift Bonsai 2 27B (PQ2_0) | 7.206 GB | 26.896B | Not recorded | — | 9.594 GB | Get weights |
| Mistral-Nemo-Instruct-2407 | 7.477 GB | 12.248B | Not recorded | — | 9.323 GB | Get weights |
| Mellum2.1 12B A2.5B Thinking | 8.071 GB | 12.15B | Not recorded | — | 8.729 GB | Get weights |
| Gmcoder 9B | 9.786 GB | 8.954B | Not recorded | — | 7.014 GB | Get weights |
| Qwen3.8-27B-GSQ-RCO-GGUF | 10.094 GB | 26.896B | Not recorded | — | 6.706 GB | Get weights |
| Humanizer 12B RLRt2 | 12.67 GB | 11.907B | Not recorded | — | 4.13 GB | Get weights |
| Winnow 12B | 12.67 GB | 11.96B | Not recorded | — | 4.13 GB | Get weights |
| GLM-4.7-Flash-REAP-23B-A3B | 14.114 GB | 22.996B | Not recorded | — | 2.686 GB | Get weights |
| LFM2.5-24B-A2B | 14.526 GB | 23.972B | Not recorded | — | 2.274 GB | Get weights |
| Qwen3.8-27B | 16.464 GB | 27.781B | Not recorded | — | 0.336 GB | Get weights |
| OpenMobile-2 27B | 16.547 GB | 26.896B | Not recorded | — | 0.253 GB | Get weights |
| OpenJev 27B | 16.547 GB | 26.896B | Not recorded | — | 0.253 GB | Get weights |
| ThakiCloud RAG-Gate-27B | 16.547 GB | 27.321B | Not recorded | — | 0.253 GB | Get weights |
| Lumma-Fev-27B | 16.547 GB | 26.085B | Not recorded | — | 0.253 GB | Get weights |
| Qwen3.8 27B Humanlike Chat 2.0 | 16.559 GB | 26.896B | Not recorded | — | 0.241 GB | Get weights |
| Qwen3.5-27B | 16.741 GB | 27.781B | 86.1 | 5.143 | 0.059 GB | Get weights Score source |
Additional candidates with 24 GB dedicated VRAM
The 19.2 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 |
|---|---|---|---|---|---|---|
| Qwen3.8-27B Uncensored (JonathanColetti) | 16.811 GB | 27.321B | Not recorded | — | 2.389 GB | Get weights |
| InnoSpark3.1-27B-1008 | 16.811 GB | 27.781B | Not recorded | — | 2.389 GB | Get weights |
| Qwen3.6-27B | 16.817 GB | 27.781B | 86.2 | 5.126 | 2.383 GB | Get weights Score source |
| Holo4-27B | 16.875 GB | 27.357B | Not recorded | — | 2.325 GB | Get weights |
| gemma-4-26B-A4B-it | 16.948 GB | 25.806B | 82.6 | 4.874 | 2.252 GB | Get weights Score source |
| Swift 1.5 Qwen3.8-27B | 17.442 GB | 27.321B | Not recorded | — | 1.758 GB | Get weights |
| ThinkingCap Qwen3.8-27B | 17.442 GB | 27.321B | Not recorded | — | 1.758 GB | Get weights |
| Swift-Qwen3.8-27b | 17.442 GB | 27.781B | 84.95 | 4.87 | 1.758 GB | Get weights Score source |
| Cloudflare Clef 27BDecision 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. | 17.652 GB | 26.896B | Not recorded | — | 1.548 GB | Get weights |
| GLM-4.7-Flash | 18.312 GB | 31.221B | Not recorded | — | 0.888 GB | Get weights |
| gemma-4-31B-it | 18.324 GB | 31.273B | 85.2 | 4.65 | 0.876 GB | Get weights Score source |
| Qwen3-30B-A3B-Instruct-2507 | 18.557 GB | 30.532B | 78.4 | 4.225 | 0.643 GB | Get weights Score source |
| Qwen3-30B-A3B-Thinking-2507 | 18.557 GB | 30.532B | 80.9 | 4.36 | 0.643 GB | Get weights Score source |
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.
- Apple Mac mini M4 Pro (2024) · 24 GB unified memory
- Apple Mac mini M6 · 24GB · 24 GB unified memory
- Apple Mac mini M5 Pro · 24GB · 24 GB unified memory
- Apple MacBook Pro 14 M5 Pro · 24GB · 24 GB unified memory
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.