生產環境中模型的功能屬性偏離 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

生產環境中模型的功能屬性偏離

生產中模型的即時資料分佈偏離可能會導致功能屬性值中對應的偏離,就像在監控偏差指標時可能會導致偏差偏離一樣。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 = ∑1ma(f'i)/log2​(i+1)

  • iDCG = ∑1ma(fi)/log2​(i+1)

數量 DCG 會測量訓練資料中具有高屬性的功能是否也會在即時資料中計算的功能屬性中排名較高。數量 iDCG 會測量理想分數,它只是一個正常化係數,以確保最終數量駐留在範圍 [0, 1] 內,其中 1 是最佳的可能值。NDCG 值為 1 表示即時資料中的功能屬性排名與訓練資料中的功能屬性排名相同。在此特定範例中,由於排名變更了很多,因此 NDCG 值為 0.69。

在 SageMaker Clarify 中,如果 NDCG 值低於 0.90,我們會自動提出警示。

模型監控範例筆記本

SageMaker Clarify 提供下列範例筆記本,其中顯示如何擷取即時端點的推論資料、建立基準以監控不斷發展的偏差,以及檢查結果:

此筆記本已通過驗證,只能在 SageMaker Studio 中執行。如果您需要有關如何在 SageMaker Studio 中打開筆記本的說明,請參閱建立或開啟 Amazon SageMaker Studio Classic 筆記本。如果系統提示您選擇核心,請選擇 Python 3 (資料科學)。下列主題包含最後兩個步驟的重點內容,其中包含範例筆記本的程式碼範例。