Gemma ist eine Familie offener Large Language Models (LLM) von Google DeepMind, die auf Gemini-Forschung und -Technologie basiert.
Dieses Repository enthält eine Inferenzimplementierung und Beispiele, basierend auf Flax und JAX.
Der technische Bericht von Gemma (v1, v2) beschreibt detailliert die Fähigkeiten der Modelle.
Für Tutorials, Referenzimplementierungen in anderen ML-Frameworks und mehr besuchen Sie https://ai.google.dev/gemma.
Um Gemma zu installieren, müssen Sie Python 3.10 oder höher verwenden.
Installieren Sie JAX für CPU, GPU oder TPU. Befolgen Sie die Anweisungen auf der JAX-Website.
Laufen
python -m venv gemma-demo . gemma-demo/bin/activate pip install git+https://github.com/google-deepmind/gemma.git
Die Modellkontrollpunkte sind über Kaggle unter http://kaggle.com/models/google/gemma verfügbar. Wählen Sie eine der Flax- Modellvarianten aus, klicken Sie auf die Schaltfläche ⤓, um das Modellarchiv herunterzuladen, und extrahieren Sie dann den Inhalt in ein lokales Verzeichnis. Das Archiv enthält sowohl die Modellgewichte als auch den Tokenizer, zum Beispiel enthält die 2b Flax-Variante:
2b/ # Directory containing model weights tokenizer.model # Tokenizer
Um die Komponententests auszuführen, installieren Sie die optionalen [test]
-Abhängigkeiten (z. B. mit pip install -e .[test]
aus dem Stammverzeichnis des Quellbaums) und gehen Sie dann wie folgt vor:
pytest .
Beachten Sie, dass die Tests in sampler_test.py
standardmäßig übersprungen werden, da kein Tokenizer mit den Gemma-Quellen verteilt wird. Um diese Tests auszuführen, laden Sie einen Tokenizer gemäß den obigen Anweisungen herunter und aktualisieren Sie die _VOCAB
Konstante in sampler_test.py
mit dem Pfad zu tokenizer.model
.
Um das Beispiel-Sampling-Skript auszuführen, übergeben Sie die Pfade an das Gewichtungsverzeichnis und den Tokenizer:
python examples/sampling.py --path_checkpoint=/path/to/archive/contents/2b/ --path_tokenizer=/path/to/archive/contents/tokenizer.model
Es gibt auch mehrere Colab-Notebook-Tutorials:
colabs/sampling_tutorial.ipynb
enthält ein Colab-Notizbuch mit einem Sampling-Beispiel.
colabs/fine_tuning_tutorial.ipynb
enthält ein Colab mit einem grundlegenden Tutorial zur Feinabstimmung von Gemma für eine Aufgabe, beispielsweise eine Übersetzung vom Englischen ins Französische.
colabs/gsm8k_eval.ipynb
ist ein Colab mit einer Referenz-GSM8K-Evaluierungsimplementierung.
Um diese Notebooks auszuführen, müssen Sie eine lokale Kopie der Gewichtungen und des Tokenizers herunterladen (siehe oben) und die Variablen ckpt_path
und vocab_path
mit den entsprechenden Pfaden aktualisieren.
Gemma kann auf einer CPU, GPU und TPU ausgeführt werden. Für die GPU empfehlen wir 8 GB+ RAM auf der GPU für den 2B-Checkpoint und 24 GB+ RAM auf der GPU für den 7B-Checkpoint.
Wir sind offen für Fehlerberichte, Pull Requests (PR) und andere Beiträge. Einzelheiten zu PRs finden Sie unter CONTRIBUTING.md.
Copyright 2024 DeepMind Technologies Limited
Dieser Code ist unter der Apache-Lizenz, Version 2.0 (die „Lizenz“); lizenziert. Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden. Sie können eine Kopie der Lizenz unter http://www.apache.org/licenses/LICENSE-2.0 erhalten.
Sofern nicht durch geltendes Recht vorgeschrieben oder schriftlich vereinbart, wird die im Rahmen der Lizenz vertriebene Software im Ist-Zustand und OHNE GEWÄHRLEISTUNGEN ODER BEDINGUNGEN JEGLICHER ART, weder ausdrücklich noch stillschweigend, vertrieben. Die spezifische Sprache, die die Berechtigungen und Einschränkungen im Rahmen der Lizenz regelt, finden Sie in der Lizenz.
Dies ist kein offizielles Google-Produkt.