準備模型進行部署
要從機器學習模型中獲得價值,你必須 部署 它,讓它能在企業需要時產生預測。 不過在部署之前,你會做出幾個決定,這些決定會影響整個流程的運作方式。
在醫療科技公司Proseware,資料科學團隊訓練一套分類模型,預測病患是否可能錯過即將到來的門診預約。 診所員工利用這個缺席風險分數決定事先聯絡哪些病人確認,讓診所能填補原本會空缺的名額。 該模型足夠精確,適合量產使用。 你的挑戰是讓它能穩定且可靠地提供預測結果,並建立一套團隊可在每次模型重新訓練後重複執行的流程。
選擇端點類型
Azure Machine Learning 支援兩種端點類型,選擇取決於預測結果的使用方式。 批次端點會為大量記錄產生預測,適用於定期評分工作。 線上端點在收到請求的瞬間,以低延遲同步回傳預測結果。
Proseware 的排程系統會在員工預約或改期時立即呼叫模型,因此可立即標記高風險預約,以便當天撥打確認電話。 由於預測需要立即回傳,團隊將模型部署到受管理 的線上端點。
用 MLflow 註冊模型
資料科學團隊會訓練未到風險模型,並使用 MLflow 將該模型封裝;MLflow 是一個開放原始碼平台,可用於追蹤機器學習實驗,並以標準格式封裝模型。 當訓練腳本呼叫 mlflow.autolog()時,MLflow 會自動將模型、參數及指標記錄為訓練工作輸出的一部分。
因為模型是以 MLflow 模型包裝,你可以直接從作業輸出註冊,無需寫自訂評分腳本或自己定義環境。 Azure Machine Learning 在部署期間會從模型的 MLflow 元資料產生這兩者,這種功能稱為無程式碼部署。 使用自訂模型格式(如 pickle 檔案)的團隊,需要撰寫並維護該評分腳本與環境。
Tip
了解更多關於在 Azure Machine Learning 中部署 MLflow 模型的資訊。
要註冊模型,你可以指向已完成的訓練工作輸出,或是存放在工作空間資料庫中的模型檔案。 一旦完成註冊,模型就會成為工作區中具版本控制的資產,而您或自動化工作流程在建立部署時,可以依名稱和版本加以參照。
隨著模型演進,請將成品登錄為新版本,而不要取代現有版本。 你可以更新版本的描述和標籤,但其他變更需要新版本。 將您不再希望顯示在預設清單中的版本封存。 歸檔不會刪除模型,工作流程在必要時仍可參考已歸檔的版本。
Tip
了解更多關於 管理註冊模特兒的方法。
規劃可重複部署
手動註冊並部署模型在首次發行時可行,但 Proseware 預計隨著新預約資料的傳入,會定期重新訓練爽約模型。 每個新版本重複相同的手動步驟既慢又容易出錯,因此團隊的目標是透過流程自動化註冊、部署與測試,這也是本模組其餘部分的目標。