Gemma 4 / Models

Gemma 4 & EmbeddingGemma 2: Model Variants & Specifications

Five Gemma 4 sizes, nine kinds of download, and one new search model in four configurations. This page lists every variant with its specifications, and decodes the names so you download the right thing first time.

Checked against Google's model cards, Hugging Face collections and Ollama's

31B 26B A4B 12B E4B E2B Chat model 4-bit build Drafter Phone build EmbeddingGemma 2 270M 440M 570M 740M
Which builds exist for which size.
The line-up

Five sizes at a glance

Every checkpoint type below exists in some or all of these five sizes. Pick the size first, then the format. For what each can do see features and benchmarks; the mid-size model has its own Gemma 4 12B guide.

ModelArchitectureParametersLayersContextInputsDrafter
Gemma 4 31BDense30.7B60256KText, image0.5B
Gemma 4 26B A4BMixture of Experts25.2B (3.8B active)30256KText, image0.4B
Gemma 4 12BUnified, encoder-free11.95B48256KText, image, audio0.4B
Gemma 4 E4BEdge4.5B effective (8B)42128KText, image, audio79M
Gemma 4 E2BEdge2.3B effective (5.1B)35128KText, image, audio78M

From Google's Gemma 4 model card; drafter sizes as listed on Hugging Face. All five sizes can process video as a sequence of image frames; audio input is limited to E2B, E4B and 12B. Figures in brackets for the edge models include their embedding tables. Memory needs are in the VRAM guide.

Specifications

Gemma 4 spec sheet

The numbers for all five sizes in one table.

Specification31B26B A4B12BE4BE2B
DesignDenseMixture of ExpertsUnified, encoder-freeEdgeEdge
Parameters30.7B25.2B11.95B4.5B effective (8B)2.3B effective (5.1B)
Active per tokenAllAbout 3.8BAllAllAll
Layers6030484235
Context window256K256K256K128K128K
Text and image inputYesYesYesYesYes
Video, as framesYesYesYesYesYes
Audio input--YesYesYes
Vision path550M encoder550M encoder35M projection150M encoder150M encoder
Audio path--Raw projection305M encoder305M encoder
Drafter size0.5B0.43B0.4BAbout 78MAbout 78M
Memory, full precision69.9 GB57.7 GB26.7 GB17.9 GB11.4 GB
Memory, 8-bit34.9 GB28.8 GB13.4 GB8.9 GB5.7 GB
Memory, 4-bit17.5 GB14.4 GB6.7 GB4.5 GB2.9 GB
Mobile build memory---2.5 GB1.1 GB
Ollama QAT download19 GB16 GB7.2 GB6.1 GB4.3 GB
OutputText only
Thinking mode and function callingEvery size
Image detail70, 140, 280, 560 or 1,120 tokens per image; 280 by default
Audio and video limits30 seconds of audio; 60 seconds of video at one frame a second
Languages140+, with a vocabulary of about 262,000 entries
Recommended samplingTemperature 1.0, top-p 0.95, top-k 64
Training data cutoffJanuary 2025
ReleasedMarch 31, 2026; the 12B on June 3, 2026
LicenceApache 2.0

Parameters, layers, memory, limits and sampling from Google's model card; vision and audio paths from the technical report; drafter sizes as listed on Hugging Face; downloads from Ollama's tag list. Figures in brackets for the edge models include their embedding tables. How it is built is explained on the features page; the datasheet with benchmarks is on technical specs.

Checkpoint types

Nine checkpoint types

Shown here for the 12B. Three of these arrived with Google's QAT release and were missing from earlier versions of this page.

gemma-4-12BBase model, for your own post-training
-itInstruction-tuned - what you want
-it-assistantMTP drafter - not a chat model
-it-qat-q4_0-ggufOfficial 4-bit GGUF
-it-qat-q4_0-unquantizedQAT weights at half precision
-it-qat-q4_0-unquantized-assistantDrafter matched to the QAT model
-it-qat-w4a16-ctCompressed tensors for vLLM and SGLang
-it-qat-mobile-*Mobile-optimised QAT - E2B and E4B only
-it-litert-lmLiteRT-LM mobile build - E2B and E4B only
Reading a name

What each part means

Repository names are precise. Every segment carries information.

google/gemma-4-12B-it-qat-q4_0-gguf
  • googleThe publisher. Anything else is a community re-upload: often fine, occasionally stale or quantised more aggressively than advertised.
  • gemma-4The generation. Gemma 3 uses gemma-3 with a lowercase size suffix, which is a real trap when scripting across both.
  • 12BThe size, with a capital B on Gemma 4 (and capital E and A4B). Hugging Face currently resolves the lowercase spelling too, but other tools and mirrors are case-sensitive - copy the canonical form.
  • itInstruction-tuned. No -it means the base pre-trained model, which does not follow instructions.
  • qat-q4_0-ggufThe format and precision. Absent means full-precision Safetensors.
The assistant trap

-it-assistant is not an assistant

The most misleading name in the family. These are Multi-Token Prediction drafters for speculative decoding - not chat models, and not usable on their own.

What it is

A tiny draft model

A 4-layer drafter that proposes several tokens ahead for the full model to verify in parallel. About 78M parameters for E2B and E4B, 0.4B for 12B and 26B A4B, and 0.5B for 31B.

What it does

Faster decoding, same output

Google describes it as significantly faster inference with no quality loss: the full model still verifies every token it emits. Every size, including 12B, now has one.

How to use it

Load it alongside the main model

It is a companion, never a replacement. Loading one on its own and expecting a chatbot is the mistake the name invites.

# Load both models with from_pretrained, then pass the drafter to generate()
#   target:  google/gemma-4-12B-it
#   drafter: google/gemma-4-12B-it-assistant

outputs = target_model.generate(
    **inputs,
    assistant_model=assistant_model,   # the drafter
    max_new_tokens=256,
    do_sample=False,
)

# Without assistant_model the main checkpoint still works -
# just slower. This is free speed most people never claim.

Generation call from Google's MTP guide for Transformers, which has the full loading code. Serving at scale? See self-hosting. Overview: Multi-Token Prediction.

Why it is so small. The drafter reuses the target model's input embedding table and works from the target's final-layer activations rather than building its own representation. The E2B and E4B drafters also predict over token clusters to cut the cost of the output layer.
Two things to know. On the 26B A4B, Google notes the drafter may give no speedup at batch size 1 on hardware with limited parallelism, because Mixture-of-Experts models load expert weights differently. And if you run a QAT model, pair it with the matching -qat-q4_0-unquantized-assistant drafter, not the standard one.
The grid

Every checkpoint, every size

Prefix all Hugging Face rows with google/, except the LiteRT builds, which come from litert-community/.

Checkpoint type31B26B A4B12BE4BE2BUse it when
-it
Safetensors, full precision
✓✓✓✓✓The default. Instruction-tuned, for serving and fine-tuning
base
no suffix
✓✓✓✓✓Your own post-training. It will not follow instructions as shipped
-it-qat-q4_0-gguf
official 4-bit GGUF
✓✓✓✓✓Running locally on llama.cpp, Ollama or LM Studio - the best 4-bit quality available
-it-assistant
MTP drafter
✓✓✓✓✓Alongside the matching -it model, for faster decoding
-it-qat-q4_0-unquantized
QAT weights, half precision
✓✓✓✓✓Applying your own quantisation, or converting to another format such as MLX
-it-qat-q4_0-unquantized-assistantNEW
drafter for the QAT model
✓✓✓✓✓Speculative decoding when the main model is the QAT build
-it-qat-w4a16-ctNEW
compressed-tensors, 4-bit weights
✓-✓✓✓High-throughput serving on vLLM or SGLang. No 26B A4B build
-it-qat-mobile-transformers
-it-qat-mobile-ct
NEW
mobile-optimised QAT
---✓✓Reference weights for phone-class deployment
-it-litert-lm
litert-community/
---✓✓Android or iOS on-device deployment with LiteRT-LM

Source: Google's Gemma 4, QAT Q4_0 and QAT mobile collections, which remain the authoritative lists. The LiteRT row is carried over from the previous version of this page.

Most people need two

The -it-qat-q4_0-gguf build to run locally, or the plain -it to serve at full precision. Add the matching drafter if you want the speedup.

Base models disappoint

Downloading the no-suffix repo and finding it rambles rather than answering is a common first mistake. That is expected - it has not been instruction-tuned. Use -it.

Mobile has two routes

Ready-to-run .litertlm builds under litert-community/, and Google's own -qat-mobile reference weights. Both exist only for E2B and E4B.

A second naming scheme

Ollama tags don't match Hugging Face

Same models, different conventions. Translating between them catches people out constantly.

Hugging FaceOllama equivalentDifference to watch
google/gemma-4-12B-itgemma4:12bLowercase b; no hyphen after gemma; -it implied
google/gemma-4-26B-A4B-itgemma4:26b-a4b or gemma4:26bBoth tags exist; the short one drops A4B
google/gemma-4-E2B-itgemma4:e2bLowercase e2b
...-it-qat-q4_0-ggufgemma4:12b-it-qatShortened; the q4_0-gguf part is implicit
no direct equivalentgemma4:12b-mlxApple silicon build, packaged by Ollama
no direct equivalentgemma4:cloud, gemma4:31b-cloudRuns on Ollama's hosted service, not your machine
no direct equivalentgemma4:latestCurrently the same build as gemma4:e4b - and may be repointed at any time

Suffixes you will see on every size

Tag suffixWhat it isExample
(none)Ollama's default build for that sizegemma4:31b
-it-qatGoogle's quantization-aware 4-bit buildgemma4:12b-it-qat
-it-q4_K_MStandard 4-bit quantisationgemma4:e4b-it-q4_K_M
-it-q8_08-bit - larger, closer to full qualitygemma4:12b-it-q8_0
-it-bf16Full 16-bit precisiongemma4:e2b-it-bf16
-mlx, -mlx-bf16Apple silicon (MLX) buildsgemma4:26b-mlx
-mxfp8, -nvfp4Hardware-specific low-precision formatsgemma4:31b-nvfp4

From Ollama's gemma4 tag list, 51 tags as of October 7, 2026. New to Ollama? Follow how to download or Mac setup. Two one-off MTP tags also exist: gemma4:26b-a4b-it-mtp-q4_K_M and gemma4:31b-coding-mtp-bf16.

Don't pin production to :latest. It is an alias Ollama can repoint, so the model underneath you can change without warning. Name the size explicitly - and the quantisation too if it matters.
EmbeddingGemma 2 · released October 6, 2026
The search model

EmbeddingGemma 2 variants and specifications

EmbeddingGemma 2 is built on the Gemma 4 architecture but does a different job: it turns text, code, images, video and audio into vectors for search. It is one model made of three parts, so you load only what you need.

One model, three parts Text and code270M · always loaded Vision170M · optional Audio300M · optional 270M alone+ vision = 440M+ audio = 570M All three = 740M
Leave out the parts you do not need to save memory.

The four configurations

ConfigurationParametersHandlesOllama nameOllama downloadPhone build
Text and code270MText, codeembeddinggemma-2:270m378 MB165 MB
Text and vision440MText, code, images, videoembeddinggemma-2:440m714 MB388 MB
Text and audio570MText, code, audioembeddinggemma-2:570m990 MB-
Everything740MText, code, images, video, audioembeddinggemma-21.3 GB485 MB

Specifications

TypeEmbedding model; produces vectors, not text
Layers24
Vector size768; can be shortened to 512, 256 or 128
Input budget8,192 tokens, shared by everything in one input
Fits in one inputAbout 29 images, 58 video frames or 327 seconds of audio
Vocabulary262,144 tokens, shared with Gemma 4
Languages100+
Precisionbfloat16 or float32; not float16
LicenceApache 2.0

Where each build lives

How the names work

Unlike Gemma 4 there is one official repository. The number after the colon on Ollama, or in a phone build's name, tells you which parts are included.

Shorter vectors

Google's card reports little quality loss down to 256 numbers. At 128 the multimodal score falls from 59.01 to 45.65. See limitations.

Not interchangeable with version 1

The original EmbeddingGemma was text only, 308M parameters, on older terms. Vectors from the two versions cannot be mixed.

Configurations, specifications and limits from Google's EmbeddingGemma 2 model card and developer guide; Ollama sizes from its tag list; phone builds from Google's LiteRT-LM overview; the GGUF build is a community conversion. How to install and use it: install · how to use · EmbeddingGemma 2 guide.

Related models

Beyond the core five

Two newer open models are built on Gemma 4: EmbeddingGemma 2, covered above, and DiffusionGemma. They are different tools, not bigger or smaller chat models.

New - Oct 6, 2026
EmbeddingGemma 2
Multimodal embeddings

Turns text, code, images, video and audio into vectors in one shared 768-dimension space, for search, retrieval and classification. Its variants and specifications are listed above.

EmbeddingGemma 2 guide →

Experimental - Jun 10, 2026
DiffusionGemma
Text diffusion

A 26B A4B sibling that writes by refining whole blocks of tokens in parallel instead of one at a time - roughly 4x faster output, with lower benchmark scores. Aimed at in-line editing and code infilling.

Google's DiffusionGemma docs →

Earlier specialised models - TranslateGemma, MedGemma 1.5, FunctionGemma, ShieldGemma 2 and T5Gemma v2 - predate Gemma 4 and are listed in Google's release history. Comparing against rivals? See the model comparison and Gemma 4 vs Qwen 3.5. For the previous generation see Gemma 3.

Decision

Which one should you download?

What you're doingDownloadAlso grab
Chatting locallygemma4:12b-it-qat via Ollama-
Serving with vLLMgoogle/gemma-4-31B-it-qat-w4a16-ct, or google/gemma-4-26B-A4B-it at full precisionThe matching drafter for speculative decoding
Maximum local speedgoogle/gemma-4-31B-itgoogle/gemma-4-31B-it-assistant
Fine-tuning for a taskgoogle/gemma-4-12B-itBase model if you're doing full post-training
Custom quantisation or MLX-it-qat-q4_0-unquantizedQAT weights beat quantising the plain checkpoint
Android or iOS applitert-community/gemma-4-E2B-it-litert-lmE4B build if the device allows
Audio inputgoogle/gemma-4-12B-itOr E4B / E2B. The 31B and 26B A4B do not accept audio
Video inputAny sizeVideo is processed as image frames; keep clips short
Search or RAG retrievalgoogle/embeddinggemma-2A Gemma 4 chat model to write the answer

Pull commands and links for each are on the download page; to pick a runtime use the runtime selector. Prefer not to download? Try the playground, chat options or a hosted API, and check pricing.

Avoid these

Six ways to download the wrong thing

🔤

Lowercase the size

The canonical name is gemma-4-12B-it with a capital B. Gemma 3 used lowercase, which is why the mistake is easy - and case-sensitive tools will not forgive it.

🎭

Grab the assistant expecting a chatbot

It is a small speculative-decoding drafter. On its own it does nothing useful - it needs the main model loaded alongside it.

📦

Take a community quant over the QAT build

Google's -qat-q4_0-gguf checkpoints are quantisation-aware trained and lose less quality than post-hoc community quants at the same bit depth.

🏗️

Download the base model by accident

No -it means no instruction tuning. It will continue your text rather than answer you, which reads like a broken model if you were not expecting it.

📉

Reach below 4-bit

Q2 and Q3 builds load and run, but reasoning and code quality fall off sharply. A smaller model at 4-bit beats a larger one at 3-bit.

🕰️

Use weights cached before mid-July

The July 2026 refresh fixed the chat template and tool calling without a version bump. Same name, different weights - re-pull.

FAQ

Variant questions

More on the full FAQ page; usage tips in prompting; known issues in limitations.

What is the -it-assistant variant really for?

Speculative decoding. It is a small Multi-Token Prediction drafter - from about 78M parameters on the edge models to 0.5B on the 31B - that proposes several tokens ahead for the full model to verify in parallel, giving faster decoding at no quality cost.

The name strongly implies a chat model and it isn't one. Load it as a second model alongside the matching -it checkpoint.

Do I need the base model?

Almost certainly not. Base checkpoints have no instruction tuning - they continue text rather than answering questions. They exist for people doing their own post-training from scratch. For fine-tuning on a task, starting from -it is usually the better choice.

QAT GGUF or a community quant?

The official QAT build - one now exists for every size. Quantisation-aware training exposes the model to rounding error during training so it adapts; post-hoc quantisation just rounds a finished model. Community quants from reputable packagers are fine, but at the same bit depth the official one is generally better. More in the QAT guide.

What's the unquantized QAT variant for?

It holds the quantisation-aware-trained weights at half precision, so you can apply your own quantisation scheme or convert to another format such as MLX and still benefit from QAT. It is published for all five sizes. If you just want 4-bit, take the GGUF.

What are the w4a16-ct builds?

QAT checkpoints saved in the compressed-tensors format with 4-bit weights and 16-bit activations, intended for high-throughput serving on vLLM or SGLang. They exist for E2B, E4B, 12B and 31B - not for the 26B A4B.

Why do Ollama tags look nothing like the repo names?

They are independent naming schemes. Ollama uses gemma4:12b - no hyphen, lowercase, instruction-tuning implied - while Hugging Face uses google/gemma-4-12B-it. Translate deliberately rather than guessing.

Is gemma4:latest safe to use?

For experimenting, yes. For anything reproducible, no - it is an alias that currently resolves to E4B and can be repointed, changing the model under your application without warning. Pin the size and quantisation explicitly.

Which sizes accept audio and video?

Audio: E2B, E4B and 12B only. Video: all five, because it is processed as a sequence of image frames. Google's model card caps audio at 30 seconds and video at 60 seconds at one frame per second.

Which sizes have mobile builds?

Only E2B and E4B - as .litertlm files under litert-community/, and as Google's -qat-mobile reference weights. The 12B and larger have no mobile build. See the Android guide and mobile downloads.

How many EmbeddingGemma 2 variants are there?

One model in four configurations: 270M for text and code, 440M with vision, 570M with audio, and 740M with everything. On Ollama they are separate names; in Python you load the parts you want.

Is EmbeddingGemma 2 a Gemma 4 model?

It is built on the Gemma 4 architecture and shares its tokenizer and audio encoder, but it is a separate model with a different job. It produces vectors for search and cannot chat. See the EmbeddingGemma 2 guide.

Know which file you need?

Exact repository IDs and pull commands for every checkpoint in the family.

Top