一句話解釋
MLOps(Machine Learning Operations)是把機器學習模型從「實驗室」帶到「生產環境」的一套工程實務,涵蓋模型的開發、部署、監控和維護的完整生命週期。
為什麼需要 MLOps?
資料科學家在 Jupyter Notebook 裡訓練出一個準確率 95% 的模型,然後呢?
在沒有 MLOps 的世界,這個模型可能永遠停在 Notebook 裡。因為把模型上線到實際產品中,會面臨一系列的工程挑戰:
- 模型怎麼打包和部署?
- 上線後效能變差了怎麼辦?
- 資料格式變了怎麼辦?
- 怎麼同時管理多個版本的模型?
- 誰有權限部署新模型?
MLOps 就是為了解決這些問題而生的。
MLOps 的核心流程
1. 資料管理
- 資料收集、清洗、版本控制
- 確保訓練資料的品質和一致性
- 追蹤資料的來源和處理歷程
2. 模型開發
- 實驗追蹤:記錄每次訓練的參數、指標和結果
- 模型版本控制:管理不同版本的模型
- 可重現性:確保實驗結果可以被重現
3. 模型部署
- 打包模型為可部署的格式
- 設定服務端點(API)
- A/B 測試:新舊模型同時上線比較效果
4. 模型監控
- 效能監控:模型準確率是否下降?
- 資料漂移偵測:輸入資料的分布是否改變?
- 異常告警:效能低於閾值時自動通知
5. 模型更新
- 自動化再訓練流程
- 模型回滾機制
- 持續整合 / 持續部署(CI/CD for ML)
關鍵概念
Model Registry(模型註冊表)
用來儲存和管理模型版本的中央倉庫。每個模型的版本、訓練參數、效能指標都記錄在這裡。
考試常考:Model Registry 用於模型的版本管理和部署管理階段。
資料漂移(Data Drift)
上線後,實際收到的資料分布跟訓練時的資料不同了。例如:訓練時用的是夏天的銷售資料,但到了冬天,購買行為完全不同。
資料漂移會導致模型效能下降,需要及時偵測並重新訓練。
Feature Store(特徵倉庫)
統一管理和共享特徵的系統。不同團隊可以重複使用已經計算好的特徵,避免重複工作。
CI/CD for ML
把軟體工程的 CI/CD 概念應用到機器學習。自動化從資料處理、模型訓練、測試到部署的整個流程。
MLOps vs DevOps
| 面向 | DevOps | MLOps |
|---|---|---|
| 管理對象 | 程式碼 | 程式碼 + 資料 + 模型 |
| 版本控制 | 程式碼版本 | 程式碼 + 資料 + 模型版本 |
| 測試 | 單元測試、整合測試 | 加上模型效能測試、資料品質測試 |
| 監控 | 系統效能 | 加上模型效能、資料漂移 |
| 更新頻率 | 依開發進度 | 依資料變化和模型衰退 |
常見的 MLOps 工具
| 工具 | 用途 |
|---|---|
| MLflow | 實驗追蹤、模型註冊 |
| Kubeflow | 在 Kubernetes 上運行 ML 工作流 |
| DVC | 資料版本控制 |
| Weights & Biases | 實驗追蹤和視覺化 |
| Docker / Kubernetes | 模型打包和部署 |
iPAS 考試怎麼考?
MLOps 在中級科目一出現約 3 題,初級也可能考基本概念。
必記重點
- MLOps 管理模型的完整生命週期(開發→部署→監控→更新)
- Model Registry 用於模型版本管理
- 資料漂移是模型上線後效能下降的常見原因
- MLOps 跟 DevOps 的差異:多了「資料」和「模型」的管理維度
常見考題方向
- 「在 MLOps 流程中,Model Registry 最常用於哪個階段?」→ 模型版本管理和部署管理
- 「模型上線後準確率逐漸下降,最可能的原因是?」→ 資料漂移
- 「下列何者不屬於 MLOps 的範疇?」→ 排除法,注意區分 MLOps(工程實務)和 ML(模型訓練)