本頁說明如何設定批次推論工作要求,以納入一次性模型監控分析。對於批次推論,模型監控功能支援類別和數值輸入特徵的特徵偏差偵測。
如要使用模型監控偏差分析功能建立批次推論工作,您必須在要求中同時納入批次推論輸入資料和模型的原始訓練資料。只有在建立新的批次推論工作時,才能新增模型監控分析。
如要進一步瞭解偏差,請參閱「模型監控簡介」。
如要瞭解如何為線上 (即時) 推論設定模型監控功能,請參閱「使用模型監控功能」。
必要條件
如要搭配批次推論使用模型監控功能,請完成下列步驟:
- 將訓練資料上傳至 Cloud Storage 或 BigQuery,並取得資料的 URI 連結。 - 如果是使用 AutoML 訓練的模型,則可改用訓練資料集的資料集 ID。
 
- 模型監控會比較訓練資料與批次推論輸出內容。請務必使用支援的檔案格式,儲存訓練資料和批次推論輸出內容: - 模型類型 - 訓練資料 - 批次推論輸出內容 - 自訂訓練 - CSV、JSONL、BigQuery、TfRecord(tf.train.Example) - JSONL - AutoML 表格 - CSV、JSONL、BigQuery、TfRecord(tf.train.Example) - CSV、JSONL、BigQuery、TfRecord(Protobuf.Value) 
- 選用:如果是自訂訓練模型,請將模型結構定義上傳至 Cloud Storage。模型監控功能需要結構定義,才能計算偏差偵測的基準分布。 
要求批次推論
您可以使用下列方法,將 Model Monitoring 設定新增至批次推論工作:
控制台
請按照操作說明,發出啟用模型監控功能的批次推論要求:
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 為自訂表格模型執行批次推論工作。
Model Monitoring 會透過電子郵件自動通知工作的最新消息和快訊。
存取偏斜指標
您可以使用下列方法,存取批次推論作業的偏斜指標:
控制台 (直方圖)
使用 Google Cloud 控制台查看每個受監控特徵的特徵分布直方圖,並瞭解哪些變更導致偏移:
- 前往「批次預測」頁面: 
- 在「批次預測」頁面上,按一下要分析的批次推論工作。 
- 按一下「模型監控快訊」分頁,即可查看模型輸入特徵的清單,以及相關資訊,例如每個特徵的快訊門檻。 
- 如要分析某項功能,請按一下該功能的名稱。頁面會顯示該特徵的特徵分布直方圖。 - 以直方圖呈現資料分布情形,可讓您快速掌握資料的變化。之後,您可能會決定調整特徵生成管道或重新訓練模型。  
控制台 (JSON 檔案)
使用 Google Cloud 控制台以 JSON 格式存取指標:
- 前往「批次預測」頁面: 
- 按一下批次推論監控工作的名稱。 
- 按一下「監控屬性」分頁標籤。 
- 按一下「監控輸出目錄」連結,系統會將您導向 Cloud Storage bucket。 
- 按一下 - metrics/資料夾。
- 按一下 - skew/資料夾。
- 按一下 - feature_skew.json檔案,系統會將您導向「物件詳細資料」頁面。
- 使用任一選項開啟 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
如要存取自訂表格模型的偏差指標,請參閱範例筆記本,並使用 Model Monitoring 執行批次推論工作。
排解批次推論監控失敗問題
如果批次推論監控工作失敗,您可以在 Google Cloud 控制台中找到偵錯記錄:
- 前往「批次預測」頁面。 
- 按一下失敗的批次推論監控工作名稱。 
- 按一下「監控屬性」分頁標籤。 
- 按一下「監控輸出目錄」連結,系統會將您導向 Cloud Storage bucket。 
- 按一下 - logs/資料夾。
- 按一下任一 - .INFO檔案,系統會將您導向「物件詳細資料」頁面。
- 使用下列任一選項開啟記錄檔: - 按一下「下載」,然後在本機文字編輯器中開啟檔案。 
- 使用 gsutil URI 路徑,在 Cloud Shell 或本機終端機中執行 - gcloud storage cat gsutil_URI。
 
筆記本教學課程
如要進一步瞭解如何使用 Vertex AI Model Monitoring 取得模型的可視化資料和統計資料,請參閱這些端對端教學課程。
AutoML
- 適用於 AutoML 表格模型的 Vertex AI Model Monitoring
- AutoML 圖片模型批次預測的 Vertex AI 模型監控
- AutoML 圖片模型線上預測的 Vertex AI 模型監控
自訂
XGBoost 模型
Vertex Explainable AI 特徵歸因
批次推論
表格模型設定
後續步驟
- 瞭解如何使用模型監控。
- 瞭解模型監控功能如何計算訓練/服務偏差和推論偏移。