Vertex AI で AutoML 大規模モデルとカスタムモデルを目的のレベルまでトレーニングするには、時間とテストが必要です。使用したい良好なパフォーマンスのモデルが別のプロジェクトまたはロケーションにある場合は、新しいモデルのトレーニングはおすすめしません。モデルのトレーニングは本質的に非決定的であるため、最終的に同じデータから同じモデルが完成する可能性は低くなります。また、リージョン間でモデルの動作の整合性を維持する確実な方法は、各リージョンまたはプロジェクトでモデルをトレーニングする方法ではありません。Vertex AI Model Registry のモデルのコピー機能を使用すると、Vertex AI Model Registry から同じプロジェクト内の別のロケーションまたは別のプロジェクトにモデルをコピーできます。
モデルをコピーするときに、コピーするモデルのバージョンを指定しないと、デフォルトのモデル バージョンがコピーされます。モデルのデフォルトまたはモデル エイリアスの詳細については、モデル エイリアスの使用方法をご覧ください。
制限事項
モデルをコピーしても、すべてのモデル情報がコピーされるわけではありません。コピーされたモデルでは以下のものは保持されません。
- バージョンのエイリアス。
- カスタムモデル ID。モデルのコピー後に新しい ID を指定できます。
- 既存のモデル評価。
- 暗号化の仕様。コピー時にターゲット リージョン用に新しい仕様を指定する必要があります。
- デプロイとバッチ予測。
- プロジェクト間のコピーでは、サードパーティのコンテナ イメージを含むカスタムモデルをコピーできます。
プロジェクト間でモデルをコピーする
前提条件
プロジェクト間でモデルをコピーするには、まず、ソースモデルのオーナーが宛先プロジェクトにモデルのエクスポート権限を付与する必要があります。
- Google Cloud コンソールでプロジェクトを選択します。
- [IAM と管理] ページに移動します。
- IAM の権限ページで [アクセスを許可] をクリックすると、ポップアップ ウィンドウが表示され、ソース プロジェクトに新しいプリンシパルを追加できます。
- 宛先プロジェクトのプロジェクト番号と、宛先プロジェクトの P4SA 認証情報を取得します。
- 宛先プロジェクトの P4SA 認証情報を新しいプリンシパルとしてソース プロジェクトに追加し、Vertex AI サービス エージェントのロールを宛先プロジェクトの P4SA に割り当てます。
- [保存] をクリックすると、宛先プロジェクトの P4SA に、ソース プロジェクトからモデルをエクスポートする権限が付与されます。
REST
リクエストのデータを使用する前に、次のように置き換えます。
DESTINATION_LOCATION
: モデルをコピーするリージョン。例:us-central1
DESTINATION_PROJECT_ID
: モデルをコピーするプロジェクト ID またはプロジェクト番号。SOURCE_PROJECT_ID
: プロジェクト ID またはプロジェクト番号。SOURCE_LOCATION
: モデルのコピー元の Vertex AI リージョン。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" } } }
コンソール
モデルを別のプロジェクトにコピーするには、次の操作を行います。
- Google Cloud コンソールで、[Vertex AI Model Registry] ページに移動します。Vertex AI Model Registry に移動
- Model Registry で、コピーするモデルの [その他の操作] メニュー
を選択します。 - [モデルのコピー] をクリックします。
- [別のプロジェクトへ] または [別のリージョンへ] を選択します。
別のプロジェクトにモデルをコピーする
- [別のプロジェクトへ] を選択します。
- コピーするモデル バージョンを選択します。
- コピー先のプロジェクトを選択します。
- 宛先リージョンを選択します(例:
us-central1
)。 - 詳細オプション: 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" } } }
コンソール
リージョン間のコピーでは、ターゲット リージョン内の新しいモデルとして、またはそのリージョンにある既存のモデルの新しいバージョンとしてモデルをコピーできます。
モデルをコピーする手順は次のとおりです。
- Google Cloud コンソールで、[Vertex AI Model Registry] ページに移動します。Model Registry に移動
- Model Registry で、コピーするモデルの [その他の操作] メニュー
を選択します。 - [モデルのコピー] をクリックします。
- [別のプロジェクトへ] または [別のリージョンへ] を選択します。
別のリージョンにモデルをコピーする
- [別のリージョンへ] を選択します。
- コピーするモデル バージョンを選択します。
- [新しいモデルとしてコピー] または [新しいバージョンとしてコピー] を選択します。
- 宛先のリージョンを選択します。
- 宛先モデル名またはモデル ID を追加します。モデルを初めてコピーする場合、新しいリージョンでデフォルトのエイリアスが割り当てられます。