How to use from the
Use from the
llama-cpp-python library
# !pip install llama-cpp-python

from llama_cpp import Llama

llm = Llama.from_pretrained(
	repo_id="AtomicChat/gemma-4-12B-it-GGUF",
	filename="",
)
llm.create_chat_completion(
	messages = [
		{
			"role": "user",
			"content": [
				{
					"type": "text",
					"text": "Describe this image in one sentence."
				},
				{
					"type": "image_url",
					"image_url": {
						"url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg"
					}
				}
			]
		}
	]
)
Atomic Chat Join Discord GitHub

Gemma 4 12b

Gemma 4 12b, self-quantized to GGUF by Atomic Chat. Built straight from Google's original weights with a per-tensor importance matrix, so this is not a repack of somebody else's files. Runs fully offline.

Highlights

  • 11.95B parameters: the weights this repo quantizes.
  • Context length: 256K tokens, as published by Google.
  • 48 layers: Dense decoder, hybrid sliding-window (1024) and global attention.
  • Modalities: Text, Image, Audio.
  • Full imatrix ladder: every quant is calibrated with an importance matrix, published here alongside the quants.
  • Reasoning: All models in the family are designed as highly capable reasoners, with configurable thinking modes.
  • Diverse & Efficient Architectures: Offers Dense and Mixture-of-Experts (MoE) variants of different sizes for scalable deployment.

These GGUFs are self-quantized from the original weights, not a repack. The importance matrix keeps low-bit quants closer to the full-precision model.

Always pass --jinja so the Gemma 4 12b chat template is applied. Without it the model can emit malformed turns.

Model Overview

Property Value
Base model google/gemma-4-12b-it
Parameters 11.95B
Layers 48
Sliding window 1024 tokens
Context length 256K tokens
Vocabulary 262K
Modalities Text, Image, Audio
Architecture Dense decoder, hybrid sliding-window (1024) and global attention, 16 attention heads over 8 KV heads, Gemma4UnifiedForConditionalGeneration
This repo GGUF quants (imatrix) and a vision mmproj; the importance matrix is published here as imatrix-coding.gguf. Quants: Q2_K, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, Q4_K_S, Q4_K_M, Q5_K_S, Q5_K_M, Q6_K, Q8_0

Gemma 4 12b is multimodal. This repo ships the mmproj-gemma4-12b-f16.gguf vision projector. With -hf it is pulled automatically; otherwise pass --mmproj. Use llama-mtmd-cli or llama-server to feed images.

Gemma 4 12b benchmark scores

Scores are Google's published results for the base google/gemma-4-12b-it, not our own measurements. Quantization preserves the large majority of this; Q4_K_M and up stay close to full precision.

Choosing a quant

Quant Size Notes
Q2_K 4.8 GB Smallest K-quant. Minimal RAM, clear quality drop.
IQ3_M 5.7 GB Beats Q3 at a similar size thanks to imatrix. Best low-RAM pick.
Q3_K_M 6.1 GB Low quality but usable.
Q3_K_L 6.6 GB A step above Q3_K_M.
IQ4_XS 6.6 GB Excellent quality for size. Recommended low-bit.
Q4_K_S 7.0 GB Compact 4-bit, fast.
Q4_K_M 7.4 GB Recommended default. Best balance of size, speed and quality.
Q5_K_S 8.3 GB Higher quality, slightly more compact than Q5_K_M.
Q5_K_M 8.5 GB Higher quality, low loss.
Q6_K 9.8 GB Near lossless, noticeably lighter than Q8_0.
Q8_0 12.7 GB Effectively lossless, reference quality.

Pick the largest file that fits your (V)RAM with room for context. Q4_K_M is the sweet spot for most setups; Q6_K or Q8_0 for maximum fidelity.

Get started

Run Gemma 4 12b locally with:

  • Atomic Chat: the easiest path. Open the app, search AtomicChat/gemma-4-12b-it-GGUF, pick a quant, hit Use this model.
  • llama.cpp: llama-server -hf AtomicChat/gemma-4-12b-it-GGUF:Q4_K_M --jinja -c 8192
  • Ollama: ollama run hf.co/AtomicChat/gemma-4-12b-it-GGUF:Q4_K_M
  • LM Studio / Jan: search the repo id, download any quant.

Best practices

Parameter Value
temperature 1.0
top_p 0.95
top_k 64

Google's recommended sampling configuration for google/gemma-4-12b-it. Pass images through llama-mtmd-cli or llama-server with the projector.

Run in llama.cpp

git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON
cmake --build llama.cpp/build --config Release -j --target llama-cli llama-server
./llama.cpp/build/bin/llama-server \
    -hf AtomicChat/gemma-4-12b-it-GGUF:Q4_K_M \
    --jinja -ngl 99 -c 8192 -fa on

How these were made

  1. Download google/gemma-4-12b-it (original weights).
  2. Convert to f16 GGUF with llama.cpp.
  3. Build an importance matrix over our calibration corpus, published here as imatrix-coding.gguf.
  4. Quantize the ladder with --imatrix.

License

Original model by Google, released under the Apache 2.0 license. Full terms: Apache 2.0. Quantized by Atomic Chat.

Downloads last month
3,799
GGUF
Model size
12B params
Architecture
gemma4
Hardware compatibility
Log In to add your hardware

2-bit

3-bit

4-bit

5-bit

6-bit

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including AtomicChat/gemma-4-12B-it-GGUF