Gemma は、Gemini の研究とテクノロジーに基づいた、Google DeepMind によるオープンウェイト大規模言語モデル (LLM) のファミリーです。
このリポジトリには、Flax と JAX に基づく推論の実装と例が含まれています。
Gemma テクニカル レポート (v1、v2) には、モデルの機能が詳しく記載されています。
チュートリアル、他の ML フレームワークのリファレンス実装などについては、https://ai.google.dev/gemma にアクセスしてください。
Gemma をインストールするには、Python 3.10 以降を使用する必要があります。
CPU、GPU、または TPU に JAX をインストールします。 JAX Web サイトの指示に従ってください。
走る
python -m venv gemma-demo . gemma-demo/bin/activate pip install git+https://github.com/google-deepmind/gemma.git
モデル チェックポイントは、Kaggle (http://kaggle.com/models/google/gemma) から入手できます。 Flaxモデル バリエーションの 1 つを選択し、⤓ ボタンをクリックしてモデル アーカイブをダウンロードし、その内容をローカル ディレクトリに抽出します。アーカイブにはモデルの重みとトークナイザーの両方が含まれています。たとえば、2b Flax バリエーションには次のものが含まれます。
2b/ # Directory containing model weights tokenizer.model # Tokenizer
単体テストを実行するには、オプションの[test]
依存関係をインストールし (ソース ツリーのルートからpip install -e .[test]
を使用するなど)、次の手順を実行します。
pytest .
Gemma ソースではトークナイザーが配布されていないため、 sampler_test.py
内のテストはデフォルトでスキップされることに注意してください。これらのテストを実行するには、上記の手順に従ってトークナイザーをダウンロードし、 sampler_test.py
の_VOCAB
定数をtokenizer.model
へのパスで更新します。
サンプル サンプリング スクリプトを実行するには、重みディレクトリとトークナイザーへのパスを渡します。
python examples/sampling.py --path_checkpoint=/path/to/archive/contents/2b/ --path_tokenizer=/path/to/archive/contents/tokenizer.model
Colab ノートブックのチュートリアルもいくつかあります。
colabs/sampling_tutorial.ipynb
サンプリング例を含む Colab ノートブックが含まれています。
colabs/fine_tuning_tutorial.ipynb
、英語からフランス語への翻訳など、タスクに合わせて Gemma を微調整する方法に関する基本的なチュートリアルを含む Colab が含まれています。
colabs/gsm8k_eval.ipynb
参照 GSM8K eval 実装を備えた Colab です。
これらのノートブックを実行するには、重みとトークナイザーのローカル コピーをダウンロードし (上記を参照)、対応するパスでckpt_path
変数とvocab_path
変数を更新する必要があります。
Gemma は CPU、GPU、TPU 上で実行できます。 GPU については、2B チェックポイントの場合は GPU に 8GB 以上の RAM、7B チェックポイントの場合は GPU に 24GB 以上の RAM を推奨します。
バグレポート、プルリクエスト (PR)、その他の貢献を歓迎します。 PR の詳細については、CONTRIBUTING.md を参照してください。
Copyright 2024 DeepMind Technologies Limited
このコードは、Apache License バージョン 2.0 (「ライセンス」) に基づいてライセンスされています。ライセンスに準拠する場合を除き、このファイルを使用することはできません。ライセンスのコピーは http://www.apache.org/licenses/LICENSE-2.0 で入手できます。
適用される法律で義務付けられている場合または書面による同意がない限り、ライセンスに基づいて配布されるソフトウェアは、明示または黙示を問わず、いかなる種類の保証や条件もなく、現状のまま配布されます。ライセンスに基づく許可と制限を規定する特定の言語については、ライセンスを参照してください。
これは Google の公式製品ではありません。