推論で Flex Start VM を使用する

このガイドでは、Vertex AI 推論で Flex-start VM を使用するメリットと制限事項について説明します。このガイドでは、Flex Start VM を使用するモデルをデプロイする方法についても説明します。

概要

Dynamic Workload Scheduler を利用した Flex Start VM を使用すると、推論ジョブの実行コストを削減できます。Flex Start VM は大幅な割引が適用され、短期間のワークロードに適しています。

Flex Start VM が必要な期間(最大 7 日間)を指定できます。リクエストした時間が経過すると、デプロイされたモデルは自動的にデプロイ解除されます。有効期限が切れる前に、モデルを手動でデプロイ解除することもできます。

自動デプロイ解除

特定の期間の Flex Start VM をリクエストすると、その期間の経過後にモデルが自動的にデプロイ解除されます。たとえば、5 時間の Flex Start VM をリクエストすると、モデルは送信から 5 時間後に自動的にデプロイ解除されます。料金は、ワークロードの実行時間に対してのみ発生します。

制限事項と要件

フレキシブル スタート VM を使用する場合は、次の制限と要件を考慮してください。

  • 最大期間: Flex Start VM の最大使用期間は 7 日間です。これより長い期間のデプロイ リクエストは拒否されます。
  • TPU のサポート: TPU Pod で Flex Start VM を使用することはできません。
  • Quota: ジョブを起動する前に、十分な Vertex AI プリエンプティブル割り当てがあることを確認します。詳細については、レートに基づく割り当てをご覧ください。
  • キューに格納されたプロビジョニング: キューに格納されたプロビジョニングで Flex Start VM を使用することはできません。
  • ノードのリサイクル: ノードのリサイクルはサポートされていません。

課金

ワークロードの実行期間が 7 日未満の場合は、Flex Start VM を使用するとコストを削減できます。

Flex-start VM を使用する場合は、ジョブの所要時間と選択したマシンタイプに基づいて課金されます。料金は、ワークロードがアクティブに実行されている時間に対してのみ発生します。ジョブがキュー内にある時間や、リクエストされた期間が終了した後の時間は課金されません。

請求は 2 つの SKU に分散されます。

Flex Start VM を使用して推論を取得する

モデルをデプロイして推論を取得するときに Flex Start VM を使用するには、REST API を使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • LOCATION_ID: Vertex AI を使用するリージョン。
  • PROJECT_ID: 実際のプロジェクト ID
  • ENDPOINT_ID: エンドポイントの ID。
  • MODEL_ID: デプロイするモデルの ID。
  • DEPLOYED_MODEL_NAME: DeployedModel の名前。DeployedModelModel の表示名を使用することもできます。
  • MACHINE_TYPE: 省略可。このデプロイの各ノードで使用するマシンリソース。デフォルトの設定は n1-standard-2 です。マシンタイプの詳細。
  • ACCELERATOR_TYPE: 省略可。マシンにアタッチするアクセラレータのタイプ。詳細
  • ACCELERATOR_COUNT: 省略可。各レプリカで使用するアクセラレータの数。
  • MAX_RUNTIME_DURATION: フレックススタート デプロイの最大期間。デプロイされたモデルは、この期間後に自動的にデプロイ解除されます。期間を秒単位で指定し、末尾に s を付加します。たとえば、1 時間の場合は 3600s です。最大値は 604800s(7 日)です。
  • PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号

HTTP メソッドと URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel

リクエストの本文(JSON):

{
  "deployedModel": {
    "model": "projects/PROJECT/locations/LOCATION/models/MODEL_ID",
    "displayName": "DEPLOYED_MODEL_NAME",
    "enableContainerLogging": true,
    "dedicatedResources": {
      "machineSpec": {
        "machineType": "MACHINE_TYPE",
        "acceleratorType": "ACCELERATOR_TYPE",
        "acceleratorCount": ACCELERATOR_COUNT
      },
      "flexStart": {
        "maxRuntimeDuration": "MAX_RUNTIME_DURATION"
      },
      "minReplicaCount": 2,
      "maxReplicaCount": 2
    },
  },
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.DeployModelOperationMetadata",
    "genericMetadata": {
      "createTime": "2020-10-19T17:53:16.502088Z",
      "updateTime": "2020-10-19T17:53:16.502088Z"
    }
  }
}

次のステップ