本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
生產中模型的功能屬性漂移
生產中模型的即時資料分佈偏離可能會導致功能屬性值中對應的偏離,就像在監控偏差指標時可能會導致偏差偏離一樣。Amazon SageMaker Clarify 特徵屬性監控可協助資料科學家和 ML 工程師定期監控特徵屬性偏離的預測。監控模型時,客戶可以在 SageMaker Studio 中檢視可匯出的報告和圖形,並在 Amazon 中設定提醒 CloudWatch ,以便在偵測到屬性值偏離特定閾值時接收通知。
為了用具體情況來說明這一點,請假設一個大學入學的情況。假設我們在訓練資料和即時資料中觀察到下列 (彙總) 功能屬性值:
大學入學假設情況
功能 | 訓練資料中的屬性 | 即時資料中的屬性 |
---|---|---|
SAT 分數 | 0.70 | 0.10 |
GPA | 0.50 | 0.20 |
班級排名 | 0.05 | 0.70 |
從訓練資料到即時資料的變更看起來顯著。功能排名已完全顛倒。與偏差偏離類似,功能屬性偏離可能是由於即時資料分佈的變更所造成,並保證仔細研究即時資料上的模型行為。同樣地,在這些情況下的第一步是提出偏離已發生的警示。
我們可以透過比較從訓練資料到即時資料的各個功能排名如何變更來偵測偏離。除了對排名順序的變更敏感之外,我們還希望對功能的原始屬性分數敏感。舉例來說,假設在排名中的兩個功能從訓練到即時資料的名次都相同,則我們希望對訓練資料中屬性分數較高的功能更加敏感。考慮到這些屬性,我們使用標準化折扣累積增益 (NDCG) 分數來比較訓練和即時資料的特徵屬性排名。
具體來說,假設我們有以下情況:
-
F=[f1,…,fm] 是在訓練資料中根據其屬性分數排序的功能清單,其中 m 是功能總數。例如,在我們的案例中,F =【SAT 分數、GPA、類別排名】。
-
a(f) 是在特定功能 f 的訓練資料上傳回功能屬性分數的函式。例如,a (SAT 分數) = 0.70。
-
F′=[f′1, …, f′m] 是根據即時資料中的屬性分數排序的功能清單。例如,F ′= 【類別排名、GPA、SAT分數】。
然後,我們可以將 運算NDCG為:
NDCG=DCG/iDCG
取代為
-
DCG = 1∑m a (f'i)/log 2(i +1)
-
iDCG = 1∑m a (fi)/log 2(i +1)
數量會DCG測量訓練資料中具有高屬性的功能,在即時資料計算的功能屬性中是否也會排名較高。數量 iDCG 會測量理想的分數,而且只是標準化因素,以確保最終數量位於 【0、1】 範圍內,其中 1 是最佳值。NDCG 值 1 表示即時資料中的特徵屬性排名與訓練資料中的特徵屬性排名相同。在此特定範例中,由於排名變更相當多,因此NDCG值為 0.69。
在 SageMaker Clarify 中,如果NDCG值低於 0.90,我們會自動發出警示。
模型監控範例筆記本
SageMaker Clarify 提供下列範例筆記本,說明如何擷取即時端點的推論資料、建立基準來監控不斷變化的偏差,以及檢查結果:
-
監控偏差偏離和特徵屬性偏離 Amazon SageMaker Clarify
– 使用 Amazon SageMaker Model Monitor 監控隨著時間的偏差偏離和特徵屬性偏離。
此筆記本已經過驗證,只能在 SageMaker Studio 中執行。如果您需要如何在 SageMaker Studio 中開啟筆記本的指示,請參閱 建立或開啟 Amazon SageMaker Studio Classic Notebook。如果系統提示您選擇核心,請選擇 Python 3 (資料科學)。下列主題包含最後兩個步驟的重點內容,其中包含範例筆記本的程式碼範例。