監控毫升模型與模型斷言
2021年7月22日 在工程的博客
這篇文章來自斯坦福大學的計算機科學係。我們感謝Daniel Kang Deepti Raghavan和斯坦福大學的彼得·百利的貢獻。
越來越多的機器學習(ML)模型中使用廣泛的業務應用程序。組織部署數百毫升模型預測客戶流失,最優定價,欺詐和更多。這些模型是部署在人類無法核實的情況下所有的預測,數據量太大!因此,監測這些毫升模型成為成功的關鍵,準確地運用毫升的用例。
在這篇文章中,我們將展示為什麼監測模型是至關重要的,如果我們不出現災難性的錯誤。我們的解決方案利用一個簡單,但有效的工具來監控毫升模型(發表在我們開發了斯坦福大學MLSys 2020)稱為模型斷言。我們還將描述如何使用開源Python庫model_assertions在真正的ML模型檢測錯誤。
為什麼我們需要監控
讓我們考慮一個簡單的例子估計房價在波士頓(數據集包含在scikit-learn)。這個例子是代表標準用例在業界公開的數據集。數據科學家可能會適合線性回歸模型使用房間的平均數量等特性來預測價格——這樣的模型在實踐中是標準的。使用聚合統計信息來測量性能,如RMSE,表明該模型表現相當不錯:
模型的性能為測試集- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -根均方誤差:4.93R^2:0.67
不幸的是,雖然這個模型平均表現良好,它使一些關鍵錯誤:
正如上麵強調的,模型預測負房價的一些數據。使用這個模型製定房價會導致給客戶現金購買一棟房子!beplay体育app下载地址如果我們隻看總指標的模型,我們將錯過這樣的錯誤。
雖然看似簡單,但這些類型的錯誤使用毫升模型時是無處不在的。在我們的論文全文,我們還介紹了如何應用模型斷言自主車輛和視覺數據(用一個例子預測屬性的電視新聞主播在這裏)。
模型斷言
在上麵的例子中,我們可以看到,毫升模型廣泛應用於實踐可以產生不一致的或荒謬的結果。作為解決這些問題的第一步,我們已經開發了一個API調用模型斷言。
模型斷言讓數據科學家,開發人員和領域專家指定當毫升模型可能發生錯誤。模型斷言接受模型的輸入和輸出,並返回包含潛在錯誤的記錄。
表格數據
讓我們來看一個例子與房地產價格預測模型。作為一個簡單的檢查,數據科學家指定房價預測必須是積極的。指定和注冊後斷言,它將國旗可能錯誤的數據點:
從model_assertions.checker進口檢查程序從model_assertions.per_row進口PerRowAssertion
#定義預測函數以標準方式defpred_fn(df模型=沒有一個):X = df.valuesy_pred = model.predict (X)返回pd。DataFrame (y_pred、列= (“價格”])#定義斷言輸出應該是積極的defoutput_pos(_inp,):返回出[0]
- 行斷言(例如,輸出應該積極)。
- 標識符一致性斷言指定相同的標識符的屬性應該同意。
- 時間一致性斷言指定實體不應該太多次出現和消失的時間窗口。
我們計劃增加更多的!
在我們的論文全文,我們將展示如何使用模型的其他例子斷言,包括自駕車輛、視頻分析和心電圖應用程序。此外,我們將描述如何使用模型斷言選擇訓練數據。使用模型斷言選擇訓練數據可以低於40%選擇訓練數據的標準方法。而不是選擇隨機的數據或通過不確定性,選擇“硬”數據點(即與錯誤或數據點的觸發模型斷言)可以包含更多的信息。
試著筆記本: