重新定型的設計

已完成

在機器學習作業 (MLOps) 解決方案中準備模型以供生產環境使用時,您需要針對重新定型進行設計。

一般而言,當您想要重新定型模型時,可採取下列兩種方法:

  • 根據排程:如果您確定一律需要最新版本的模型,可以根據排程每週或每個月重新定型模型。
  • 根據計量:如果您只想要在必要時重新定型模型,可以監視模型的效能和資料漂移,決定何時需要重新定型模型。

不論是哪一種情況,您都需要針對重新定型進行設計。 若要輕鬆地重新定型模型,您應該針對自動化來準備程式碼。

準備程式碼

在理想情況下,您應該使用指令碼,而非筆記本來定型模型。 指令碼更適合自動化。 您可以將參數新增至指令碼,並變更輸入參數,例如定型資料或超參數值。 將指令碼參數化時,您可以視需要輕鬆依據新資料來重新定型模型。

準備程式碼的另一項重點是將程式碼裝載於中央存放庫中。 存放庫是指可儲存專案所有相關檔案的位置。 使用機器學習專案時,Git 型存放庫很適合用來確保原始檔控制

將原始檔控制套用至專案時,您可以輕鬆地在專案上共同作業。 您可以透過更新程式碼,指派其他人來改善模型。 您可以查看過去的所有變更,並先檢閱這些變更,再將其認可至主要存放庫。

自動化程式碼

當您想要自動執行程式碼時,可以設定 Azure Machine Learning 作業來執行程式碼。 在 Azure Machine Learning 中,您也可以建立和排程管線來執行指令碼。

如果您想要根據觸發程式或 Azure Machine Learning 外部發生的事件來執行指令碼,建議您透過其他工具觸發 Azure Machine Learning 作業。

MLOps 專案中常用的兩個工具是 Azure DevOps 和 GitHub (Actions)。 這兩個工具都可讓您建立自動化管線,並可觸發 Azure Machine Learning 管線。

資料科學家可能偏好使用 Azure Machine Learning Python SDK。 不過,使用 Azure DevOps 和 GitHub 之類的工具時,建議您改用 Azure Machine Learning CLI 延伸模組來設定必要的資源和作業。 Azure CLI 是專為自動化工作而設計,因此可能更易於搭配 Azure DevOps 和 GitHub 使用。