Coder Social home page Coder Social logo

eurus-holmes / gemma Goto Github PK

View Code? Open in Web Editor NEW

This project forked from google-deepmind/gemma

0.0 0.0 0.0 72 KB

Open weights LLM from Google DeepMind.

Home Page: http://ai.google.dev/gemma

License: Apache License 2.0

Python 44.98% Jupyter Notebook 55.02%

gemma's Introduction

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.

Alternatively, visit the gemma models on the Hugging Face Hub. To download the model, you can run the following code if you have huggingface_hub installed:

from huggingface_hub import snapshot_download

local_dir = snapshot_download(repo_id="google/gemma-2b-flax")
snapshot_download(repo_id="google/gemma-2b-flax", local_dir=local_dir)

In both cases, 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.

gemma's People

Contributors

alimuldal avatar molugan avatar osanseviero avatar ddsh avatar huxiaoxu2019 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.