Only with CPU offload

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

35% on GPU 8K context Q4_K_M · 17.6 GB Apache 2.0 Released 2 Apr 2026 Vision

The dense flagship: strongest maths of the 24–32 GB class (89% AIME), clean prose, vision. Q4 is a tight 24 GB fit.

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

Fits instead: Gemma 4 12B (8.2 GB) · Gemma 4 E4B (5.2 GB)

The VRAM budget

weights 17.6 GB
Weights 17.6 GB KV cache @ 8K 2.03 GB Runtime overhead 0.6 GB Over budget 11.4 GB past 8.8 GB

Quantisation ladder

QuantWeightsTotal @ 8KMax contextTok/sQualityFit
Q8_0 31.0 GB 33.6 GB ~1.4 −0.1% ppl 24.8 GB over
Q6_K 23.9 GB 26.5 GB ~2.0 −0.4% ppl 17.7 GB over
Q5_K_M 20.7 GB 23.3 GB ~2.4 −0.8% ppl 14.5 GB over
Q4_K_M 17.6 GB 20.2 GB ~3.0 −1.9% ppl 11.4 GB over
Q3_K_M 14.2 GB 16.9 GB ~4.2 −5.4% ppl 8.1 GB over
Q2_K 12.2 GB 14.8 GB ~5.6 −15% ppl 6.0 GB over

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, 10 of 60 layers global), which is why its cache barely grows with context.

How to run it

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

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

01Download is 17.6 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