Get started with Gemma models

The Gemma family of open models includes a range of model sizes, capabilities, and task-specialized variations to help you build custom generative solutions. These are the main paths you can follow when using Gemma models in an application:

  • Select a model and deploy it as-is in your application
  • Select a model, tune it for a specific task, and then deploy it in an application, or share it with the community.

This guide helps you get started with picking a model, testing its capabilities, and optionally, tuning the model you selected for your application.

Get it on Kaggle Get it on Hugging Face

Pick a model

This section helps you understand the official variants of the Gemma model family and select a model for your application. The model variants provide general capabilities or are specialized for specific tasks, and are provided in different parameter sizes so you can pick a model that has your preferred capabilities and meets your compute requirements.

The following table lists the major variants of the Gemma model family and their intended deployment platforms:

Gemma 4 Family

The latest generation featuring multimodal (text, image, audio) inputs.

Size Variant Input ➔ Output Intended Platform
E2B Gemma 4 (core) Text, images, audio ➔ Text Mobile devices
E4B Gemma 4 (core) Text, images, audio ➔ Text Mobile devices and laptops
A4B Gemma 4 (core) Text, images ➔ Text Desktop computers and small servers
31B Gemma 4 (core) Text, images ➔ Text Large servers or server clusters

Gemma 3 & 3n Family

Core models for scalable text and image processing, plus '3n' variants for expanded multimodal inputs.

Size Variant Input ➔ Output Intended Platform
270M Gemma 3 (core) Text ➔ Text Mobile devices and single board computers
1B Gemma 3 (core) Text ➔ Text Mobile devices and single board computers
E2B Gemma 3n Text, images, audio ➔ Text Mobile devices
4B Gemma 3 (core) Text, images ➔ Text Desktop computers and small servers
E4B Gemma 3n Text, images, audio ➔ Text Mobile devices and laptops
12B Gemma 3 (core) Text, images ➔ Text Higher-end desktop computers and servers
27B Gemma 3 (core) Text, images ➔ Text Large servers or server clusters

Gemma 2 Family

Includes standard text models and the PaliGemma 2 multimodal vision-language variants.

Size Variant Input ➔ Output Intended Platform
2B Gemma 2 (core) Text ➔ Text Mobile devices and laptops
3B PaliGemma 2 Text, images ➔ Text Desktop computers and small servers
9B Gemma 2 (core) Text ➔ Text Higher-end desktop computers and servers
10B PaliGemma 2 Text, images ➔ Text Higher-end desktop computers and servers
27B Gemma 2 (core) Text ➔ Text Large servers or server clusters
28B PaliGemma 2 Text, images ➔ Text Large servers or server clusters

Gemma 1 Family

The original generation, including coding-specific variants.

Size Variant Input ➔ Output Intended Platform
2B Gemma (core)
CodeGemma
Text ➔ Text Mobile devices and laptops
7B Gemma (core)
CodeGemma
Text ➔ Text Desktop computers and small servers

The Gemma family of models also includes special-purpose and research models, including ShieldGemma, DataGemma, Gemma Scope, and Gemma-APS.

Test models

You can test Gemma models by setting up a development environment with a downloaded model and supporting software. You can then prompt the model and evaluate its responses. Use one of the following Python notebooks with your preferred machine learning framework to set up a testing environment and prompt a Gemma model:

Tune models

You can change the behavior of Gemma models by performing tuning on them. Tuning a model requires a dataset of inputs and expected responses of sufficient size and variation to guide the behavior of the model. You also need significantly more computing and memory resources to complete a tuning run compared to running a Gemma model for text generation. Use one of the following Python notebooks to set up a tuning development environment and tune a Gemma model:

Next Steps

Check out these guides for building more solutions with Gemma: