Skip to main content

Gemma

Gemma is a family of open-weights Large Language Model (LLM) by Google DeepMind, based on Gemini research and technology.

This repository contains an inference implementation and examples, based on the Flax and JAX.

Learn more about Gemma

Quick start

Installation

  1. To install Gemma you need to use Python 3.10 or higher.

  2. Install JAX for CPU, GPU or TPU. Follow instructions at the JAX website.

  3. Run

python -m venv gemma-demo
. gemma-demo/bin/activate
pip install git+https://github.com/google-deepmind/gemma.git

Downloading the models

The model checkpoints are available through Kaggle at http://kaggle.com/models/google/gemma. Select one of the Flax model variations, click the ⤓ button to download the model archive, then extract the contents to a local directory. The archive contains both the model weights and the tokenizer, for example the 2b Flax variation contains:

2b/              # Directory containing model weights
tokenizer.model  # Tokenizer

Running the unit tests

To run the unit tests, install the optional [test] dependencies (e.g. using pip install -e .[test] from the root of the source tree), then:

pytest .

Note that the tests in sampler_test.py are skipped by default since no tokenizer is distributed with the Gemma sources. To run these tests, download a tokenizer following the instructions above, and update the _VOCAB constant in sampler_test.py with the path to tokenizer.model.

Examples

To run the example sampling script, pass the paths to the weights directory and tokenizer:

python examples/sampling.py -- \
  --path_checkpoint=/path/to/archive/contents/2b/ \
  --path_tokenizer=/path/to/archive/contents/tokenizer.model

There are also several Colab notebook tutorials:

To run these notebooks you will need to download a local copy of the weights and tokenizer (see above), and update the ckpt_path and vocab_path variables with the corresponding paths.

System Requirements

Gemma can run on a CPU, GPU and TPU. For GPU, we recommend a 8GB+ RAM on GPU for the 2B checkpoint and 24GB+ RAM on GPU for the 7B checkpoint.

Contributing

We are open to bug reports, pull requests (PR), and other contributions. Please see CONTRIBUTING.md for details on PRs.

License

Copyright 2024 DeepMind Technologies Limited

This code is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Disclaimer

This is not an official Google product.

Metadata

Release files for gemma-llm 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gemma-llm 1.0.0
File Size Uploaded
gemma_llm-1.0.0.tar.gz 17.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gemma-llm 1.0.0
File Interpreter ABI Platform
gemma_llm-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 42.7 kB

Release files / gemma_llm-1.0.0.tar.gz

Download URL gemma_llm-1.0.0.tar.gz
Size 17.8 kB
Tags Source
SHA-256 checksum
How to use checksums
79186149b7b0e1bb451f6b386a32d8dc6feff2fb25a623d39359595a4f585461
BLAKE2b-256 checksum
How to use checksums
483cb92b3ff997cd005ef596d37196609f801e7c20dd7a9ab33c81d05de4122e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.10.6 Linux/6.5.0-18-generic

Release files / gemma_llm-1.0.0-py3-none-any.whl

Download URL gemma_llm-1.0.0-py3-none-any.whl
Size 24.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
98cf39a40698f10ae64e896613dc3e9c81606f535389145178edf2520676d55e
BLAKE2b-256 checksum
How to use checksums
aaea1daebd7d98317266f285b6749b0e39694693e2512450c9604d539ee0a168
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.10.6 Linux/6.5.0-18-generic

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page