本頁面說明如何設定批次預測工作要求,納入一次性模型監控分析。針對批次預測,Model Monitoring 支援類別和數值輸入特徵的特徵偏差偵測功能。
如要建立含有模型監控偏差分析的批次預測工作,您必須在要求中加入批次預測輸入資料和模型的原始訓練資料。您只能在建立新的批次預測工作時,新增 Model Monitoring 分析。
如要進一步瞭解偏差,請參閱「Model Monitoring 簡介」。
如需線上 (即時) 預測的模型監控設定操作說明,請參閱「使用模型監控」。
必要條件
如要搭配批次預測使用模型監控功能,請完成下列步驟:
將訓練資料上傳至 Cloud Storage 或 BigQuery,並取得資料的 URI 連結。
- 如果是使用 AutoML 訓練的模型,您可以改用訓練資料集的資料集 ID。
模型監控會將訓練資料與批次預測輸出結果進行比較。請務必使用支援的檔案格式,輸入訓練資料和批次預測輸出內容:
模型類型 訓練資料 輸出批次預測結果 自訂訓練 CSV、JSONL、BigQuery、TfRecord(tf.train.Example) JSONL AutoML Tabular CSV、JSONL、BigQuery、TfRecord(tf.train.Example) CSV、JSONL、BigQuery、TfRecord(Protobuf.Value) 選用:如果是自訂訓練的模型,請將模型的結構定義上傳至 Cloud Storage。模型監控功能需要結構定義,才能計算偏差偵測的基準分布。
要求批次預測
您可以使用下列方法,將模型監控設定新增至批次預測工作:
控制台
請按照操作說明,發出啟用模型監控功能的批次預測要求:
REST API
請按照操作說明,使用 REST API 提出大量預測要求:
建立批次預測要求時,請將下列模型監控設定新增至要求 JSON 主體:
"modelMonitoringConfig": { "alertConfig": { "emailAlertConfig": { "userEmails": "EMAIL_ADDRESS" }, "notificationChannels": [NOTIFICATION_CHANNELS] }, "objectiveConfigs": [ { "trainingDataset": { "dataFormat": "csv", "gcsSource": { "uris": [ "TRAINING_DATASET" ] } }, "trainingPredictionSkewDetectionConfig": { "skewThresholds": { "FEATURE_1": { "value": VALUE_1 }, "FEATURE_2": { "value": VALUE_2 } } } } ] }
其中:
EMAIL_ADDRESS 是您要用來接收模型監控警示的電子郵件地址。例如:
example@example.com
。NOTIFICATION_CHANNELS:您希望接收模型監控快訊的 Cloud Monitoring 通知管道清單。請使用通知管道的資源名稱,您可以列出專案中的通知管道來擷取這些名稱。例如:
"projects/my-project/notificationChannels/1355376463305411567", "projects/my-project/notificationChannels/1355376463305411568"
。TRAINING_DATASET 是 Cloud Storage 中儲存的訓練資料集連結。
- 如要使用 BigQuery 訓練資料集的連結,請將
gcsSource
欄位替換為以下內容:
"bigquerySource": { { "inputUri": "TRAINING_DATASET" } }
- 如要使用 AutoML 模型的連結,請將
gcsSource
欄位替換為以下內容:
"dataset": "TRAINING_DATASET"
- 如要使用 BigQuery 訓練資料集的連結,請將
FEATURE_1:VALUE_1 和 FEATURE_2:VALUE_2 是您要監控的每項功能的警示門檻。舉例來說,如果您指定
Age=0.4
,當Age
特徵的輸入和基準分布之間的統計距離超過 0.4 時,模型監控功能就會記錄快訊。根據預設,每個分類和數值特徵都會以 0.3 的閾值值進行監控。
如要進一步瞭解模型監控設定,請參閱監控工作參考資料。
Python
請參閱範例筆記本,瞭解如何針對自訂表格模型,透過模型監控功能執行批次預測工作。
Model Monitoring 會透過電子郵件自動通知您工作更新和快訊。
存取偏差指標
您可以使用下列方法存取批次預測作業的偏差指標:
主控台 (次元表)
您可以使用 Google Cloud 控制台查看每個受監控特徵的特徵分布直方圖,瞭解哪些變更會導致偏移情形:
前往「批次預測」頁面:
在「批次預測」頁面中,按一下要分析的批次預測工作。
按一下「Model Monitoring Alerts」分頁,即可查看模型輸入特徵的清單,以及相關資訊 (例如每個特徵的快訊門檻)。
如要分析某個功能,請按一下該功能的名稱。頁面會顯示該特徵的特徵分布直方圖。
將資料分布以直方圖呈現,可讓您快速掌握資料變化。之後,您可以調整特徵產生管道或重新訓練模型。
控制台 (JSON 檔案)
使用 Google Cloud 主控台以 JSON 格式存取指標:
前往「批次預測」頁面:
按一下批次預測監控工作的名稱。
按一下「監控屬性」分頁標籤。
按一下「Monitoring output directory」連結,系統會將您導向 Cloud Storage 值區。
按一下「
metrics/
」資料夾。按一下「
skew/
」資料夾。按一下
feature_skew.json
檔案,系統會將您導向「Object details」(物件詳細資料) 頁面。使用下列任一選項開啟 JSON 檔案:
按一下「下載」,然後在本機文字編輯器中開啟檔案。
使用 gsutil URI 路徑,在 Cloud Shell 或本機終端機中執行
gcloud storage cat gsutil_URI
。
feature_skew.json
檔案包含字典,其中鍵為特徵名稱,值為特徵偏差。例如:
{ "cnt_ad_reward": 0.670936, "cnt_challenge_a_friend": 0.737924, "cnt_completed_5_levels": 0.549467, "month": 0.293332, "operating_system": 0.05758, "user_pseudo_id": 0.1 }
Python
請參閱範例筆記本,瞭解如何在使用模型監控功能執行批次預測工作後,存取自訂表格模型的偏差指標。
對批次預測監控失敗情形進行偵錯
如果批次預測監控工作失敗,您可以在 Google Cloud 控制台中找到除錯記錄:
前往「批次預測」頁面。
按一下失敗的批次預測監控工作名稱。
按一下「監控屬性」分頁標籤。
按一下「Monitoring output directory」連結,系統會將您導向 Cloud Storage 值區。
按一下「
logs/
」資料夾。按一下任一
.INFO
檔案,系統會導向「Object details」頁面。使用下列任一選項開啟記錄檔案:
按一下「下載」,然後在本機文字編輯器中開啟檔案。
使用 gsutil URI 路徑,在 Cloud Shell 或本機終端機中執行
gcloud storage cat gsutil_URI
。
筆記本教學課程
請參閱這些端對端教學課程,進一步瞭解如何使用 Vertex AI 模型監控功能,取得模型的圖表和統計資料。
AutoML
- AutoML 資料表模型的 Vertex AI 模型監控
- Vertex AI Model Monitoring:AutoML 圖像模型的批次預測
- Vertex AI Model Monitoring:AutoML 圖像模型線上預測
自訂
- 適用於自訂表格式模型的 Vertex AI Model Monitoring
- 使用 TensorFlow Serving 容器,為自訂表格模型進行 Vertex AI Model Monitoring
XGBoost 模型
Vertex Explainable AI 特徵歸因
批次預測
表格式模型的設定
後續步驟
- 瞭解如何使用模型監控。
- 瞭解模型監控功能如何計算訓練/應用偏差和預測偏移。