Gemma 4 12B GPU requirements: 5.98 GB at 4-bit, 23.9 GB at BF16
Gemma 4 12B needs 23.9 GB of GPU memory for its weights at BF16, 12.0 GB at FP8 and 5.98 GB at 4-bit, plus 0.6 GB of KV cache for a 32K context. The cheapest node that runs it here is 1× RTX 3070 at 4-bit, for $0.03 an hour on spot.
Weights plus a 32K 16-bit KV cache, with 10% of the node's memory kept free. Billed per minute.
- Parameters
- 12BDense
- Weights, 4-bit
- 5.98 GBBF16: 23.9 GB
- KV cache, 32K
- 0.6 GBOne sequence, 16-bit cache
- Context window
- 256KNative
How much VRAM Gemma 4 12B needs, format by format.
Weights are parameters × bytes per parameter. Each context column adds the KV cache of one sequence of that length.
| Format | Weights | + 8Kcontext | + 32Kcontext | + 128Kcontext | + 256Kcontext | Cheapest node, 32K |
|---|---|---|---|---|---|---|
| BF16Published weights, fine-tuning | 23.9 GB | 24.3 GB | 24.5 GB | 25.3 GB | 26.4 GB | 1× V100 32GB · $0.06/h |
| FP8Hopper, Ada, Blackwell, MI300 | 12.0 GB | 12.4 GB | 12.6 GB | 13.4 GB | 14.4 GB | 1× L4 · $0.05/h |
| 4-bitAWQ, GPTQ, GGUF Q4 | 5.98 GB | 6.38 GB | 6.58 GB | 7.39 GB | 8.46 GB | 1× RTX 3070 · $0.03/h |
The serving engine adds its own buffers, and an 8-bit KV cache halves the context columns. We keep 10% of a node's memory free when we say a model fits. Speed is a separate question: it follows memory bandwidth and, for a mixture of experts, the active parameters.
GPUs that run Gemma 4 12B, cheapest first.
For each format, the smallest node of each GPU model that holds the weights and a 32K context, sorted by spot price. One row per GPU model; larger nodes of the same GPU work too.
| Format | GPU | GPU memory | Spot | On-demand | 730 h spot | Action |
|---|---|---|---|---|---|---|
| 4-bit | 1× RTX 3070Ampere · 6.58 GB needed | 8 GB | $0.03 | $0.05 | $21.90 | Deploy |
| 4-bit | 1× RTX 3080Ampere · 6.58 GB needed | 10 GB | $0.03 | $0.06 | $21.90 | Deploy |
| 4-bit | 1× RTX A4000Ampere · 6.58 GB needed | 16 GB | $0.03 | $0.05 | $21.90 | Deploy |
| 4-bit | 1× RTX 4070Ada Lovelace · 6.58 GB needed | 12 GB | $0.04 | $0.06 | $29.20 | Deploy |
| FP8 | 1× L4Ada Lovelace · 12.6 GB needed | 24 GB | $0.05 | $0.08 | $36.50 | Deploy |
| FP8 | 1× RTX 5080Blackwell · 12.6 GB needed | 16 GB | $0.06 | $0.09 | $43.80 | Deploy |
| FP8 | 1× RTX 5070 TiBlackwell · 12.6 GB needed | 16 GB | $0.06 | $0.09 | $43.80 | Deploy |
| FP8 | 1× RTX 4080 SUPERAda Lovelace · 12.6 GB needed | 16 GB | $0.06 | $0.09 | $43.80 | Deploy |
| BF16 | 1× V100 32GBVolta · 24.5 GB needed | 32 GB | $0.06 | $0.09 | $43.80 | Deploy |
| BF16 | 2× RTX A4000Ampere · 24.5 GB needed | 32 GB | $0.06 | $0.10 | $43.80 | Deploy |
| BF16 | 1× A40Ampere · 24.5 GB needed | 48 GB | $0.06 | $0.09 | $43.80 | Deploy |
| BF16 | 2× T4Turing · 24.5 GB needed | 32 GB | $0.08 | $0.14 | $58.40 | Deploy |
Spot capacity can be reclaimed with a 2-minute notice; for a live endpoint, use on-demand. How spot works · serving a language model.
What a long context costs in memory.
8 global layers (1 KV head of 512, keys and values shared) and 40 local layers with a 1024-token window.
| Context | KV cache, 1 sequence | 8 sequences |
|---|---|---|
| 8K tokens | 0.4 GB | 3.22 GB |
| 32K tokens | 0.6 GB | 4.83 GB |
| 128K tokens | 1.41 GB | 11.3 GB |
| 256K tokens | 2.48 GB | 19.9 GB |
Serving several users
KV cacheEvery concurrent request keeps its own cache, so memory for context grows with users × context length. A server batching 8 requests of 32K needs eight times the single-sequence figure — 4.83 GB here.
- Recommended node1× RTX 3070
- Weights at 4-bit5.98 GB
- Context that fits, 1 sequence105K
Paged attention (vLLM, SGLang) allocates the cache in blocks as requests grow, so a node holds more short requests than the worst case suggests.
Gemma 4 12B, as published.
- Developer
- GoogleMid-size dense Gemma 4
- Parameters
- 12B
- Architecture
- Dense model, 48 layers8 global layers (1 KV head of 512, keys and values shared) and 40 local layers with a 1024-token window
- Context window
- 262,144 tokensAs set in the published configuration
- Published format
- BF16, 23.9 GB
- Licence
- Apache 2.0
- Released
- 23 May 2026
- Source
- google/gemma-4-12B-itconfig.json read 26 October 2026
Serve it with vLLM
template: vLLMOn 1× RTX 3070, from the instance terminal:
$ vllm serve google/gemma-4-12B-it \ --tensor-parallel-size 1 \ --max-model-len 32768
Very recent architectures need a recent vLLM; the model card gives the minimum version and any extra flags.
Gemma 4 12B on a GPU — the questions that come up
How much VRAM does Gemma 4 12B need?
For the weights alone: 23.9 GB at BF16, 12.0 GB at FP8 and 5.98 GB at 4-bit. Add 0.6 GB of KV cache for one 32K-token context, or 2.48 GB at the full 256K window, and keep about 10% of the memory free for activations.
Can Gemma 4 12B run on a single GPU?
One RTX 4090 (24 GB): yes, at FP8. One RTX 5090 (32 GB): yes, at BF16. One H100 SXM (80 GB): yes, at BF16. One H200 SXM (141 GB): yes, at BF16. One B200 SXM (180 GB): yes, at BF16. Those answers assume a 32K context and the widest format that still fits.
What is the cheapest way to run Gemma 4 12B?
Here, 1× RTX 3070 at 4-bit: $0.03 per hour on spot and $0.05 on-demand, billed per minute — $21.90 for a 730-hour month on spot. That node has 8 GB of GPU memory for the 6.58 GB this setup needs.
How long a context fits on the recommended node?
With the weights at 4-bit on 1× RTX 3070, the remaining memory holds a 16-bit KV cache for about 107,965 tokens of context for one sequence (105K). An 8-bit KV cache doubles that; serving several users at once divides it between them.
Which format should I run it in?
BF16 keeps the published weights untouched and is the format for fine-tuning. FP8 halves the memory and runs in hardware on Hopper, Ada, Blackwell and MI300-class GPUs. 4-bit quantisation (AWQ, GPTQ, GGUF) quarters it, at a quality cost that is larger on small models than on big ones; check it against your own evaluation before relying on it.
How do I deploy it?
Pick the node in the table above and launch it with the vLLM template; the model downloads from Hugging Face (google/gemma-4-12B-it) on first start. Spread the weights over the node with --tensor-parallel-size equal to the GPU count, and set --max-model-len to the context you need. New architectures need a recent vLLM: check the model card for the minimum version.
Sizing another model? GPU requirements for 64 open models · serving a language model · fine-tuning.
Gemma 4 12B on 1× RTX 3070 for $0.03 an hour.
Launch the node with the vLLM template, point it at google/gemma-4-12B-it, stop it when you are done. Prepaid, billed by the minute.
Billed per minute from the moment the instance is reachable. Minimum credit $30, no subscription.