Learn how to run & fine-tune Gemma 3n correctly - Read our Guide.
See our collection for all versions of Gemma 3n including GGUF, 4-bit & 16-bit formats.
Unsloth Dynamic 2.0 achieves SOTA accuracy & performance versus other quants.
ollama run hf.co/unsloth/gemma-3n-E4B-it-GGUF:Q4_K_XL - auto-sets correct chat template and settings<bos><start_of_turn>user\nHello!<end_of_turn>\n<start_of_turn>model\nHey there!<end_of_turn>\n<start_of_turn>user\nWhat is 1+1?<end_of_turn>\n<start_of_turn>model\n
| Unsloth supports | Free Notebooks | Performance | Memory use |
|---|---|---|---|
| Gemma-3n-E4B | ▶️ Start on Colab | 2x faster | 60% less |
| GRPO with Gemma 3 (1B) | ▶️ Start on Colab | 2x faster | 80% less |
| Gemma 3 (4B) Vision | ▶️ Start on Colab | 2x faster | 60% less |
| Qwen3 (14B) | ▶️ Start on Colab | 2x faster | 60% less |
| DeepSeek-R1-0528-Qwen3-8B (14B) | ▶️ Start on Colab | 2x faster | 80% less |
| Llama-3.2 (3B) | ▶️ Start on Colab | 2.4x faster | 58% less |
Model Page: Gemma 3n
Resources and Technical Documentation:
Terms of Use: Terms
Authors: Google DeepMind
Summary description and brief definition of inputs and outputs.
Gemma is a family of lightweight, state-of-the-art open models from Google, built from the same research and technology used to create the Gemini models. Gemma 3n models are designed for efficient execution on low-resource devices. They are capable of multimodal input, handling text, image, video, and audio input, and generating text outputs, with open weights for pre-trained and instruction-tuned variants. These models were trained with data in over 140 spoken languages.
Gemma 3n models use selective parameter activation technology to reduce resource requirements. This technique allows the models to operate at an effective size of 2B and 4B parameters, which is lower than the total number of parameters they contain. For more information on Gemma 3n's efficient parameter management technology, see the Gemma 3n page.
Below, there are some code snippets on how to get quickly started with running the model. First, install the Transformers library. Gemma 3n is supported starting from transformers 4.53.0.
$ pip install -U transformers
Then, copy the snippet from the section that is relevant for your use case.
pipeline APIYou can initialize the model and processor for inference with pipeline as
follows.
from transformers import pipeline
import torch
pipe = pipeline(
"image-text-to-text",
model="google/gemma-3n-e4b-it",
device="cuda",
torch_dtype=torch.bfloat16,
)
With instruction-tuned models, you need to use chat templates to process our inputs first. Then, you can pass it to the pipeline.
messages = [
{
"role": "system",
"content": [{"type": "text", "text": "You are a helpful assistant."}]
},
{
"role": "user",
"content": [
{"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
{"type": "text", "text": "What animal is on the candy?"}
]
}
]
output = pipe(text=messages, max_new_tokens=200)
print(output[0]["generated_text"][-1]["content"])
# Okay, let's take a look!
# Based on the image, the animal on the candy is a **turtle**.
# You can see the shell shape and the head and legs.
from transformers import AutoProcessor, Gemma3nForConditionalGeneration
from PIL import Image
import requests
import torch
model_id = "google/gemma-3n-e4b-it"
model = Gemma3nForConditionalGeneration.from_pretrained(model_id, device_map="auto", torch_dtype=torch.bfloat16,).eval()
processor = AutoProcessor.from_pretrained(model_id)
messages = [
{
"role": "system",
"content": [{"type": "text", "text": "You are a helpful assistant."}]
},
{
"role": "user",
"content": [
{"type": "image", "image": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg"},
{"type": "text", "text": "Describe this image in detail."}
]
}
]
inputs = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
input_len = inputs["input_ids"].shape[-1]
with torch.inference_mode():
generation = model.generate(**inputs, max_new_tokens=100, do_sample=False)
generation = generation[0][input_len:]
decoded = processor.decode(generation, skip_special_tokens=True)
print(decoded)
# **Overall Impression:** The image is a close-up shot of a vibrant garden scene,
# focusing on a cluster of pink cosmos flowers and a busy bumblebee.
# It has a slightly soft, natural feel, likely captured in daylight.
@article{gemma_3n_2025,
title={Gemma 3n},
url={https://ai.google.dev/gemma/docs/gemma-3n},
publisher={Google DeepMind},
author={Gemma Team},
year={2025}
}
Data used for model training and how the data was processed.
These models were trained on a dataset that includes a wide variety of sources totalling approximately 11 trillion tokens. The knowledge cutoff date for the training data was June 2024. Here are the key components:
Here are the key data cleaning and filtering methods applied to the training data:
Details about the model internals.
Gemma was trained using Tensor Processing Unit (TPU) hardware (TPUv4p, TPUv5p and TPUv5e). Training generative models requires significant computational power. TPUs, designed specifically for matrix operations common in machine learning, offer several advantages in this domain:
Training was done using JAX and ML Pathways. JAX allows researchers to take advantage of the latest generation of hardware, including TPUs, for faster and more efficient training of large models. ML Pathways is Google's latest effort to build artificially intelligent systems capable of generalizing across multiple tasks. This is specially suitable for foundation models, including large language models like these ones.
Together, JAX and ML Pathways are used as described in the paper about the Gemini family of models: "the 'single controller' programming model of Jax and Pathways allows a single Python process to orchestrate the entire training run, dramatically simplifying the development workflow."
Model evaluation metrics and results.
These models were evaluated at full precision (float32) against a large collection of different datasets and metrics to cover different aspects of content generation. Evaluation results marked with IT are for instruction-tuned models. Evaluation results marked with PT are for pre-trained models.
| Benchmark | Metric | n-shot | E2B PT | E4B PT |
|---|---|---|---|---|
| HellaSwag | Accuracy | 10-shot | 72.2 | 78.6 |
| BoolQ | Accuracy | 0-shot | 76.4 | 81.6 |
| PIQA | Accuracy | 0-shot | 78.9 | 81.0 |
| SocialIQA | Accuracy | 0-shot | 48.8 | 50.0 |
| TriviaQA | Accuracy | 5-shot | 60.8 | 70.2 |
| Natural Questions | Accuracy | 5-shot | 15.5 | 20.9 |
| ARC-c | Accuracy | 25-shot | 51.7 | 61.6 |
| ARC-e | Accuracy | 0-shot | 75.8 | 81.6 |
| WinoGrande | Accuracy | 5-shot | 66.8 | 71.7 |
| BIG-Bench Hard | Accuracy | few-shot | 44.3 | 52.9 |
| DROP | Token F1 score | 1-shot | 53.9 | 60.8 |
| Benchmark | Metric | n-shot | E2B IT | E4B IT |
|---|---|---|---|---|
| MGSM | Accuracy | 0-shot | 53.1 | 60.7 |
| WMT24++ (ChrF) | Character-level F-score | 0-shot | 42.7 | 50.1 |
| Include | Accuracy | 0-shot | 38.6 | 57.2 |
| MMLU (ProX) | Accuracy | 0-shot | 8.1 | 19.9 |
| OpenAI MMLU | Accuracy | 0-shot | 22.3 | 35.6 |
| Global-MMLU | Accuracy | 0-shot | 55.1 | 60.3 |
| ECLeKTic | ECLeKTic score | 0-shot | 2.5 | 1.9 |
| Benchmark | Metric | n-shot | E2B IT | E4B IT |
|---|---|---|---|---|
| GPQA Diamond | RelaxedAccuracy/accuracy | 0-shot | 24.8 | 23.7 |
| LiveCodeBench v5 | pass@1 | 0-shot | 18.6 | 25.7 |
| Codegolf v2.2 | pass@1 | 0-shot | 11.0 | 16.8 |
| AIME 2025 | Accuracy | 0-shot | 6.7 | 11.6 |
| Benchmark | Metric | n-shot | E2B IT | E4B IT |
|---|---|---|---|---|
| MMLU | Accuracy | 0-shot | 60.1 | 64.9 |
| MBPP | pass@1 | 3-shot | 56.6 | 63.6 |
| HumanEval | pass@1 | 0-shot | 66.5 | 75.0 |
| LiveCodeBench | pass@1 | 0-shot | 13.2 | 13.2 |
| HiddenMath | Accuracy | 0-shot | 27.7 | 37.7 |
| Global-MMLU-Lite | Accuracy | 0-shot | 59.0 | 64.5 |
| MMLU (Pro) | Accuracy | 0-shot | 40.5 | 50.6 |
Ethics and safety evaluation approach and results.
Our evaluation methods include structured evaluations and internal red-teaming testing of relevant content policies. Red-teaming was conducted by a number of different teams, each with different goals and human evaluation metrics. These models were evaluated against a number of different categories relevant to ethics and safety, including:
For all areas of safety testing, we saw safe levels of performance across the categories of child safety, content safety, and representational harms relative to previous Gemma models. All testing was conducted without safety filters to evaluate the model capabilities and behaviors. For text-to-text, image-to-text, and audio-to-text, and across all model sizes, the model produced minimal policy violations, and showed significant improvements over previous Gemma models' performance with respect to high severity violations. A limitation of our evaluations was they included primarily English language prompts.
These models have certain limitations that users should be aware of.
Open generative models have a wide range of applications across various industries and domains. The following list of potential uses is not comprehensive. The purpose of this list is to provide contextual information about the possible use-cases that the model creators considered as part of model training and development.
The development of generative models raises several ethical concerns. In creating an open model, we have carefully considered the following:
…(truncated — see the full README on HuggingFace)
Content type
Unrecognized
Digest
sha256:94c6e5ec5…
Size
4.2 GB
Last updated
6 days ago
docker pull ai/gemma3nPulls:
950
Last week