在 Vertex AI 中訓練 AutoML、大型模型和自訂模型,達到您想要的程度需要時間和實驗。如果您有成效良好的模型,想在其他專案或位置使用,訓練新模型並非最佳選擇。模型訓練本質上具有不確定性,因此您不太可能從相同資料獲得相同模型。此外,在每個區域或專案中訓練模型,並非維持跨區域模型行為一致性的萬無一失方法。透過 Vertex AI Model Registry 複製模型,您可以將模型從 Vertex AI Model Registry 複製到同一專案或不同專案中的其他位置。
執行模型副本時,如未指定要複製的模型版本,系統會複製預設模型版本。如要進一步瞭解模型預設值或模型別名,請參閱如何使用模型別名。
限制
複製模型時,並非所有模型資訊都會一併複製。複製的模型不會保留下列項目:
- 版本別名。
- 自訂模型 ID。複製模型後,即可指定新的 ID。
- 任何現有的模型評估。
- 加密規格。為目標地區複製模型時,您必須指定加密金鑰。
- 部署作業和批次推論。
如果是跨專案複製,您無法複製含有第三方容器映像檔的自訂模型。
在專案之間複製模型
必要條件
如要在專案間複製模型,來源模型擁有者必須先將模型匯出權限授予目的地專案:
預設
- 在 Google Cloud 控制台中選取來源專案。
- 前往「IAM & Admin」(IAM 與管理) 頁面。
- 在「IAM 權限」頁面,按一下「授予存取權」,隨即會顯示彈出式視窗,讓您將新主體新增至來源專案。
- 取得目的地專案的每個產品和每個專案服務帳戶 (P4SA)
service-{project_number}@gcp-sa-aiplatform.iam.gserviceaccount.com。 - 將目標專案的 P4SA 新增為來源專案的新主體,並指派 Vertex AI 服務代理角色。
- 按一下「儲存」後,目標專案 P4SA 就能從來源專案匯出模型。
使用自訂服務帳戶
- 建立自訂服務帳戶或使用現有帳戶。這個服務帳戶必須屬於模型複製到的目的地專案,且您必須具備這個服務帳戶的
iam.serviceAccounts.actAs權限。 - 在 Google Cloud 控制台中選取來源專案。
- 前往「IAM & Admin」(IAM 與管理) 頁面。
- 在「IAM 權限」頁面,按一下「授予存取權」,隨即會顯示彈出式視窗,讓您將新主體新增至來源專案。
- 將自訂服務帳戶新增為來源專案的新主體,並指派
Vertex AI User角色或具有aiplatform.models.export權限的任何自訂角色。 - 按一下「儲存」後,自訂服務帳戶就會取得從來源專案匯出模型的權限。
- 取得目的地專案的每個產品和每個專案服務帳戶 (P4SA)
service-{project_number}@gcp-sa-aiplatform.iam.gserviceaccount.com。 - 將目標專案的 P4SA 授予自訂服務帳戶的
Service Account Token Creator角色。
在專案之間複製模型:
REST
使用任何要求資料之前,請先修改下列項目的值:
DESTINATION_LOCATION:要將模型複製到的區域。例如:us-central1DESTINATION_PROJECT_ID:要將模型複製到的專案 ID 或專案編號。SOURCE_PROJECT_ID:專案 ID 或專案編號。SOURCE_LOCATION:要複製模型的 Vertex AI 區域。SOURCE_MODEL_ID:要複製的模型 ID 來源。VERSION_ID:(選用) 要複製的模型版本 ID (如未提供,系統會複製預設版本)
HTTP 方法和網址:
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」中,選取要複製模型的「More actions」選單 。
- 按一下「複製模型」。
- 選擇「移至其他專案」或「移至其他區域」。
將模型複製到其他專案
- 選擇「To another project」(移至其他專案)。
- 選擇要複製的模型版本。
- 選擇要複製到的目標專案。
- 選擇目的地區域,例如
us-central1。 - 進階選項:可選擇使用 Google-owned and Google-managed encryption key 或 Cloud KMS 金鑰加密。
在不同位置之間複製模型
REST
使用任何要求資料之前,請先修改下列項目的值:
DESTINATION_LOCATION:您使用 Vertex AI 的區域。例如:us-central1SOURCE_LOCATION:要從中複製模型的 Vertex AI 區域。PROJECT_ID:專案 ID 或專案編號。MODEL_ID:要複製的模型 ID。VERSION_ID:(選用) 要複製的模型版本 ID (如未提供,系統會複製預設版本)
HTTP 方法和網址:
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」中,選取要複製模型的「More actions」選單 。
- 按一下「複製模型」
- 選擇「移至其他專案」或「移至其他區域」。
將模型複製到其他區域
- 選擇「轉移至其他區域」。
- 選擇要複製的模型版本。
- 選取「複製為新模型」或「複製為新版本」。
- 選擇目的地區域。
- 新增目的地型號名稱或型號 ID。如果您是第一次複製模型,系統會在新區域中指派預設別名。