このチュートリアルでは、Model Garden を使用して、TPU をベースとする Vertex AI エンドポイントに Gemma 2B オープンモデルをデプロイします。オンライン予測用にモデルを配信する前に、モデルをエンドポイントにデプロイする必要があります。モデルのデプロイでは、少ないレイテンシでオンライン予測を提供できるように、モデルに物理リソースを関連付けます。
Gemma 2B モデルをデプロイしたら、PredictionServiceClient
を使用してトレーニング済みモデルを推論し、オンライン予測を取得します。オンライン予測は、エンドポイントにデプロイされたモデルに対して行われる同期リクエストです。
Model Garden を使用して Gemma をデプロイする
Gemma 2B モデルを、小規模から中規模のトレーニング用に最適化された ct5lp-hightpu-1t
Compute Engine マシンタイプにデプロイします。このマシンには 1 つの TPU v5e アクセラレータが備わっています。TPU を使用してモデルをトレーニングする方法の詳細については、Cloud TPU v5e トレーニングをご覧ください。
このチュートリアルでは、Model Garden のモデルカードを使用して、命令でチューニングされた Gemma 2B オープンモデルをデプロイします。具体的なモデル バージョンは gemma2-2b-it
です。-it
は指示のチューニング済みを表します。
Gemma 2B モデルのパラメータ サイズは小さいため、リソース要件が少なく、デプロイの柔軟性が高まります。
Google Cloud コンソールで、[Model Garden] ページに移動します。
[Gemma 2] モデルカードをクリックします。
[デプロイ] をクリックして、[モデルのデプロイ] ペインを開きます。
[モデルのデプロイ] ペインで、次の詳細を指定します。
[デプロイ環境] で [Vertex AI] をクリックします。
[モデルをデプロイする] セクションで、次の操作を行います。
[リソース ID] に
gemma-2b-it
を選択します。[モデル名] と [エンドポイント名] のデフォルト値を使用します。例:
- モデル名:
gemma2-2b-it-1234567891234
- エンドポイント名:
gemma2-2b-it-mg-one-click-deploy
エンドポイント名をメモします。コードサンプルで使用されているエンドポイント ID を確認するために必要になります。
- モデル名:
[デプロイの設定] セクションで、次の操作を行います。
[基本] 設定はデフォルト オプションのままにします。
[リージョン] では、デフォルト値のままにするか、リストからリージョンを選択します。リージョンをメモします。コードサンプルに必要になります。
[マシン仕様] で、TPU を使用するインスタンス
ct5lp-hightpu-1t (1 TPU_V5_LITEPOD; ct5lp-hightpu-1t)
を選択します。
[デプロイ] をクリックします。デプロイが完了すると、新しいエンドポイントの詳細が記載されたメールが届きます。[オンライン予測] > [エンドポイント] をクリックしてリージョンを選択して、エンドポイントの詳細を確認することもできます。
PredictionServiceClient で Gemma 2B を推論する
Gemma 2B をデプロイしたら、PredictionServiceClient
を使用して「空はなぜ青いの?」というプロンプトのオンライン予測を取得します。
コード パラメータ
PredictionServiceClient
コードサンプルでは、以下を更新する必要があります。
PROJECT_ID
: プロジェクト ID を確認する手順は次のとおりです。Google Cloud コンソールの [ようこそ] ページに移動します。
ページ上部のプロジェクト選択ツールで、自分のプロジェクトを選択します。
プロジェクト名、プロジェクト番号、プロジェクト ID は [ようこそ] の見出しの後に表示されます。
ENDPOINT_REGION
: エンドポイントをデプロイしたリージョンです。ENDPOINT_ID
: エンドポイント ID を確認するには、コンソールで確認するか、gcloud ai endpoints list
コマンドを実行します。[モデルをデプロイ] ペインからエンドポイント名とリージョンを取得します。コンソール
[オンライン予測] > [エンドポイント] をクリックしてリージョンを選択すると、エンドポイントの詳細を確認できます。
ID
列に表示される番号をメモします。gcloud
エンドポイントの詳細を表示するには、
gcloud ai endpoints list
コマンドを実行します。gcloud ai endpoints list \ --region=ENDPOINT_REGION \ --filter=display_name=ENDPOINT_NAME
出力は次のようになります。
Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy
サンプルコード
言語のサンプルコードで、PROJECT_ID
、ENDPOINT_REGION
、ENDPOINT_ID
を更新します。次に、コードを実行します。
Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。 詳細については、Python API リファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Go
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Go の設定手順を完了してください。詳細については、Vertex AI Go API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。