匯出用於預測工作的模型構件

Google Distributed Cloud (GDC) 實體隔離方案提供預先建構的容器,可從使用下列機器學習 (ML) 架構訓練的模型提供線上預測:

  • TensorFlow
  • PyTorch

如要使用其中一個預先建構的容器,您必須將模型儲存為一或多個模型構件,且這些構件須符合預先建構容器的規定。無論模型構件是否在 Distributed Cloud 上建立,都適用這些規定。

事前準備

匯出模型構件前,請先執行下列步驟:

  1. 建立及訓練預測模型,並以其中一個支援的容器為目標。
  2. 如果您沒有專案,請為 Vertex AI 設定專案
  3. 與基礎架構營運商 (IO) 合作建立預測叢集

    IO 會為您建立叢集、將其與專案建立關聯,並根據線上預測所需的資源,在叢集中指派適當的節點集區。

  4. 為專案建立儲存空間 bucket

  5. 在專案中建立 Vertex AI Default Serving (vai-default-serving-sa) 服務帳戶。如要瞭解服務帳戶,請參閱「設定服務帳戶」。

  6. 將「專案 Bucket 物件檢視者」(project-bucket-object-viewer) 角色授予您建立的儲存空間 bucket 的 Vertex AI 預設服務 (vai-default-serving-sa) 帳戶。如要瞭解如何授予服務帳戶 Bucket 存取權,請參閱授予 Bucket 存取權

  7. 如要取得存取線上預測所需的權限,請要求專案 IAM 管理員授予您 Vertex AI 預測使用者 (vertex-ai-prediction-user) 角色。如要瞭解這個角色,請參閱「準備 IAM 權限」。

匯出至預先建構容器的架構專屬需求

您打算用於預測的機器學習架構而定,您必須以不同格式匯出模型構件。以下各節說明每個機器學習架構可接受的模型格式。

TensorFlow

如果您使用 TensorFlow 訓練模型,請將模型匯出為 TensorFlow SavedModel 目錄

您可以透過幾種方式從 TensorFlow 訓練程式碼匯出 SavedModels。以下列出幾種適用於各種 TensorFlow API 的方法:

如果您未使用 Keras 或 Estimator,請務必在匯出 SavedModel 時使用 serve 標記和 serving_default 簽章,確保 Vertex AI 可以使用模型構件提供預測。Keras 和 Estimator 會自動處理這項工作。進一步瞭解如何在匯出時指定簽章

如要使用這些構件提供預測,請建立 Model,並使用預建的預測容器,該容器須與您用於訓練的 TensorFlow 版本相符。

PyTorch

如果您使用 PyTorch 訓練模型,請使用 Torch 模型封存工具建立封存檔案,封裝模型構件,包括預設自訂處理常式。預建的 PyTorch 映像檔會將封存檔命名為 model.mar,因此請務必將模型名稱設為 model

如要瞭解如何最佳化使用 TorchServe 服務的 PyTorch 模型記憶體用量、延遲時間或輸送量,請參閱 PyTorch 效能指南

上傳模型

您必須將模型上傳至您建立的儲存空間 bucket。 如要進一步瞭解如何將物件上傳至儲存空間值區,請參閱「在專案中上傳及下載儲存空間物件」。

模型儲存空間值區的路徑必須符合下列結構:

s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID

如需匯出詳細資料,請參閱匯出至預先建構容器的架構專屬需求