Google Distributed Cloud (GDC) 實體隔離方案提供預先建構的容器,可從使用下列機器學習 (ML) 架構訓練的模型提供線上預測:
- TensorFlow
- PyTorch
如要使用其中一個預先建構的容器,您必須將模型儲存為一或多個模型構件,且這些構件須符合預先建構容器的規定。無論模型構件是否在 Distributed Cloud 上建立,都適用這些規定。
事前準備
匯出模型構件前,請先執行下列步驟:
- 建立及訓練預測模型,並以其中一個支援的容器為目標。
- 如果您沒有專案,請為 Vertex AI 設定專案。
與基礎架構營運商 (IO) 合作建立預測叢集。
IO 會為您建立叢集、將其與專案建立關聯,並根據線上預測所需的資源,在叢集中指派適當的節點集區。
在專案中建立 Vertex AI Default Serving (
vai-default-serving-sa
) 服務帳戶。如要瞭解服務帳戶,請參閱「設定服務帳戶」。將「專案 Bucket 物件檢視者」(
project-bucket-object-viewer
) 角色授予您建立的儲存空間 bucket 的 Vertex AI 預設服務 (vai-default-serving-sa
) 帳戶。如要瞭解如何授予服務帳戶 Bucket 存取權,請參閱授予 Bucket 存取權。如要取得存取線上預測所需的權限,請要求專案 IAM 管理員授予您 Vertex AI 預測使用者 (
vertex-ai-prediction-user
) 角色。如要瞭解這個角色,請參閱「準備 IAM 權限」。
匯出至預先建構容器的架構專屬需求
視您打算用於預測的機器學習架構而定,您必須以不同格式匯出模型構件。以下各節說明每個機器學習架構可接受的模型格式。
TensorFlow
如果您使用 TensorFlow 訓練模型,請將模型匯出為 TensorFlow SavedModel 目錄。
您可以透過幾種方式從 TensorFlow 訓練程式碼匯出 SavedModels
。以下列出幾種適用於各種 TensorFlow API 的方法:
如果您使用 Keras 進行訓練,請使用
tf.keras.Model.save
匯出 SavedModel。如果您使用 Estimator 進行訓練,請使用
tf.estimator.Estimator.export_saved_model
匯出 SavedModel。否則,請使用
tf.saved_model.save
或使用tf.compat.v1.saved_model.SavedModelBuilder
。
如果您未使用 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
如需匯出詳細資料,請參閱匯出至預先建構容器的架構專屬需求。