予測に使用するモデル アーティファクトをエクスポートする

Google Distributed Cloud(GDC)エアギャップには、次の機械学習(ML)フレームワークを使用してトレーニングされたモデルからオンライン予測を提供するビルド済みコンテナが用意されています。

  • TensorFlow
  • PyTorch

これらのビルド済みコンテナのいずれかを使用するには、ビルド済みコンテナの要件に適合する 1 つ以上のモデル アーティファクトとしてモデルを保存する必要があります。これらの要件は、モデル アーティファクトが Distributed Cloud で作成されたかどうかにかかわらず適用されます。

始める前に

モデル アーティファクトをエクスポートする前に、次の手順を行います。

  1. サポートされているコンテナのいずれかをターゲットとする予測モデルを作成してトレーニングします。
  2. プロジェクトがない場合は、Vertex AI 用にプロジェクトを設定します。
  3. インフラストラクチャ オペレーター(IO)と連携して、予測クラスタを作成します。

    IO はクラスタを作成し、プロジェクトに関連付け、オンライン予測に必要なリソースを考慮して、クラスタ内の適切なノードプールを割り当てます。

  4. プロジェクトで使用するストレージ バケットを作成します

  5. プロジェクト内に Vertex AI Default Serving(vai-default-serving-sa)サービス アカウントを作成します。サービス アカウントの詳細については、サービス アカウントを設定するをご覧ください。

  6. 作成したストレージ バケットの Vertex AI デフォルト サービング(vai-default-serving-sa)サービス アカウントに、プロジェクト バケット オブジェクト閲覧者(project-bucket-object-viewer)ロールを付与します。サービス アカウントへのバケット アクセス権の付与については、バケット アクセス権を付与するをご覧ください。

  7. オンライン予測にアクセスするために必要な権限を取得するには、プロジェクト IAM 管理者に Vertex AI 予測ユーザー(vertex-ai-prediction-user)ロールの付与を依頼してください。このロールについては、IAM 権限を準備するをご覧ください。

ビルド済みコンテナにエクスポートするためのフレームワーク固有の要件

予測に使用する ML フレームワークに応じて、モデル アーティファクトをさまざまな形式でエクスポートする必要があります。以降のセクションでは、各 ML フレームワークで使用可能なモデル形式について説明します。

TensorFlow

TensorFlow を使用してモデルをトレーニングする場合、モデルを TensorFlow SavedModel ディレクトリとしてエクスポートします。

TensorFlow トレーニング コードから SavedModels をエクスポートする方法はいくつかあります。次のリストでは、さまざまな TensorFlow API に対応するいくつかの方法を示しています。

Keras や Estimator を使用していない場合は、Vertex AI がモデル アーティファクトを使用して予測を提供できるように、SavedModel をエクスポートする際に serve タグと serving_default 署名を使用する必要があります。Keras と Estimator の場合、このタスクは自動的に処理されます。詳しくは、エクスポート時の署名の指定をご覧ください。

これらのアーティファクトを使用して予測を提供するには、トレーニングに使用した TensorFlow のバージョンと一致する予測用のビルド済みコンテナを含む Model を作成します。

PyTorch

PyTorch を使用してモデルをトレーニングする場合は、Torch モデル アーカイバを使用してアーカイブ ファイルを作成して、デフォルトまたはカスタム ハンドラのいずれかを含むモデル アーティファクトをパッケージ化する必要があります。ビルド済み PyTorch イメージでは、アーカイブの名前は model.mar であるため、モデル名を model に設定してください。

TorchServe で提供される PyTorch モデルのメモリ使用量、レイテンシ、スループットの最適化については、PyTorch パフォーマンス ガイドをご覧ください。

モデルをアップロードする

モデルは、作成したストレージ バケットにアップロードする必要があります。ストレージ バケットへのオブジェクトのアップロードの詳細については、プロジェクトでストレージ オブジェクトをアップロードしてダウンロードするをご覧ください。

モデルのストレージ バケットのパスは、次の構造にする必要があります。

s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID

エクスポートの詳細については、ビルド済みコンテナにエクスポートするためのフレームワーク固有の要件をご覧ください。