Skip to main content

Open weights large language model (LLM) from Google DeepMind.

Project description

Gemma

Unittests PyPI version

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

  • The Gemma technical report (v1, v2) details the models' capabilities.
  • For tutorials, reference implementations in other ML frameworks, and more, visit https://ai.google.dev/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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gemma-2.0.2.tar.gz (44.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gemma-2.0.2-py3-none-any.whl (69.1 kB view details)

Uploaded Python 3

File details

Details for the file gemma-2.0.2.tar.gz.

File metadata

  • Download URL: gemma-2.0.2.tar.gz
  • Upload date:
  • Size: 44.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for gemma-2.0.2.tar.gz
Algorithm Hash digest
SHA256 b6d2778619e3cbcbe47fac87bec6fe4b2b267f919a4f01c81f4dec1c34a85f1d
MD5 52cdf6e3f0ba6d5cd86dd8026e3a3937
BLAKE2b-256 0ee557c81da155b445f745de2c3bf49815c315993a8cd6454f20f1a63696501a

See more details on using hashes here.

File details

Details for the file gemma-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: gemma-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 69.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for gemma-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fee3aaf1d4cbf840993de035067d8d4e04faaa8ca141cd8528b49cc79cc9e460
MD5 cad4c6b2cadad9d43daeeedabb2f908b
BLAKE2b-256 225c83b73f9fb0cff6736812351c3a49ca4a3683468d6a3e85581147be825790

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page