本文說明 Azure Machine Learning 登錄檔如何將機器學習資產與工作空間分離,讓您能在開發、測試及生產環境中使用 MLOps。 您的環境可能會隨 IT 系統的複雜性而不同。 下列因素會對您需要的環境數目和類型產生影響:
- 安全性與合規性原則。 在存取控制、網路架構、資料暴露等方面,生產環境可能需要與開發環境隔離。
- 訂閱。 開發環境和生產環境常會使用個別的訂用帳戶進行計費、預算與成本管理。
- 區域。 您可能需要部署至不同的 Azure 區域,以支援延遲和備援需求。
在前述情況下,您可能會使用不同的 Azure Machine Learning 工作區進行開發、測試及生產。 此設定顯示模型定型和部署可能會有的下列挑戰:
您可能需要在開發工作區中定型模型,但要將其部署至生產工作區中的端點 (可能位於不同的 Azure 訂用帳戶或區域)。 在此情況下,您必須能夠回溯訓練作業。 例如,若生產部署發生正確性或效能問題,您就必須分析用來定型模型的計量、記錄、程式碼、環境和資料。
您可能需要在開發工作區中使用測試資料或匿名化資料來建立訓練管線,但在生產工作區中使用生產資料重新訓練模型。 在這種情況下,你可能需要比較樣本資料與生產資料的訓練指標,以確保訓練優化能與實際數據良好配合。
使用登錄跨工作區進行 MLOps
登錄檔就像 Git 儲存庫一樣,將機器學習資產與工作區解耦,並將資產存放在中央位置,讓組織內所有工作區都能存取。 利用登錄檔來儲存和分享資產,例如 模型、 環境、 元件和 資料資產。
為了在開發、測試和生產環境中推廣模型,首先在開發環境中反覆開發模型。 當你有一個好的候選模型時,就把它發佈到登錄機構。 然後可以將模型從登錄部署到不同工作區中的端點。
提示
如果您已在工作區中註冊模型,則可以將這些模型提升至登錄區。 您也可以直接從訓練作業的輸出,將模型登錄至登錄中。
若要在某個工作區中開發管線,然後在其他工作區中執行該管線,請先註冊構成管線建置組塊的元件和環境。 當您提交管線作業時,每個工作區各自專屬的計算資源和訓練資料,會決定該作業要在哪個工作區中執行。
下圖顯示探索與開發工作區之間的訓練管線提升流程,接著將訓練完成的模型提升至測試和生產環境。