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

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

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

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

Gemma モデルは、さまざまな生成 AI 実行フレームワークと互換性があります。Gemma モデルの実行における重要な意思決定要因の 1 つは、モデルの実行に使用できる(または使用する予定の)コンピューティング リソースです。互換性の高い AI フレームワークのほとんどでは、Gemma モデルを効果的に実行するために GPU や TPU などの専用ハードウェアが必要です。Google Colab などのツールを使用すると、これらの特殊なコンピューティング リソースを限定的に利用できます。OllamaGemma.cpp などの一部の AI 実行フレームワークでは、x86 互換または ARM アーキテクチャを使用して、より一般的な CPU で Gemma を実行できます。

さまざまな AI ランタイム フレームワークで Gemma モデルを実行するためのガイドは次のとおりです。

目的のデプロイ 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 バリアントのプロンプトの形式とシステムの手順については、次のガイドをご覧ください。