New B200 spot capacity is live in US East from $1.69 per GPU-hour. See availability →
Google · Dense model · released March 2025

Gemma 3 12B GPU requirements: 6.1 GB at 4-bit, 24.4 GB at BF16

Gemma 3 12B needs 24.4 GB of GPU memory for its weights at BF16, 12.2 GB at FP8 and 6.1 GB at 4-bit, plus 2.48 GB of KV cache for a 32K context. The cheapest node that runs it here is 1× RTX 3080 at 4-bit, for $0.03 an hour on spot.

Architecture read from the model's config.json on Hugging Face, 26 October 2026 · prices from the live catalogue · all 47 GPUs

Cheapest node · 32K context per node-hour, spot
4-bit1× RTX 3080 · 8.58 GB needed $0.03$0.06 on-demand
FP81× L4 · 14.7 GB needed $0.05$0.08 on-demand
BF161× V100 32GB · 26.9 GB needed $0.06$0.09 on-demand

Weights plus a 32K 16-bit KV cache, with 10% of the node's memory kept free. Billed per minute.

Parameters
12.2BDense
Weights, 4-bit
6.1 GBBF16: 24.4 GB
KV cache, 32K
2.48 GBOne sequence, 16-bit cache
Context window
128KNative
Memory by format

How much VRAM Gemma 3 12B needs, format by format.

Weights are parameters × bytes per parameter. Each context column adds the KV cache of one sequence of that length.

GPUs by memory
Format Weights + 8Kcontext+ 32Kcontext+ 128Kcontext Cheapest node, 32K
BF16Published weights, fine-tuning 24.4 GB 25.3 GB26.9 GB33.3 GB 1× V100 32GB · $0.06/h
FP8Hopper, Ada, Blackwell, MI300 12.2 GB 13.1 GB14.7 GB21.1 GB 1× L4 · $0.05/h
4-bitAWQ, GPTQ, GGUF Q4 6.1 GB 6.97 GB8.58 GB15.0 GB 1× RTX 3080 · $0.03/h
Arithmetic on published facts, not a benchmark.

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.

Where it runs

GPUs that run Gemma 3 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.

All prices
Format GPU GPU memory Spot On-demand 730 h spot Action
4-bit 1× RTX 3080Ampere · 8.58 GB needed 10 GB $0.03 $0.06 $21.90 Deploy
4-bit 1× RTX A4000Ampere · 8.58 GB needed 16 GB $0.03 $0.05 $21.90 Deploy
4-bit 1× RTX 4070Ada Lovelace · 8.58 GB needed 12 GB $0.04 $0.06 $29.20 Deploy
4-bit 1× RTX 3080 TiAmpere · 8.58 GB needed 12 GB $0.04 $0.07 $29.20 Deploy
FP8 1× L4Ada Lovelace · 14.7 GB needed 24 GB $0.05 $0.08 $36.50 Deploy
FP8 1× RTX 4000 AdaAda Lovelace · 14.7 GB needed 20 GB $0.06 $0.09 $43.80 Deploy
FP8 1× RTX 4090Ada Lovelace · 14.7 GB needed 24 GB $0.06 $0.09 $43.80 Deploy
FP8 1× RTX PRO 4000 BlackwellBlackwell · 14.7 GB needed 24 GB $0.08 $0.15 $58.40 Deploy
BF16 1× V100 32GBVolta · 26.9 GB needed 32 GB $0.06 $0.09 $43.80 Deploy
BF16 2× RTX A4000Ampere · 26.9 GB needed 32 GB $0.06 $0.10 $43.80 Deploy
BF16 1× A40Ampere · 26.9 GB needed 48 GB $0.06 $0.09 $43.80 Deploy
BF16 2× T4Turing · 26.9 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.

Context and the KV cache

What a long context costs in memory.

8 global layers and 40 local layers with a 1024-token window, 8 KV heads of 256.

Context KV cache, 1 sequence 8 sequences
8K tokens 0.87 GB 6.98 GB
32K tokens 2.48 GB 19.9 GB
128K tokens 8.93 GB 71.4 GB

Serving several users

KV cache

Every 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 — 19.9 GB here.

  • Recommended node1× RTX 3080
  • Weights at 4-bit6.1 GB
  • Context that fits, 1 sequence38K

Paged attention (vLLM, SGLang) allocates the cache in blocks as requests grow, so a node holds more short requests than the worst case suggests.

Model facts

Gemma 3 12B, as published.

Developer
GoogleMid-size multimodal Gemma 3
Parameters
12.2B
Architecture
Dense model, 48 layers8 global layers and 40 local layers with a 1024-token window, 8 KV heads of 256
Context window
131,072 tokensAs set in the published configuration
Published format
BF16, 24.4 GB
Licence
Gemma Terms of Use
Released
12 March 2025
Source
google/gemma-3-12b-itconfig.json read 26 October 2026

Serve it with vLLM

template: vLLM

On 1× RTX 3080, from the instance terminal:

terminal
$ vllm serve google/gemma-3-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.

FAQ

Gemma 3 12B on a GPU — the questions that come up

How much VRAM does Gemma 3 12B need?

For the weights alone: 24.4 GB at BF16, 12.2 GB at FP8 and 6.1 GB at 4-bit. Add 2.48 GB of KV cache for one 32K-token context, or 8.93 GB at the full 128K window, and keep about 10% of the memory free for activations.

Can Gemma 3 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 3 12B?

Here, 1× RTX 3080 at 4-bit: $0.03 per hour on spot and $0.06 on-demand, billed per minute — $21.90 for a 730-hour month on spot. That node has 10 GB of GPU memory for the 8.58 GB this setup needs.

How long a context fits on the recommended node?

With the weights at 4-bit on 1× RTX 3080, the remaining memory holds a 16-bit KV cache for about 39,206 tokens of context for one sequence (38K). 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-3-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.

Get started

Gemma 3 12B on 1× RTX 3080 for $0.03 an hour.

Launch the node with the vLLM template, point it at google/gemma-3-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.