本頁說明如何設定批次推論工作要求,以納入一次性模型監控分析。對於批次推論,模型監控功能支援類別和數值輸入特徵的特徵偏差偵測。
如要使用模型監控偏差分析功能建立批次推論工作,您必須在要求中同時納入批次推論輸入資料和模型的原始訓練資料。只有在建立新的批次推論工作時,才能新增模型監控分析。
如要進一步瞭解偏差,請參閱「模型監控簡介」。
如要瞭解如何為線上 (即時) 推論設定模型監控功能,請參閱「使用模型監控功能」。
必要條件
如要搭配批次推論使用模型監控功能,請完成下列步驟:
將訓練資料上傳至 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 是您要接收模型監控快訊的電子郵件地址。例如:
[email protected]
。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 特徵歸因
批次推論
表格模型設定
後續步驟
- 瞭解如何使用模型監控。
- 瞭解模型監控功能如何計算訓練/服務偏差和推論偏移。