Only with CPU offload

Gemma 4 12B at Q4_K_M needs 8.2 GB but only 7.0 GB is addressable, so about 17% of the layers would stream from system RAM at roughly 60 GB/s. Expect around 16 tokens per second — usable for batch work, painful for chat.

83% on GPU 8K context Q4_K_M · 6.7 GB Apache 2.0 Released 29 May 2026 Vision

The "unified" Gemma 4: text, image and audio in one 12B that fits a 12 GB card at Q4. 140+ languages.

What hardware do I need for Gemma 4 12B? →

Fits instead: Gemma 4 E4B (5.2 GB) · Gemma 4 E2B (3.5 GB)

The VRAM budget

weights 6.7 GB
Weights 6.7 GB KV cache @ 8K 0.81 GB Runtime overhead 0.6 GB Over budget 1.2 GB past 7.0 GB

Quantisation ladder

QuantWeightsTotal @ 8KMax contextTok/sQualityFit
F16 22.4 GB 23.8 GB ~2.0 Reference 16.8 GB over
Q8_0 11.9 GB 13.3 GB ~4.9 −0.1% ppl 6.3 GB over
Q6_K 9.2 GB 10.6 GB ~7.7 −0.4% ppl 3.6 GB over
Q5_K_M 7.9 GB 9.3 GB ~10 −0.8% ppl 2.3 GB over
Q4_K_M 6.7 GB 8.2 GB ~16 −1.9% ppl 1.2 GB over
Q3_K_M 5.5 GB 6.9 GB 10K 32 −5.4% ppl Fits
Q2_K 4.7 GB 6.1 GB 22K 37 −15% ppl Long context

Quality is the published perplexity delta against f16 weights. Max context assumes an f16 KV cache; q8_0 roughly doubles it. This model interleaves sliding-window layers (1024 tokens, 8 of 48 layers global), which is why its cache barely grows with context.

How to run it

terminal
$ llama-server \
    -hf google/gemma-4-12B-it:Q4_K_M \
    -c 8192 -ngl 39

The engine underneath most of the others. Every knob is exposed. More on llama.cpp.

01Download is 6.7 GB. Keep it on an SSD — a first load off a spinning disk takes minutes.
02Close anything else holding VRAM. A browser with hardware acceleration can sit on 1–2 GB.
03If it falls back to CPU silently, drop the context first, then step down a quantisation.
See all models for this rig Compare with another model