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

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

  • TensorFlow
  • PyTorch

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

事前準備

匯出模型構件前,請先完成下列步驟:

  1. 建立及訓練預測模型,並指定支援的容器。
  2. 如果沒有專案,請設定 Vertex AI 專案。
  3. 與基礎架構運算子 (IO) 合作,建立預測叢集。

    IO 會為您建立叢集、將叢集與專案建立關聯,並在叢集內指派適當的節點集區,同時考量您線上預測所需的資源。

  4. 為專案建立 Storage bucket。

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

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

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

  8. 如要取得部署線上預測模型所需的權限,請要求 IAM 專案管理員授予 Vertex AI Prediction 管理員 (vertex-ai-prediction-Admin) 角色。如要瞭解這個角色,請參閱「準備 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。如要進一步瞭解如何將物件上傳至儲存空間 bucket,請參閱「上傳及下載專案中的儲存空間物件」。

模型儲存空間 bucket 的路徑必須採用下列結構:

s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID

如要瞭解匯出作業的詳細資料,請參閱匯出至預先建構容器的架構專屬規定。