iT邦幫忙

2025 iThome 鐵人賽

0
AI & Data

AI 實戰 30 天:Azure Foundry 與 Vertex AI 全面探索系列 第 27

Day27:AI 模型版本控管與持續部署(Model Versioning & Continuous Delivery)

  • 分享至 

  • xImage
  •  

AI 模型不像一般程式碼,只是檔案更新或功能上線那麼簡單。
它涉及:

  • 不同資料集訓練出來的多個版本
  • 模型輸出行為的不可預測性
  • 上線時需兼顧效能與品質監控

因此,我們需要一個完整的 版本控管(Versioning)持續部署(Continuous Delivery, CD) 機制,
讓每次模型上線都「可控、可回滾、可觀測」。


🔹 為什麼模型需要版本控管?

在開發過程中,我們會反覆:

  • 收集新資料重新訓練
  • 微調模型參數
  • 嘗試不同演算法

如果不做版本控管,會出現:

  • 模型覆蓋問題:不清楚目前服務用的是哪個版本
  • 回滾困難:新版表現不佳時無法快速恢復
  • 資料對應錯亂:無法追蹤某模型是基於哪批資料訓練出來的

✅ 模型版本控管應包含:

類別 要追蹤的內容
模型版本 模型名稱、版本號(如 v1.2.3
資料版本 資料集來源、時間、特徵工程流程
訓練環境 程式碼 Commit ID、套件版本、環境設定
評估結果 評估指標(Accuracy, F1, AUC...)
部署狀態 是否上線、部署時間、負載權重

🔹 模型版本控管工具與實作方式

🧩 1️⃣ MLflow Model Registry(Azure / 自架)

MLflow 是目前最流行的開源模型管理工具。
它提供:

  • 模型版本管理(Model Registry)
  • 評估記錄(Metrics & Parameters)
  • 標記狀態(Staging / Production / Archived)

📘 範例:

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。


上一篇
Day26:AI 模型監控與可觀測性設計
下一篇
Day28:AI 模型效能優化與推論加速(Model Optimization & Inference Tuning)
系列文
AI 實戰 30 天:Azure Foundry 與 Vertex AI 全面探索28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言