DATA-DRIVEN MODEL COMPARISON
Best local LLMs for 4 GB RAM or VRAM
28 catalog weight sets fit the 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.
4 GB: weight budgets
| Memory pool | Capacity | Weight budget | Reserved space | Candidate files |
|---|---|---|---|---|
| System RAM / unified memory | 4 GB | 2 GB | 2 GB | 28 |
| Dedicated VRAM | 4 GB | 3 GB | 1 GB | 49 |
Compared with a smaller memory pool, this tier adds 28 weight-budget candidates: Vela Lumen v1.1, PicoLM 80M, PicoLM v2 81M, PicoLM v2.1 81M, LFM2.5 230M, Udgam 384M Chat, Quill 1 Preview, Switchboard Router 0.5B v0.1 and more in the tables below. A smaller model can still be the better trade-off.
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: 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 |
|---|---|---|---|---|---|---|
| LFM2.5 230M | 0.153 GB | 0.23B | 20.25 | 132.002 | 1.847 GB | Get weights Score source |
| MiniCPM5 2B | 1.561 GB | 2.517B | 70.8 | 45.346 | 0.439 GB | Get weights Score source |
| LFM2.5 2.6B | 1.674 GB | 2.697B | 65.2 | 38.938 | 0.326 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 |
|---|---|---|---|---|---|---|
| K2 Horizon 0.9B | 0.666 GB | 1.078B | 37.4 | 56.141 | 1.334 GB | Get weights Score source |
| MiniCPM5 2B | 1.561 GB | 2.517B | 69.1 | 44.257 | 0.439 GB | Get weights Score source |
| LFM2.5 2.6B | 1.674 GB | 2.697B | 59.41 | 35.48 | 0.326 GB | Get weights Score source |
All 28 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 | — | 1.857 GB | Get weights |
| LFM2.5 230M | 0.153 GB | 0.23B | 20.25 | 132.002 | 1.847 GB | Get weights Score source |
| PicoLM 80M | 0.18 GB | 0.09B | Not recorded | — | 1.82 GB | Get weights |
| PicoLM v2 81M | 0.193 GB | 0.096B | Not recorded | — | 1.807 GB | Get weights |
| PicoLM v2.1 81M | 0.193 GB | 0.096B | Not recorded | — | 1.807 GB | Get weights |
| Udgam 384M Chat | 0.238 GB | 0.384B | Not recorded | — | 1.762 GB | Get weights |
| Quill 1 PreviewCode-completion model; not a general chat model. | 0.398 GB | 0.494B | Not recorded | — | 1.602 GB | Get weights |
| Liquid AI d1-omni-600M | 0.407 GB | 0.587B | Not recorded | — | 1.593 GB | Get weights |
| LightOnOCR-3 0.8B | 0.529 GB | 0.853B | Not recorded | — | 1.471 GB | Get weights |
| Satella-RAG 0.8B | 0.593 GB | 0.773B | Not recorded | — | 1.407 GB | Get weights |
| K2 Horizon 0.9B | 0.666 GB | 1.078B | Not recorded | — | 1.334 GB | Get weights |
| MiniCPM-V 4.7 1B | 0.672 GB | 1.006B | Not recorded | — | 1.328 GB | Get weights |
| OneJev 1.5 0.8B | 0.672 GB | 1.007B | Not recorded | — | 1.328 GB | Get weights |
| d3-edge 0.6B | 0.806 GB | 0.748B | Not recorded | — | 1.194 GB | Get weights |
| Switchboard Router 0.5B v0.1 | 0.994 GB | 0.494B | Not recorded | — | 1.006 GB | Get weights |
| Spark X2.5 1.7B | 1.107 GB | 1.708B | Not recorded | — | 0.893 GB | Get weights |
| Curious 2B | 1.215 GB | 1.882B | Not recorded | — | 0.785 GB | Get weights |
| Noema 1.5 2B | 1.274 GB | 1.882B | Not recorded | — | 0.726 GB | Get weights |
| StartLux-Decision-v1-2B | 1.274 GB | 1.882B | Not recorded | — | 0.726 GB | Get weights |
| Arm-optimized Qwen3.5-2B | 1.274 GB | 1.882B | Not recorded | — | 0.726 GB | Get weights |
| Empero Qwen3.8 2B | 1.312 GB | 2.274B | Not recorded | — | 0.688 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 | — | 0.688 GB | Get weights |
| MiniCPM5 abliterated v2 | 1.561 GB | 2.517B | Not recorded | — | 0.439 GB | Get weights |
| MiniCPM5 2B | 1.561 GB | 2.517B | 70.8 | 45.346 | 0.439 GB | Get weights Score source |
| ColGrep-Agent-2B | 1.561 GB | 2.517B | Not recorded | — | 0.439 GB | Get weights |
| LFM2.5 2.6B | 1.674 GB | 2.697B | 65.2 | 38.938 | 0.326 GB | Get weights Score source |
| DFM Mimir | 1.913 GB | 1.787B | Not recorded | — | 0.087 GB | Get weights |
| TwIL LM3 | 1.915 GB | 3.075B | Not recorded | — | 0.085 GB | Get weights |
Additional candidates with 4 GB dedicated VRAM
The 3 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 |
|---|---|---|---|---|---|---|
| Noema 2B | 2.012 GB | 1.882B | 51.1 | 25.397 | 0.988 GB | Get weights Score source |
| Josev-2B | 2.045 GB | 1.912B | Not recorded | — | 0.955 GB | Get weights |
| Limite 1B - ViolettoBF16 Safetensors; custom code or vLLM plugin. Single-turn math specialist. | 2.071 GB | 1B | Not recorded | — | 0.929 GB | Get weights |
| Granite 4.2 3B | 2.244 GB | 3.66B | 67.84 | 30.232 | 0.756 GB | Get weights Score source |
| webAI TwIL-LM3-Pro | 2.244 GB | 3.66B | Not recorded | — | 0.756 GB | Get weights |
| OpenDecider-small-td | 2.497 GB | 4.022B | Not recorded | — | 0.503 GB | Get weights |
| Clary 2 Cyber Heavy | 2.497 GB | 4.022B | Not recorded | — | 0.503 GB | Get weights |
| RefinedToolCall v5 | 2.538 GB | 3.086B | Not recorded | — | 0.462 GB | Get weights |
| grug 3B | 2.575 GB | 4.17B | Not recorded | — | 0.425 GB | Get weights |
| Spark X2.5 4B | 2.6 GB | 4.112B | Not recorded | — | 0.4 GB | Get weights |
| Granite concision edit | 2.673 GB | 1.335B | Not recorded | — | 0.327 GB | Get weights |
| Nanbeige 4.2 3B | 2.684 GB | 4.17B | Not recorded | — | 0.316 GB | Get weights |
| Wald-Q4B v2.1 | 2.709 GB | 4.66B | Not recorded | — | 0.291 GB | Get weights |
| NeoHorse 1 4B | 2.709 GB | 4.206B | Not recorded | — | 0.291 GB | Get weights |
| APUS Reflex 4B | 2.709 GB | 4.206B | Not recorded | — | 0.291 GB | Get weights |
| Afrique Qwen v2 | 2.709 GB | 4.206B | Not recorded | — | 0.291 GB | Get weights |
| Agents A1 4B | 2.709 GB | 4.539B | Not recorded | — | 0.291 GB | Get weights |
| Qwen3.5-4B | 2.741 GB | 4.206B | 79.1 | 28.859 | 0.259 GB | Get weights Score source |
| Empero Qwen3.8 4B | 2.783 GB | 4.66B | Not recorded | — | 0.217 GB | Get weights |
| FrogNano-4B-2609 | 2.798 GB | 4.326B | Not recorded | — | 0.202 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 | — | 0.125 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 J3010 · 4 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.