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

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

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

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

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

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

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

フレームワークの詳細

Gemma モデルの実行ガイドをデプロイ環境別に示します。

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

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

  • LM Studio: ユーザー フレンドリーなインターフェースで Gemma モデルをダウンロードしてチャットできるデスクトップ アプリケーション。コーディングは必要ありません。
  • llama.cpp: Llama(および Gemma)の一般的なオープンソース C++ ポート。CPU と Apple シリコンで非常に高速に実行されます。
  • LiteRT-LM: 最適化された .litertlm Gemma モデルをデスクトップ(Windows、Linux、macOS)で実行するためのコマンドライン インターフェース(CLI)を提供します。LiteRT(以前の TFLite)を搭載しています。
  • MLX: Apple シリコンでの ML 専用に設計されたフレームワーク。組み込みのパフォーマンスを求める Mac ユーザーに最適です。
  • Gemma.cpp: Google が提供する軽量なスタンドアロンの C++ 推論エンジン。
  • Ollama: オープン LLM をローカルで実行するツール。他のアプリケーションの強化によく使用されます。

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

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

  • Hugging Face Transformers: モデルとパイプラインにすばやくアクセスするための業界標準。
  • Unsloth: LLM のファインチューニング用に最適化されたライブラリ。これにより、Gemma モデルのトレーニングを 2 ~ 5 倍高速化し、メモリ使用量を大幅に削減できます。これにより、一般消費者向け GPU(無料の Google Colab 階層など)でファインチューニングが可能になります。
  • Keras / JAX / PyTorch: ディープ ラーニングの研究とカスタム アーキテクチャの実装用のコア ライブラリ。

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

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

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

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

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

  • Vertex AI: Google Cloud のフルマネージド AI プラットフォーム。SLAs とスケーリングを必要とするエンタープライズ アプリケーションに最適です。
  • Google Cloud Kubernetes Engine(GKE): 独自のサービング クラスタをオーケストレートする場合。
  • vLLM: 高スループットでメモリ効率の高い推論およびサービング エンジン。クラウド デプロイでよく使用されます。

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

Gemma のバリアントを選択する

Gemma モデルには、基盤となる Gemma モデルやコア Gemma モデル、PaliGemmaDataGemma などのより専門的なモデル バリアント、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 バリアントのプロンプトの形式とシステムの手順については、次のガイドをご覧ください。