[讀書心得] 機器學習設計模式 – Machine learning design patterns (下)

有彈性的服務

16. Stateless serving function

17. Batch serving

18. Continued model evaluation

部署後的model隨時間改變,可能會漸漸不合用。像是垃報郵件過濾器、股票預測等等,環境可能會隨時間或是被model影響而改變。在部署後我們必需持續評估model的預測準確度,必要時觸發重新訓練的機制。

19. Two-phase predictions

有些model部署的環境可能沒有可靠的網路環境,邊緣裝置是常見的情境。使用Two-Phase Predictions設計時,將問題拆成兩個部份。先從比較小的,比較便宜、可部置到邊緣裝置的model開始。例如先從「ok google」的偵測當作第一個model,接下來的複雜的語音辨識當作第二個問題,只有在使用者提出問題時運行。

20. Keyed predictions

因為網路封包傳輸並不總能保證順序性,另外我們的model也有可能部署在分散環境中。Keyed predictions會在每一個預測請求中加入一個unique key value,把這個unique key當作一個model的feature,但model不做任何運作直接把此key value當作output。這樣可以讓使用者從眾多預測請求中輕鬆分辦出正確的順序。

再現性

21. Transform

作者定義input必須先進行transform才能變成model的feature,例如文字檔案必須先進行embedding才能轉換成model使用的feature。也就是說作者把這些reprocessing或是feature engineering叫作「transform」。一但訓練資料完成transform,model在訓練時並不需要知道如何transform。但在部署model到環境之後,必需將input做transform才能運作。故這些transform的方法必須好好保存。

22. Repeatable splitting

在分割training/validation/test data時,我們常用亂數分割的方法。但這個分割方法是有能力「重現」或是儲存。

23. Bridge schema

我們使用的資料格式(schema)是有可能改變的。例如我們原本有兩種支付方式:現金或卡片,但我們後來可能會把「卡片」再細分三類:信用卡、簽帳金融卡或禮物卡。我們必須讓model能同時處理新資料與舊的資料。

  • Probabilistic method:假設信用卡、簽帳金融卡、禮物卡的機率分別是10%、30%與60%。我們就把原本屬於舊資料的「卡片」在訓練時分別依照機率填入新的格式:信用卡、簽帳金融卡或禮物卡。
  • Static method:直接用one-hot encoding將舊資料代入feature為[0.1, 0.3, 0.6]來做訓練。作者通常會使用此法,因為處理快速且不需要一直呼叫隨機函數。

24. Windowed inference

有的問題是一連串時間相依的輸入,之前的輸入可能會影響之後輸入的預測結果。

例如要預測Dallas Fort Worth (DFW)機場抵達的班機是否為「abnormal arrival delays」,一個班機的延遲是否達到異常程度會受到最近兩小時其他班機的延遲狀態影響。我們收到一個班機抵達資訊可能只是一個timestamp:

2010-02-03 08:45:00,19.0

如上面八點四十五抵達的班機延遲19分鐘,但要從這點資訊來做預測幾乎不可能。這種情況我們可能要前幾個班機抵達的資料,例如:

2010-02-03 06:45:00,?
2010-02-03 06:?:00,?
...
2010-02-03 08:45:00,19.0

這種情境無法只對單一班機做inference,必需提供之前的資訊給model,即「Windowed inference」


25. Workflow pipeline

26. Feature Store

27. Model versioning

Responsible AI

28. Heuristic Benchmark

若我們已經有一個已在使用的預測系統,新的model就應該以其為比較的標的。但若這個新model沒有已存在的標的可做比較,我們就需要一個「Heuristic Benchmark」

  • 一個Stack Overflow問題需要等多久才會被回答
    • 皆預測會花2,120秒,其為中位數時間。
  • 預測自行車租用時間。關鍵為:站點與是否為通勤尖峰時刻。
    • 每一站平均租用時間做查表,且尖峰和離峰需分別列表。
  • 用視網膜影像做疾病預測。
    • 讓三位醫生檢查每張圖片,以多數醫師的看法視為正確解答。看看Model在人類專家中的百分位排名。

29. Explainable Predictions

30. Fairness Lens

發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料