Gemma のコンテンツ生成と推論を実行する

Gemma モデルを実行する際には、1)実行する Gemma バリアントと、2)実行に使用する AI 実行フレームワークの 2 つの重要な決定を行う必要があります。 これらの決定を行ううえで重要な問題は、モデルを実行するために利用できるハードウェアです。

この概要では、これらの決定を行い、Gemma モデルの使用を開始するのに役立ちます。Gemma モデルを実行する一般的な手順は次のとおりです。

フレームワークを選択する

Gemma モデルは、さまざまなエコシステム ツールと互換性があります。適切なツールを選択するかどうかは、利用可能なハードウェア(Cloud GPU とローカル ラップトップ)とインターフェースの好み(Python コードとデスクトップ アプリケーション)によって異なります。

次の表を使用して、ニーズに最適なツールをすばやく特定してください。

目的 推奨フレームワーク 最適な用途
チャット UI を使用してローカルで実行する - LM Studio
- Ollama
初心者、またはノートパソコンで「Gemini のような」エクスペリエンスを希望するユーザー。
Edge で効率的に実行する - LiteRT-LM
- llama.cpp
- MediaPipe LLM 推論 API
- MLX
最小限のリソースで高性能なローカル推論を実現。
Python でビルド/トレーニングする - JAX 用 Gemma ライブラリ
- Hugging Face Transformers
- Keras
- Unsloth
カスタム アプリケーションを構築する研究者やデベロッパー、モデルをファインチューニングする研究者やデベロッパー。
本番環境 / エンタープライズにデプロイする - Google Cloud Kubernetes Engine(GKE)
- Google Cloud Run
- Vertex AI
- vLLM
エンタープライズ セキュリティと MLOps のサポートを備えた、スケーラブルなマネージド クラウド デプロイ。

フレームワークの詳細

以下は、デプロイ環境ごとに分類された Gemma モデルを実行するためのガイドです。

1. デスクトップとローカル推論(高効率)

これらのツールを使用すると、最適化された形式(GGUF など)または特定のハードウェア アクセラレータを利用して、コンシューマー ハードウェア(ノートパソコン、デスクトップ)で Gemma を実行できます。

2. Python 開発(研究とファインチューニング)

アプリケーション、パイプライン、トレーニング モデルを構築する AI デベロッパー向けの標準フレームワーク。

3. モバイルとエッジのデプロイ(オンデバイス)

インターネット接続なしでユーザー デバイス(Android、iOS、ウェブ)で LLM を直接実行するように設計されたフレームワーク。多くの場合、NPU(Neural Processing Unit)を利用します。

  • LiteRT-LM: オンデバイス LLM 開発向けの完全オープンソース フレームワーク。最高のパフォーマンスときめ細かい制御を実現し、 Android と iOS で CPU、GPU、NPU アクセラレーションを直接サポートします。
  • MediaPipe LLM 推論 API: Gemma をクロスプラットフォーム アプリに統合する最も簡単な方法。Android、iOS、ウェブで動作する高レベルの API を提供します。

4. クラウドと本番環境へのデプロイ

アプリケーションを数千人のユーザーにスケーリングしたり、膨大なコンピューティング能力にアクセスしたりするためのマネージド サービス。

選択したフレームワークで、目的のデプロイ Gemma モデル形式(Keras 組み込み形式、Safetensors、GGUF など)がサポートされていることを確認してください。

Gemma バリアントを選択する

Gemma モデルには、 基盤となる コア Gemma モデル、 PaliGemma や DataGemma などの 特殊なモデル バリアント、 KaggleHugging 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 バリアントが含まれています。
    • 混合(mix)Gemma バリアントは、さまざまな指示で指示用調整された PaliGemma モデルのバージョンで、一般的な用途に適しています。
  • パラメータ: 利用可能な最小数をおすすめします。一般に、モデルのパラメータが多いほど、機能が向上します。ただし、大規模なモデルを実行するには、より大規模で複雑なコンピューティング リソースが必要となり、通常は AI アプリケーションの開発が遅くなります。小規模な Gemma モデルではニーズを満たせないと判断した場合を除き、パラメータ数が少ないモデルを選択してください。
  • 量子化レベル: チューニングを除き、半精度(16 ビット)をおすすめします。量子化は複雑なトピックであり、データのサイズと精度、ひいては生成 AI モデルが計算とレスポンスの生成に使用するメモリ量に帰着します。通常は 32 ビット浮動小数点データである高精度データでモデルをトレーニングした後、Gemma などのモデルを変更して、16 ビット、8 ビット、4 ビットなどの低精度データを使用できます。これらの量子化された Gemma モデルは、タスクの複雑さによっては、コンピューティング リソースとメモリリソースを大幅に削減しながら、優れたパフォーマンスを発揮できます。ただし、量子化されたモデルをチューニングするためのツールは限られており、選択した AI 開発フレームワーク内で利用できない場合があります。通常、Gemma などのモデルをフル精度でファインチューニングしてから、結果のモデルを量子化する必要があります。

Google が公開している主要な Gemma モデルのリストについては、 Gemma モデルの概要、 Gemma モデルリストをご覧ください。

生成リクエストと推論リクエストを実行する

AI 実行フレームワークと Gemma バリアントを選択したら、モデルの実行を開始し、コンテンツの生成やタスクの完了を促すことができます。 特定のフレームワークで Gemma を実行する方法について詳しくは、 フレームワークを選択するセクションのリンク先のガイドをご覧ください。

プロンプトの書式設定

指示用調整された Gemma バリアントには、特定のプロンプト形式の要件があります。これらの書式設定要件の一部は、Gemma モデルの実行に使用するフレームワークによって自動的に処理されますが、プロンプトデータをトークナイザに直接送信する場合は、特定のタグを追加する必要があります。タグ付けの要件は、使用する Gemma バリアントによって異なります。Gemma バリアントのプロンプト形式とシステムの手順については、次のガイドをご覧ください。