AI 模型不像一般程式碼,只是檔案更新或功能上線那麼簡單。
它涉及:
因此,我們需要一個完整的 版本控管(Versioning) 與 持續部署(Continuous Delivery, CD) 機制,
讓每次模型上線都「可控、可回滾、可觀測」。
在開發過程中,我們會反覆:
如果不做版本控管,會出現:
| 類別 | 要追蹤的內容 |
|---|---|
| 模型版本 | 模型名稱、版本號(如 v1.2.3) |
| 資料版本 | 資料集來源、時間、特徵工程流程 |
| 訓練環境 | 程式碼 Commit ID、套件版本、環境設定 |
| 評估結果 | 評估指標(Accuracy, F1, AUC...) |
| 部署狀態 | 是否上線、部署時間、負載權重 |
MLflow 是目前最流行的開源模型管理工具。
它提供:
📘 範例:
import mlflow
mlflow.set_tracking_uri("azureml://your-workspace")
mlflow.set_experiment("Churn-Prediction")
with mlflow.start_run() as run:
mlflow.log_param("max_depth", 6)
mlflow.log_metric("accuracy", 0.92)
mlflow.sklearn.log_model(model, "model", registered_model_name="ChurnModel")
這樣你就能在 Azure Machine Learning Studio 中看到版本化紀錄,
並透過 UI 控制模型升級或回滾。
2️⃣ Vertex AI Model Registry
Google 提供原生版本管理機制:
每次上傳模型時,系統會自動建立新版本,並記錄訓練資料與環境。
📘 範例:
gcloud ai models upload \
--region=us-central1 \
--display-name="fraud-detection" \
--container-image-uri=us-docker.pkg.dev/vertex-ai/prediction/sklearn-cpu.1-0:latest
上傳後你可以用:
gcloud ai models list
看到每個版本的部署狀態、訓練來源、及使用的 Artifact。