Dhptl/gemma-4-12B-GGUF overview
<div align="center" gemma 4 12B ā GGUF Quantizations VLM Model on HF https://img.shields.io/badge/š¤ Model on HuggingFace yellow https://huggingface.co/Dhptl/gā¦
Runs locally from ~116.4 MB disk (4 GB VRAM class GPUs with llama.cpp / guIDE).
Repository Files & Downloads
| File | Type | Quantization | Size | Link |
|---|---|---|---|---|
| gemma-4-12B-IQ4_XS.gguf | GGUF | IQ4_XS | 6.23 GB | Download |
| gemma-4-12B-Q2_K.gguf | GGUF | Q2_K | 4.50 GB | Download |
| gemma-4-12B-Q3_K_L.gguf | GGUF | Q3_K_L | 6.12 GB | Download |
| gemma-4-12B-Q3_K_M.gguf | GGUF | Q3_K_M | 5.67 GB | Download |
| gemma-4-12B-Q3_K_S.gguf | GGUF | Q3_K_S | 5.15 GB | Download |
| gemma-4-12B-Q4_K_M.gguf | GGUF | Q4_K_M | 6.87 GB | Download |
| gemma-4-12B-Q4_K_S.gguf | GGUF | Q4_K_S | 6.54 GB | Download |
| gemma-4-12B-Q5_K_M.gguf | GGUF | Q5_K_M | 7.96 GB | Download |
| gemma-4-12B-Q5_K_S.gguf | GGUF | Q5_K_S | 7.77 GB | Download |
| gemma-4-12B-Q6_K.gguf | GGUF | Q6_K | 9.11 GB | Download |
| gemma-4-12B-Q8_0.gguf | GGUF | Q8_0 | 11.80 GB | Download |
| gemma-4-12B-mmproj-f16.gguf | GGUF | F16 | 116.4 MB | Download |
Model Details
| Model ID | Dhptl/gemma-4-12B-GGUF |
|---|---|
| Author | Dhptl |
| Pipeline | image-text-to-text |
| License | apache-2.0 |
| Base model | google/gemma-4-12B |
| Last modified | 2026-06-19T13:44:50.000Z |
Model README
---
license: apache-2.0
base_model: google/gemma-4-12B
pipeline_tag: image-text-to-text
tags:
- safetensors
- region:us
- vlm
- transformers
- multimodal
- gemma4_unified
- license:apache-2.0
- gguf
- vision
- quantized
- image-text-to-text
- any-to-any
language:
- en
---
<div align="center">
gemma-4-12B ā GGUF Quantizations (VLM)



Quantized GGUF versions of google/gemma-4-12B
This is a Vision-Language Model (VLM) ā it can understand both text and images.
Works with llama.cpp Ā· LM Studio Ā· Jan Ā· Ollama
Quantized by Dhptl on June 19, 2026 using quant-kit
</div>
---
> [!IMPORTANT]
> This VLM requires TWO files ā a text backbone GGUF and the mmproj vision encoder GGUF.
> Download one text backbone (e.g. Q4_K_M) and the mmproj file. Both must be in the same folder.
---
š¦ Available Files
š¤ Text Backbone (quantized ā pick ONE)
| Filename | Size | RAM Required | Quant | Quality | Best For |
|---|---|---|---|---|---|
| gemma-4-12B-Q2_K.gguf | 4.50 GB | ~6.0 GB | Q2_K | ā | Extreme compression, significant quality loss. |
| gemma-4-12B-Q3_K_L.gguf | 6.12 GB | ~7.6 GB | Q3_K_L | āāā | Slightly better than Q3_K_M, still a compromise. |
| gemma-4-12B-Q3_K_M.gguf | 5.67 GB | ~7.2 GB | Q3_K_M | āāā | Very small file. Quality drop noticeable. |
| gemma-4-12B-Q3_K_S.gguf | 5.15 GB | ~6.6 GB | Q3_K_S | āā | Very high compression, high quality loss. |
| gemma-4-12B-Q4_K_M.gguf | 6.87 GB | ~8.4 GB | Q4_K_M ā
Recommended | āāāā | Best balance of size and quality. Recommended for most users. |
| gemma-4-12B-Q4_K_S.gguf | 6.54 GB | ~8.0 GB | Q4_K_S | āāā½ | Good speed/size balance, slight quality loss. |
| gemma-4-12B-Q5_K_M.gguf | 7.96 GB | ~9.5 GB | Q5_K_M | āāāā½ | Better quality than Q4, slightly larger. Great if you have the RAM. |
| gemma-4-12B-Q5_K_S.gguf | 7.77 GB | ~9.3 GB | Q5_K_S | āāāā | Large but accurate. |
| gemma-4-12B-Q6_K.gguf | 9.11 GB | ~10.6 GB | Q6_K | āāāāā | Near-perfect quality, very large. |
| gemma-4-12B-Q8_0.gguf | 11.80 GB | ~13.3 GB | Q8_0 | āāāāā | Closest to original quality. Use when RAM is not a concern. |
š¼ļø Vision Encoder ā mmproj (always required, always F16)
| Filename | Size | Notes |
|---|---|---|
| gemma-4-12B-mmproj-f16.gguf | 0.11 GB | Always F16 ā vision encoder is not quantized |
> ā ļø You need BOTH files ā one text backbone + the mmproj ā to run this VLM.
---
ā” Speed Benchmarks
Run python benchmark.py --model gemma-4-12B to generate results.
---
š How to Use
LM Studio (Easiest ā GUI)
- Search for
Dhptl/gemma-4-12Bin LM Studio - Download the Q4_K_M text file and the mmproj file
- Load the model ā LM Studio automatically uses both files
Ollama
ollama run dhptl/gemma-4-12b
llama.cpp CLI ā Text + Image
# Download both files to the same directory, then:
./llama-llava-cli \
-m gemma-4-12B-Q4_K_M.gguf \
--mmproj gemma-4-12B-mmproj-f16.gguf \
--image /path/to/your/image.jpg \
-p "Describe this image in detail." \
-n 512
llama.cpp CLI ā Text only (no image)
./llama-cli \
-m gemma-4-12B-Q4_K_M.gguf \
-p "You are a helpful assistant." \
--conversation
Python ā llama-cpp-python
from llama_cpp import Llama
from llama_cpp.llama_chat_format import Llava16ChatHandler
# Load VLM with mmproj
chat_handler = Llava16ChatHandler(clip_model_path="./gemma-4-12B-mmproj-f16.gguf")
llm = Llama(
model_path="./gemma-4-12B-Q4_K_M.gguf",
chat_handler=chat_handler,
n_gpu_layers=-1,
n_ctx=4096,
logits_all=True,
)
# Text + image inference
response = llm.create_chat_completion(
messages=[
{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}},
{"type": "text", "text": "What do you see in this image?"}
]
}
]
)
print(response["choices"][0]["message"]["content"])
---
š VLM Architecture
This model uses a two-component architecture:
| Component | File | Purpose |
|---|---|---|
| Text Backbone | gemma-4-12B-Q4_K_M.gguf | Language understanding & generation |
| Vision Encoder (mmproj) | gemma-4-12B-mmproj-f16.gguf | Image feature extraction (always F16) |
> Why is mmproj always F16?
> The vision encoder maps image pixels to token embeddings. Quantizing it causes
> visible visual artifacts and degraded image understanding. It stays at F16 (half precision)
> which is already very efficient at ~1-2GB for most models.
---
š About GGUF Quantization
| Format | Bits/weight | Quality |
|---|---|---|
| Q3_K_M | ~3.3 | āāā |
| Q4_K_M | ~4.5 | āāāā ā recommended |
| Q5_K_M | ~5.6 | āāāā½ |
| Q8_0 | ~8.5 | āāāāā |
---
š¬ Community & Feedback
Found an issue? Open a Discussion in the Community tab.
If useful, please:
- ā Star quant-kit on GitHub
- š Like this model on HuggingFace
Run Dhptl/gemma-4-12B-GGUF with guIDE
Download guIDE ā the AI-native code editor with local LLM inference and 69 built-in tools.
Source: Hugging Face Ā· Compare models