本頁面提供 Vertex AI Model Monitoring 的總覽。
監控總覽
Vertex AI Model Monitoring 可讓您視需要或定期執行監控工作,以便追蹤表格模型的品質。如果您已設定快訊,Vertex AI Model Monitoring 會在指標超過指定門檻時通知您。
舉例來說,假設您有一個可預測顧客終身價值的模型。隨著消費者習慣的改變,預測消費者支出的因素也會隨之變動。因此,先前用於訓練模型的特徵和特徵值,可能與目前的預測結果無關。資料的這種偏差稱為漂移。
當偏差超出指定的閾值時,Vertex AI Model Monitoring 會追蹤並發出警示。接著,您可以重新評估或重新訓練模型,確保模型的運作方式符合預期。
舉例來說,Vertex AI Model Monitoring 可提供下圖所示的視覺化資料,其中重疊了兩個資料集的兩個圖表。這項視覺化功能可讓您快速比較及查看兩組資料之間的差異。
Vertex AI Model Monitoring 版本
Vertex AI Model Monitoring 提供兩種服務:第 2 版和第 1 版。
Model Monitoring v2 目前處於預覽階段,是最新的服務,可將所有監控工作與模型版本建立關聯。相反地,Model Monitoring 1.0 已正式發布,並在 Vertex AI 端點上進行設定。
如果您需要正式版支援,且想監控在 Vertex AI 端點上部署的模型,請使用 Model Monitoring v1。針對所有其他用途,請使用 Model Monitoring v2,該版本提供 Model Monitoring v1 的所有功能,以及更多功能。如需更多資訊,請參閱各個版本的總覽:
對於現有的 Model Monitoring v1 使用者,Model Monitoring v1 會維持原樣。您不需要遷移至 Model Monitoring v2。如果您想遷移,可以同時使用這兩個版本,直到完全遷移至 Model Monitoring 第 2 版為止,以免在轉換期間出現監控空白。
Model Monitoring 2.0 總覽
設定模型監控器並執行監控工作後,您可以使用 Model Monitoring v2 追蹤指標的時間變化。您可以執行監控工作或設定排程。透過排定執行作業,Model Monitoring 會根據您定義的排程自動執行監控工作。
監控目標
您監控的指標和門檻會對應至監控目標。您可以為每個模型版本指定一或多個監控目標。下表詳細說明各項目標:
目標 | 說明 | 地圖項目資料類型 | 支援的指標 |
---|---|---|---|
輸入特徵資料偏移 |
比較輸入特徵值的分布情形與基準資料分布情形。 |
分類:布林值、字串、分類 |
|
數值:浮點數、整數 | Jensen Shannon Divergence | ||
輸出預測資料偏移 |
比較模型的預測資料分布情形與基準資料分布情形。 |
分類:布林值、字串、分類 |
|
數值:浮點數、整數 | Jensen Shannon Divergence | ||
特徵歸因 |
評估特徵對模型預測結果的貢獻度變化,並與基準值進行比較。舉例來說,您可以追蹤某項重要功能是否突然降低重要性。 |
所有資料類型 | SHAP 值 (SHapley 加總解釋) |
輸入特徵和輸出預測偏移
模型在正式環境中部署後,輸入資料可能與用於訓練模型的資料不同,或是正式環境中特徵資料的分布情況可能隨時間大幅變動。模型監控 v2 可監控正式環境資料與訓練資料的分布變化,或追蹤正式環境資料分布的變化趨勢。
同樣地,針對預測資料,Model Monitoring 2.0 可監控預測結果分布的變化,並與訓練資料或正式環境資料的分布比較。
特徵歸因
特徵歸因會指出模型中各項特徵對每個指定例項的預測結果影響程度。歸因分數與特徵對模型預測結果的貢獻成正比。這些值通常會加上符號,表示某項功能會使預測值上升或下降。所有特徵的歸因值加總後,必須等於模型的預測分數。
透過監控特徵歸因,Model Monitoring 2.0 會追蹤特徵對模型預測結果的貢獻變化。主要特徵的歸因分數有所變動,通常表示特徵已發生變化,可能會影響模型預測的準確度。
如要進一步瞭解功能歸因和指標,請參閱「以功能為依據的說明」和「採樣夏普利方法」。
如何設定 Model Monitoring v2
您必須先在 Vertex AI Model Registry 中註冊模型。如果您在 Vertex AI 以外提供模型,則不需要上傳模型構件。接著,您會建立模型監控器,並將其與模型版本建立關聯,然後定義模型結構定義。對於部分模型 (例如 AutoML 模型),系統會提供結構定義。
在模型監控器中,您可以選擇指定預設設定,例如監控目標、訓練資料集、監控輸出位置和通知設定。詳情請參閱「設定模型監控功能」。
建立模型監控器後,您可以視需要執行監控工作,或排定定期工作以進行持續監控。執行工作時,除非您提供其他監控設定,否則 Model Monitoring 會使用模型監控器中的預設設定。舉例來說,如果您提供不同的監控目標或比較資料集,模型監控會使用工作設定,而非模型監控器的預設設定。詳情請參閱「執行監控工作」。
定價
預先發布版期間不會產生 Model Monitoring v2 費用。您仍需為使用其他服務 (例如 Cloud Storage、BigQuery、Vertex AI 批次預測、Vertex Explainable AI 和 Cloud Logging) 支付費用。
筆記本教學課程
以下教學課程將示範如何使用 Vertex AI SDK for Python 為模型設定 Model Monitoring v2。
模型監控 v2:自訂模型批次預測工作
模型監控 v2:自訂模型線上預測
Model Monitoring 2.0:Vertex AI 以外的模型
Model Monitoring v1 總覽
為協助您維持模型效能,Model Monitoring 1.0 會監控模型的預測輸入資料,偵測特徵偏差和偏移情形:
當正式環境和模型訓練作業的特徵資料分布情況不同時,就會發生訓練/應用偏差。如果有原始訓練資料,可以啟用偏差偵測功能,監控模型是否出現訓練/應用偏差情形。
當正式環境中的特徵資料分布情況隨時間大幅變動時,就會發生預測偏移。如果沒有原始訓練資料,可以啟用偏移偵測功能,監控輸入資料的變化趨勢。
您可以同時啟用偏差和偏移偵測功能。
模型監控 v1 支援類別和數值特徵的功能偏差和偏移偵測:
類別特徵是指資料受限於可能值數量的資料,通常會依質性屬性分組。例如產品類型、國家/地區或客戶類型等類別。
數值特徵是指可為任何數值的資料。例如體重和身高。
當模型功能的偏差或偏移超過您設定的快訊門檻時,Model Monitoring v1 就會傳送電子郵件快訊給您。您也可以查看各特徵隨時間變化的分布情形,評估是否需要重新訓練模型。
計算偏移
為了偵測 v1 的偏移情形,Vertex AI 模型監控功能會使用 TensorFlow 資料驗證 (TFDV) 來計算分布和距離分數。
計算基準統計資料分布:
對於偏移偵測,基準是訓練資料中特徵值的統計分佈情況。
對於偏移偵測,基準線是過去實際工作環境中特徵值的統計分佈情況。
類別和數值特徵的分布計算方式如下:
對於類別特徵,計算的分布情形是特徵的每個可能值的個數或百分比。
對於數值特徵,Vertex AI 模型監控會將可能的特徵值範圍劃分為相等間隔,並計算各個間隔中特徵值的數量或百分比。
基準會在您建立 Vertex AI 模型監控工作時計算,且只有在您更新工作訓練資料集時才會重新計算。
計算實際環境中最新特徵值的統計分佈情況。
計算距離分數,比較實際環境中最新特徵值的分布情形與基準分布情形:
對於分類特徵,系統會使用 L-infinity 距離計算距離分數。
對於數值特徵,系統會使用 Jensen-Shannon 差異度來計算距離分數。
如果兩個統計分布之間的距離分數超過您指定的門檻,Vertex AI 模型監控會將異常情形識別為偏差或偏移。
以下範例顯示分類特徵的基準和最新分布之間的偏差或漂移:
基準分布
最新發布
以下範例顯示數值特徵的基準和最新分佈之間的偏差或漂移:
基準分布
最新發布
使用模型監控的注意事項
為提高成本效益,您可以設定預測要求取樣率,監控模型的正式版輸入內容子集。
您可以設定頻率,以便監控已部署模型最近記錄的輸入內容是否出現偏差或偏移。監控頻率會決定每次監控執行作業中,要分析記錄資料的時間範圍或監控視窗大小。
您可以為每項要監控的特徵指定快訊門檻。如果輸入特徵分布與相應基準之間的統計距離超過指定門檻,系統就會記錄警示。根據預設,系統會監控每個類別和數值特徵,閾值值為 0.3。
線上預測端點可代管多個模型。在端點上啟用偏差或偏移偵測功能時,下列設定參數會在該端點中託管的所有模型間共用:
- 偵測類型
- 監控頻率
- 監控的輸入要求比例
對於其他設定參數,您可以為每個模型設定不同的值。