エンドポイントにモデルをデプロイする

トレーニング済みモデルからオンライン推論を取得するには、モデルをエンドポイントにデプロイする必要があります。これを行うには、 Google Cloud コンソール、Google Cloud CLI、または Vertex AI API を使用します。

このドキュメントでは、モデルをエンドポイントにデプロイするプロセスについて説明します。

モデルのデプロイによる影響

モデルをデプロイすると、物理リソースがモデルに関連付けられ、低レイテンシでオンライン推論を提供できるようになります。

1 つのエンドポイントに複数のモデルをデプロイすることも、複数のエンドポイントに同じモデルをデプロイすることもできます。詳細については、同じエンドポイントに複数のモデルをデプロイする理由をご覧ください。

エンドポイントにモデルをデプロイする準備をする

モデルのデプロイ時に、オンライン推論の実行について次の重要な決定を行います。

作成したリソース リソース作成時に指定する設定
エンドポイント 推論を実行するロケーション
モデル 使用するコンテナ(ModelContainerSpec
DeployedModel オンライン推論に使用するコンピューティング リソース

モデルがエンドポイントにデプロイされた後、これらのデプロイ設定を変更することはできません。変更するには、モデルを再度デプロイする必要があります。

デプロイ プロセスの最初のステップは、使用するエンドポイントのタイプを決定することです。詳細については、エンドポイント タイプを選択するをご覧ください。

次に、モデルが Vertex AI Model Registry に表示されていることを確認します。これは、モデルをデプロイ可能にするために必要です。モデルのアーティファクトをインポートする方法や、Model Registry で直接作成する方法など、Model Registry の詳細については、Vertex AI Model Registry の概要をご覧ください。

次に、モデルのサービングに使用するコンピューティング リソースを決定します。モデルのトレーニング タイプ(AutoML またはカスタム)と(AutoML)データ型によって、モデルで使用可能な物理リソースの種類が決まります。モデルのデプロイ後、新しいデプロイを作成せずに、これらのリソースの一部を mutate できます。

エンドポイント リソースによって、推論をリクエストするために使用するサービス エンドポイント(URL)が提供されます。例:

   https://us-central1-aiplatform.googleapis.com/v1/projects/{project}/locations/{location}/endpoints/{endpoint}:predict

エンドポイントにモデルをデプロイする

モデルをエンドポイントにデプロイするには、 Google Cloud コンソールを使用するか、gcloud CLI または Vertex AI API を使用します。

Google Cloud コンソールを使用してモデルをパブリック エンドポイントにデプロイする

Google Cloud コンソールでは、既存の専用または共有のパブリック エンドポイントにモデルをデプロイできます。また、デプロイ プロセス中に新しいエンドポイントを作成することもできます。詳細については、 Google Cloud コンソールを使用してモデルをデプロイするをご覧ください。

gcloud CLI または Vertex AI API を使用して、モデルをパブリック エンドポイントにデプロイする

gcloud CLI または Vertex AI API を使用してモデルをデプロイする場合は、まず専用または共有のエンドポイントを作成してから、モデルをデプロイする必要があります。詳細は下記のページをご覧ください。

  1. 専用または共有のパブリック エンドポイントを作成する
  2. gcloud CLI または Vertex AI API を使用してモデルをデプロイする

Private Service Connect エンドポイントにモデルをデプロイする

詳細については、オンライン推論に Private Service Connect エンドポイントを使用するをご覧ください。

ローリング デプロイを使用してデプロイされたモデルを更新する

ローリング デプロイを使用して、デプロイされたモデルを同じモデルの新しいバージョンに置き換えることができます。新しいモデルは、以前のモデルのコンピューティング リソースを再利用します。詳細については、ローリング デプロイを使用してデプロイされたモデルを置き換えるをご覧ください。

モデルのデプロイを解除してエンドポイントを削除する

モデルのデプロイを解除してエンドポイントを削除できます。詳細については、モデルのデプロイを解除してエンドポイントを削除するをご覧ください。

同じエンドポイントに複数のモデルをデプロイする理由

2 つのモデルを同じエンドポイントにデプロイすると、1 つのモデルを段階的に別のモデルに置き換えることができます。たとえば、モデルを使用しており、新しいトレーニング データでモデルの精度を向上させる方法を見つけたとします。ただし、新しいエンドポイント URL を指すようにアプリケーションを更新する必要がなく、アプリケーションを急に変更することを避ける必要があります。新しいモデルを同じエンドポイントに追加すると、トラフィックのごく一部を処理できます。新しいモデルへのトラフィック分割は、すべてのトラフィックがトラフィックを処理するまで、段階的に増やしていくことになります。

リソースは、エンドポイントではなくモデルに関連付けられているため、さまざまなタイプのモデルを同じエンドポイントにデプロイできます。ただし、特定の種類のモデル(AutoML 表形式、カスタム トレーニングなど)をエンドポイントにデプロイすることをおすすめします。この構成は管理が簡単です。

複数のエンドポイントにモデルをデプロイする理由

テスト環境や本番環境などのアプリケーション環境ごとに異なるリソースを使用してモデルをデプロイすることが必要になるかもしれません。また、推論リクエストでさまざまな SLO をサポートする必要がある場合もあります。おそらく、アプリケーションの中には他のアプリケーションよりもパフォーマンス ニーズがはるかに高いものがあります。この場合、より多くのマシンリソースを持つ高パフォーマンス エンドポイントにこのモデルをデプロイできます。コストを最適化するために、マシンリソースが少ない低パフォーマンスのエンドポイントにモデルをデプロイすることもできます。

スケーリング動作

Vertex AI Inference の自動スケーリングは、同時リクエストの数に基づいて推論ノードの数をスケーリングします。これにより、費用を管理しながら、変化するリクエスト負荷に動的に対応できます。詳細については、Vertex AI Inference の推論ノードをスケーリングするをご覧ください。

次のステップ