Gemma モデルを実行する際には、次の 2 つの重要な決定を行う必要があります。1)実行する Gemma バリアント、2)実行に使用する AI 実行フレームワーク。これらの両方の決定を行う際の重要な問題は、モデルの実行に使用できるハードウェアです。
この概要は、これらの決定をナビゲートし、Gemma モデルの使用を開始するのに役立ちます。Gemma モデルを実行する一般的な手順は次のとおりです。
フレームワークを選択する
Gemma モデルは、さまざまな生成 AI 実行フレームワークと互換性があります。Gemma モデルを実行する際の重要な意思決定要素の一つは、モデルの実行に使用できる(または使用できる予定の)コンピューティング リソースです。互換性のあるほとんどの AI フレームワークでは、Gemma モデルを効果的に実行するために、GPU や TPU などの特殊なハードウェアが必要です。Google Colab などのツールでは、これらの特殊なコンピューティング リソースを限定的に提供できます。Ollama や Gemma.cpp などの AI 実行フレームワークを使用すると、x86 互換または ARM アーキテクチャを使用して、より一般的な CPU で Gemma を実行できます。
さまざまな AI ランタイム フレームワークで Gemma モデルを実行するためのガイドは次のとおりです。
- Ollama
- Hugging Face Transformers
- JAX 用 Gemma ライブラリ
- Keras
- PyTorch
- MediaPipe LLM Inference API
- Hugging Face Transformers
- Gemma.cpp
- vLLM
- Google Cloud Vertex AI
- Google Cloud Run
- Google Cloud Kubernetes Engine(GKE)
デプロイする Gemma モデル形式(Keras ネイティブ形式、Safetensors、GGUF など)が、選択したフレームワークでサポートされていることを確認します。
Gemma バリアントを選択する
Gemma モデルには、基盤またはコア Gemma モデル、PaliGemma や DataGemma などのより特殊なモデル バリアント、Kaggle や Hugging Face などのサイトで AI デベロッパー コミュニティによって作成された多くのバリアントなど、さまざまなバリアントやサイズがあります。どのバリアントから始めればよいかわからない場合は、パラメータ数が最も少ない最新の Gemma コア命令チューニング(IT)モデルを選択します。このタイプの Gemma モデルはコンピューティング要件が低く、追加の開発を必要とせずにさまざまなプロンプトに応答できます。
Gemma バリアントを選択する際は、次の要素を考慮してください。
- Gemma コア、および PaliGemma、CodeGemma などの他のバリエーション ファミリー: Gemma(コア)を推奨します。コア バージョン以外の Gemma バリアントは、コアモデルと同じアーキテクチャを持ち、特定のタスクで優れたパフォーマンスを発揮するようにトレーニングされています。アプリケーションや目標が特定の Gemma バリアントの特殊化と一致しない限り、Gemma のコアモデル(ベースモデル)から始めることをおすすめします。
- 命令チューニング(IT)、事前トレーニング(PT)、ファインチューニング(FT)、混合(mix): IT を推奨します。
- 指示のチューニング済み(IT)Gemma バリアントは、人間の言語でさまざまな指示やリクエストに応答するようにトレーニングされたモデルです。これらのモデル バリアントは、追加のモデル トレーニングを行わずにプロンプトに応答できるため、最初に使用することをおすすめします。
- 事前トレーニング済み(PT)Gemma バリアントは、言語やその他のデータについて推論するようにトレーニングされていますが、人間の指示に従うようにトレーニングされていません。これらのモデルは、タスクを効果的に実行するために追加のトレーニングまたはチューニングが必要です。これらのモデルは、モデルとそのアーキテクチャの機能を研究または開発する研究者やデベロッパーを対象としています。
- ファインチューニング(FT)された Gemma バリアントは IT バリアントと見なされますが、通常は特定のタスクを実行するようにトレーニングされます。また、特定の生成 AI ベンチマークで優れたパフォーマンスを発揮するようにトレーニングされます。PaliGemma バリアント ファミリーには、多数の FT バリアントがあります。
- 混合(ミックス)Gemma バリアントは、さまざまな命令で指示チューニングされた PaliGemma モデルのバージョンであり、一般的な用途に適しています。
- Parameters: 使用可能な最小数を推奨します。一般に、モデルに含まれるパラメータが多いほど、モデルの能力は高くなります。ただし、大規模なモデルを実行するには、より大きく複雑なコンピューティング リソースが必要になり、通常、AI アプリケーションの開発が遅くなります。小さい Gemma モデルでニーズを満たせないことがすでにわかっている場合を除き、パラメータ数の少ないモデルを選択します。
- 量子化レベル: チューニングを除き、半精度(16 ビット)を推奨。量子化は複雑なトピックであり、データのサイズと精度、および生成 AI モデルが計算とレスポンスを生成するために使用するメモリ量に帰着します。高精度データ(通常は 32 ビット浮動小数点データ)でモデルをトレーニングした後、Gemma などのモデルを変更して、16 ビット、8 ビット、4 ビットなどの低精度データを使用するようにできます。これらの量子化された Gemma モデルは、タスクの複雑さに応じて、コンピューティング リソースとメモリ リソースを大幅に削減しながら、優れたパフォーマンスを発揮できます。ただし、量子化モデルをチューニングするためのツールは限られており、選択した AI 開発フレームワークで利用できない場合があります。通常、Gemma などのモデルをフル精度でファインチューニングしてから、結果のモデルを量子化する必要があります。
Google が公開している主な Gemma モデルの一覧については、Gemma モデルの使用を開始するの Gemma モデルのリストをご覧ください。
生成リクエストと推論リクエストを実行する
AI 実行フレームワークと Gemma バリアントを選択したら、モデルの実行を開始し、コンテンツの生成やタスクの完了を促すことができます。特定のフレームワークで Gemma を実行する方法については、フレームワークを選択するセクションにリンクされているガイドをご覧ください。
プロンプトの書式設定
命令でチューニングされたすべての Gemma バリアントには、特定のプロンプト形式の要件があります。これらのフォーマット要件の一部は、Gemma モデルの実行に使用するフレームワークによって自動的に処理されますが、プロンプト データをトークン化ツールに直接送信する場合は、特定のタグを追加する必要があります。タグ付け要件は、使用している Gemma バリアントに応じて変わる可能性があります。Gemma バリアント プロンプトのフォーマットとシステム インストラクションについては、次のガイドをご覧ください。