

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

# 6. 持續監控
<a name="monitoring"></a>

在持續監控中，自動化程序會觀察和偵測效能問題和模型問題。然後，擁有者可以即時識別潛在問題和威脅，以快速解決這些問題和威脅。

持續監控可能模型問題，例如資料品質、分佈轉移、模型概念轉移和模型品質降級。持續監控也包含傳統系統測量的完整記錄，例如飽和度、延遲、流量和錯誤。會設定實際的通知和提醒策略，以便在發生問題時通知擁有者。


|  |  | 
| --- |--- |
| **6.1 模型監控：資料品質偵測** | 規則型監控是用來了解傳入資料何時偏離模型訓練資料。這種類型的監控會從訓練資料建立結構描述、根據該結構描述設定限制，然後在發生違規時執行例外狀況。 | 
| **6.2 模型監控：分佈轉移** | 監控設定為查看傳入的資料分佈，並檢查它是否未偏離模型訓練資料分佈。例如，傳入的資料會在 中取樣[，做為高於推論資料的移動時段](https://www.cs.princeton.edu/courses/archive/spr04/cos598B/bib/BabcockDM.pdf)。然後執行任務來測試取樣分佈和訓練分佈，以查看它們是否相同。 | 
| **6.3 模型監控：模型概念偏離** | 概念偏離檢查會尋找模型輸入與目標變數之間的關係，以與訓練資料保持不變。另一個檢查是確認相對功能及其重要性不會變更。 | 
| **6.4 模型監控：模型評估檢查** | 這是監控檢查，可評估模型的品質是否已降低。模型評估檢查會將訓練時間的基準評估指標與傳入結果進行比較，以評估新資料的模型準確度等級是否已降低。由於它會計算準確性指標，因此此檢查需要新資料的基本真相，才能在推論後使用。 | 
| **6.5 系統擷取：輸入結構描述** | ML 系統會擷取訓練、測試和驗證資料的結構描述。除了提供有關輸入的資訊，結構描述還提供有關其偏斜和完整性的統計資料。  結構描述用於生產環境中的立即測試和資料品質監控檢查。 | 
| **6.6 系統擷取：評估結果和統計資料** | ML 系統會輸出驗證和訓練資料的準確性資訊。它可以從驗證和訓練執行中輸出預測和真實標籤。這些是做為即時生產模型的監控限制條件。 | 
| **6.7 系統擷取：異常** | 有追蹤機制可標記傳入資料串流中的異常。如果傳入資料中發生極端值，或在指定的時間範圍內，金鑰特徵分佈變更，系統會將此視為異常並予以標記。 | 
| **6.8 記錄：飽和和資源** | 有記錄系統的完整程度。資源和飽和指標應著重於 CPU 使用率、圖形處理單元 (GPU) 使用率、記憶體使用率和磁碟使用率。這些指標應以時間序列格式提供，並能夠以百分位數為單位進行測量。對於批次任務，這會提供有關輸送量的資訊，這會顯示系統在每個時間量中可以處理的資訊單位數量。 | 
| **6.9 記錄：延遲** | 應建立日誌記錄，以測量網路通訊的延遲或處理請求所需的時間。工程師應該能夠判斷推論模型提供預測所需的時間，以及模型載入所需的時間。 | 
| **6.10 記錄：流量** | 流量的記錄設定會測量每個執行個體上的流量。流量的測量方式是 HTTP 請求的數量，以及在特定時間內傳送或接收的位元組或封包數量。記錄流量可提供系統上總工作負載的洞見。 | 
| **6.11 記錄：錯誤** | 錯誤的記錄設定會擷取失敗的請求數量。失敗類型如下：  明確 （例如 HTTP 500 錯誤）   隱含 （例如，搭配錯誤內容的 HTTP 200 成功回應）   政策 （例如，如果您承諾一秒的回應時間，一秒內的任何請求都是錯誤）  如果通訊協定回應代碼不足以表達所有失敗條件，則可能需要次要 （內部） 通訊協定來追蹤部分失敗模式。 | 
| **6.12 通知和提醒** | 通知和提醒是從監控設定。通知包括取得 Slack、電子郵件通知、頁面和簡訊服務 (SMS) 訊息的功能。提醒並不表示傳送所有可能違規的通知。相反地，這表示將提醒設定為對開發團隊有意義且重要的特定例外狀況。如此一來，可避免警示疲勞。 | 