Vertex AI Model Registry にモデルをコピーする

Vertex AI で AutoML 大規模モデルとカスタムモデルを目的のレベルまでトレーニングするには、時間とテストが必要です。使用したい良好なパフォーマンスのモデルが別のプロジェクトまたはロケーションにある場合は、新しいモデルのトレーニングはおすすめしません。モデルのトレーニングは本質的に非決定的であるため、最終的に同じデータから同じモデルが完成する可能性は低くなります。また、リージョン間でモデルの動作の整合性を維持する確実な方法は、各リージョンまたはプロジェクトでモデルをトレーニングする方法ではありません。Vertex AI Model Registry のモデルのコピー機能を使用すると、Vertex AI Model Registry から同じプロジェクト内の別のロケーションまたは別のプロジェクトにモデルをコピーできます。

モデルをコピーするときに、コピーするモデルのバージョンを指定しないと、デフォルトのモデル バージョンがコピーされます。モデルのデフォルトまたはモデル エイリアスの詳細については、モデル エイリアスの使用方法をご覧ください。

制限事項

モデルをコピーしても、すべてのモデル情報がコピーされるわけではありません。コピーされたモデルでは以下のものは保持されません。

  • バージョンのエイリアス。
  • カスタムモデル ID。モデルのコピー後に新しい ID を指定できます。
  • 既存のモデル評価。
  • 暗号化の仕様。コピー時にターゲット リージョン用に新しい仕様を指定する必要があります。
  • デプロイとバッチ予測。
  • プロジェクト間のコピーでは、サードパーティのコンテナ イメージを含むカスタムモデルをコピーできます。

プロジェクト間でモデルをコピーする

前提条件

プロジェクト間でモデルをコピーするには、まず、ソースモデルのオーナーが宛先プロジェクトにモデルのエクスポート権限を付与する必要があります。

  1. Google Cloud コンソールでプロジェクトを選択します。
  2. [IAM と管理] ページに移動します。
  3. IAM の権限ページで [アクセスを許可] をクリックすると、ポップアップ ウィンドウが表示され、ソース プロジェクトに新しいプリンシパルを追加できます。
  4. 宛先プロジェクトのプロジェクト番号と、宛先プロジェクトの P4SA 認証情報を取得します。
  5. 宛先プロジェクトの P4SA 認証情報を新しいプリンシパルとしてソース プロジェクトに追加し、Vertex AI サービス エージェントのロールを宛先プロジェクトの P4SA に割り当てます。
  6. [保存] をクリックすると、宛先プロジェクトの P4SA に、ソース プロジェクトからモデルをエクスポートする権限が付与されます。

REST

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

  • DESTINATION_LOCATION: モデルをコピーするリージョン。例: us-central1
  • SOURCE_LOCATION: モデルのコピー元の Vertex AI リージョン。
  • SOURCE_PROJECT_ID: プロジェクト ID またはプロジェクト番号。
  • MODEL_ID: コピーするモデルの ID。
  • SOURCE_MODEL_ID: コピーするモデル ID のソース。
  • VERSION_ID: (省略可)コピーするモデル バージョンの ID(指定しない場合、デフォルト バージョンがコピーされます)。

HTTP メソッドと URL:

POST https://DESTINATION_LOCATION-aiplatform.googleapis.com/v1/projects/DESTINATION_PROJECT_ID/locations/DESTINATION_LOCATION/models:copy

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

   {
    "sourceModel": projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/models/SOURCE_MODEL_ID
    }

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

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

  {
    "name": "projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID/operations/OPERATION_ID",
    "metadata": {
      "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CopyModelOperationMetadata",
      "genericMetadata": {
        "createTime": "2022-07-01T00:10:55.621355Z",
        "updateTime": "2022-07-01T00:10:55.621355Z"
      }
    }
  }

コンソール


モデルを別のプロジェクトにコピーするには、次の操作を行います。

  1. Google Cloud コンソールで、[Vertex AI Model Registry] ページに移動します。Vertex AI Model Registry に移動
  2. Model Registry で、コピーするモデルの [その他の操作] メニュー を選択します。
  3. [モデルのコピー] をクリックします。
  4. [別のプロジェクトへ] または [別のリージョンへ] を選択します。

別のプロジェクトにモデルをコピーする

  1. [別のプロジェクトへ] を選択します。
  2. コピーするモデル バージョンを選択します。
  3. コピー先のプロジェクトを選択します。
  4. 宛先リージョンを選択します(例: us-central1)。
  5. 詳細オプション: Google が管理する暗号鍵または Cloud KMS 鍵を使用して、暗号化方法を選択できます(省略可)。

ロケーション間でモデルをコピーする

REST

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

  • DESTINATION_LOCATION: Vertex AI を使用するリージョン。例: us-central1
  • SOURCE_LOCATION: モデルのコピー元の Vertex AI リージョン。
  • PROJECT_ID: プロジェクト ID またはプロジェクト番号。
  • MODEL_ID: コピーするモデルの ID。
  • VERSION_ID: (省略可)コピーするモデル バージョンの ID(指定しない場合、デフォルト バージョンがコピーされます)。

HTTP メソッドと URL:

POST https://DESTINATION_LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/models:copy

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


{"sourceModel": projects/PROJECT_ID/locations/SOURCE_LOCATION/models/MODEL_ID[@VERSION_ID]
}

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

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

  {
    "name": "projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID/operations/OPERATION_ID",
    "metadata": {
      "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CopyModelOperationMetadata",
      "genericMetadata": {
        "createTime": "2022-07-01T00:10:55.621355Z",
        "updateTime": "2022-07-01T00:10:55.621355Z"
      }
    }
  }

コンソール


リージョン間のコピーでは、ターゲット リージョン内の新しいモデルとして、またはそのリージョンにある既存のモデルの新しいバージョンとしてモデルをコピーできます。

モデルをコピーする手順は次のとおりです。

  1. Google Cloud コンソールで、[Vertex AI Model Registry] ページに移動します。Model Registry に移動
  2. Model Registry で、コピーするモデルの [その他の操作] メニュー を選択します。
  3. [モデルのコピー] をクリックします。
  4. [別のプロジェクトへ] または [別のリージョンへ] を選択します。

別のリージョンにモデルをコピーする

  1. [別のリージョンへ] を選択します。
  2. コピーするモデル バージョンを選択します。
  3. [新しいモデルとしてコピー] または [新しいバージョンとしてコピー] を選択します。
  4. 宛先のリージョンを選択します。
  5. 宛先モデル名またはモデル ID を追加します。モデルを初めてコピーする場合、新しいリージョンでデフォルトのエイリアスが割り当てられます。