Software Ownership

How to Run Frontier AI Models Locally on Consumer Hardware

You don't need a rented API to get a real model talking back. Here's exactly what fits on a 12GB card, and how to make it fast.

Minimal ink-and-crimson illustration of a consumer GPU tower with a glowing circuit pattern, representing local AI hardware ownership

The short answer

On 12GB of VRAM you can comfortably run a 12 to 14 billion parameter model at 4-bit quantization, using Ollama or llama.cpp with a GGUF file. That covers models like Qwen3 14B, Gemma 3 12B, Phi-4 14B, and DeepSeek-R1-Distill-Qwen-14B at roughly 10 to 12GB of VRAM including context.1 A bigger model like the 27B-class Qwen releases needs 24GB, not 12, so getting the sizing right up front saves you a wasted evening.2

Here's the whole path: pick a model sized for your card, pick a 4-bit GGUF quant, install Ollama or llama.cpp, pull the model, and tune context length and GPU layer offload until it fits without spilling into system RAM.

Step 1: Match the model to your VRAM, not the other way around

The rule of thumb that holds up across benchmarks: budget about 0.5 to 0.7GB of VRAM per billion parameters at Q4_K_M quantization, once you add the KV cache and runtime overhead.1 On a 12GB card that puts the ceiling around 14B parameters. Real measured numbers back this up:

  • Qwen3 14B at Q4_K_M: 9GB file, about 10.7GB VRAM at 8k context
  • Phi-4 14B at Q4_K_M: 9GB file, about 11GB VRAM at 8k context
  • GPT-OSS 20B at Q4_K_M: 11.6GB file, about 12GB VRAM at 8k context, right at the edge
  • Qwen3 32B at Q4_K_M: 19.8GB file, about 22.2GB VRAM, does not fit on 12GB1

The temptation is to reach for a bigger, more capable model and assume quantization will bail you out. It usually won't. One detailed build breakdown of a 27B-class Qwen model found that even the smallest usable 4-bit quant left only 0.6GB of headroom on a 16GB card, less than the KV cache alone needs at normal context lengths, meaning the model spills into system RAM and crawls.2 Don't fight that math. Pick the model that actually fits.

Step 2: Understand what quantization actually costs you

Q4_K_M is the mainstream sweet spot because it keeps most of a model's capability while cutting memory by roughly 75% versus full FP16 precision.1 But it isn't free. Expect measurable degradation on hard reasoning, long multi-step agent tasks, and low-resource languages, along with more run-to-run variance on the same prompt.2 Published benchmark scores are almost always measured at full precision, so your local 4-bit build will not reproduce them exactly.

If you have headroom, Q5_K_M and Q6_K get you closer to full quality at a real VRAM cost. Below Q4, quality degrades sharply and becomes unpredictable enough that most guides recommend avoiding Q3 and Q2 outside of tight memory emergencies.1

Step 3: Install and run it

Ollama is the fastest path from zero to a working local model:

curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen3:14b
ollama run qwen3:14b

If you want a specific quantization instead of Ollama's default pick, pull it explicitly:

ollama run qwen3:14b-q4_K_M

For more control, llama.cpp lets you set the exact number of layers offloaded to GPU with --n-gpu-layers (or -ngl). Start at 99 to push everything onto the GPU, then drop the number if you hit an out-of-memory error:

llama-server -m qwen3-14b-q4_k_m.gguf --n-gpu-layers 99 --ctx-size 8192

Verify the GPU is actually doing the work, not silently falling back to CPU:

nvidia-smi -l 1

Watch VRAM climb when the model loads. If it doesn't move, your build isn't using CUDA.

Step 4: Tune context length before you tune anything else

Context window size is the quiet VRAM tax most people miss. KV cache memory grows linearly with context length, and for an 8B model it climbs from roughly 0.3GB at 2K tokens to 5GB at 32K and 20GB at 128K.1 A 14B model follows the same curve, just steeper. If a model that should fit on 12GB won't load, the fix is often not the model, it's the context.

ollama run qwen3:14b
/set parameter num_ctx 4096

Dropping from an 8K to a 4K window can free 0.2 to 0.4GB on a 7-8B model, more on bigger ones.1 You can also quantize the KV cache itself:

export OLLAMA_FLASH_ATTENTION=1
export OLLAMA_KV_CACHE_TYPE=q8_0

Q8_0 roughly halves KV cache memory with minimal quality loss. Q4_0 cuts it further but is more likely to visibly hurt output quality, so treat it as a last resort rather than a default.1

What happens if the model doesn't fit

Ollama will automatically spill excess layers into system RAM rather than crash. That keeps things running, but the performance hit is brutal: real benchmarks show a model dropping from 40+ tokens per second fully on GPU to around 8 tokens per second with a third of its layers pushed to CPU, a 5x slowdown from partial offload alone, and up to 20x in worse cases.1 If you see generation speed fall off a cliff, that's your signal: the model is bigger than your VRAM allows, full stop. Drop to a smaller model or a lower quant rather than accepting the RAM-overflow tax.

Why Linux matters here, and what's changing

Running local models on Linux has a real, measurable advantage over Windows for VRAM-constrained setups, and it's about to get better. Valve's Linux graphics team spent 2026 fixing a class of bugs where GPU memory protections failed to hold under pressure, where allocations meant to stay in fast VRAM would get bumped into slower system memory the moment another process crowded the card.3 The fix, a set of changes to the kernel's TTM memory manager and device memory cgroup code, went through eight rounds of review before landing for the Linux 7.3 merge window.3 Instead of immediately giving up and falling back to slower memory when VRAM gets tight, the kernel now tries evicting lower-priority allocations first, so the workload that actually needs VRAM keeps it.4

The same engineer's testing found that even a full gigabyte of VRAM overcommit on an 8GB card still produced playable, usable performance once the eviction logic was tuned correctly.4 For local inference, where you're often running right at the edge of your VRAM budget with a browser and desktop environment also competing for it, that headroom matters. It's one more reason a Linux box, not a repurposed Windows gaming rig, is the more serious choice for a dedicated local-inference machine.

The real cost comparison

Here's the part people skip: pricing out the hardware against just paying for API access. A realistic 12GB build, a used RTX 3060 or similar, decent PSU, 32GB system RAM, runs somewhere in the low hundreds to about $800 depending on what you already own. A 24GB build for bigger models lands around $1,300 to $1,800 all-in at current prices.2 Compare that to a cloud subscription that gives API access to the same model family for a few dollars a month, and the math only favors ownership if you value the things a subscription can't give you: prompts that never leave your machine, no rate limits, no dependency on someone else's uptime, and the ability to fine-tune or run exotic setups nobody's API would allow.2

That's the actual tradeoff. It's not really about upfront cost, it's about whether you want your AI stack to be an asset you own or a bill you pay every month. The same logic that makes teams build internal tools instead of renting another SaaS seat applies here: once you've paid the setup cost, the marginal query is free and the ceiling is yours to raise.

FAQ

Can I run a 12GB VRAM local LLM on Windows or does it need Linux? Ollama and llama.cpp both run fine on Windows with CUDA installed. Linux tends to squeeze more usable VRAM out of the same card because less memory is claimed by the desktop compositor, and recent kernel work specifically improves behavior when VRAM runs tight.34

What's the biggest model I can run on 12GB VRAM? Realistically 12 to 14 billion parameters at Q4_K_M quantization, with a shortened context window. Going bigger means either a lower quant that hurts quality or partial CPU offload that tanks speed.1

Is Q4_K_M quantization noticeably worse than the full model? Yes, but modestly for most everyday use. Expect the gap to show up on hard reasoning and long agentic tasks rather than casual chat or summarization.2

Why does my model run fine at first then slow down mid-conversation? Long conversations grow the KV cache, which consumes VRAM on top of the model weights. Once that combined total exceeds your card's VRAM, Ollama spills into system RAM and speed collapses.1

Do I need a workstation GPU, or will a gaming card work? A gaming card works fine. The RTX 3060 12GB and similar consumer cards are the most commonly cited entry point for this exact VRAM tier.1

Figure 1
VRAM needed at Q4_K_M quantization by model size (8k context)
VRAM usage (GB)
6Llama 3.1 8B11Qwen3 14B11Phi-4 14B12GPT-OSS 20B22Qwen3 32B
Model
Measured GGUF VRAM usage at Q4_K_M, 8k context.
Source: LocalLLM.in
Figure 2
KV cache memory growth by context length (8B model)
KV cache memory (GB)
01020202K32K128K
Context length
Context length is the hidden VRAM cost most people underestimate.
Source: LocalLLM.in
Frequently asked
Can I run a 12GB VRAM local LLM on Windows or does it need Linux?

Ollama and llama.cpp both run fine on Windows with CUDA installed. Linux tends to squeeze more usable VRAM out of the same card since less memory goes to the desktop compositor, and recent kernel work specifically improves behavior when VRAM runs tight.

What's the biggest model I can run on 12GB VRAM?

Realistically 12 to 14 billion parameters at Q4_K_M quantization with a shortened context window. Bigger means a lower quant that hurts quality or partial CPU offload that tanks speed.

Is Q4_K_M quantization noticeably worse than the full model?

Modestly, for most everyday use. The gap shows up more on hard reasoning and long agentic tasks than on casual chat or summarization.

Why does my model run fine at first then slow down mid-conversation?

Long conversations grow the KV cache, which eats VRAM on top of the model weights. Once the total exceeds your card's VRAM, layers spill to system RAM and speed collapses.

Do I need a workstation GPU, or will a gaming card work?

A gaming card works fine. The RTX 3060 12GB and similar consumer cards are the most commonly cited entry point for this exact VRAM tier.

Sources
  1. 1.Ollama VRAM Requirements: Complete 2026 Guide to GPU Memory for Local LLMs — LocalLLM.in
  2. 2.What It Actually Takes to Run Qwen3.8–27B Locally — Alibaba Cloud (Medium)
  3. 3.TTM Memory Management For Graphics To Be More Aggresive With Linux 7.3 — Phoronix
  4. 4.Linux 7.3 To Land Initial Code Improving vRAM Management, More Improvements Coming — Phoronix
Portrait of Priya Nair
Priya Nair
AI Tooling
Priya covers the daily churn of AI agents, coding tools, and what actually ships.
© 2026 The Official Remy BlogDrafted by AI authors, reviewed by human editors.