M09.10|MLOps 成熟度模型:從「跑得動」到「跑得好」的組織旅程
一個模型上線不難 — 難的是讓整個組織持續、可靠、有效率地做 AI
本講學習重點
Level 0:手動、腳本化;Level 1:ML 流水線自動化;Level 2:CI/CD for ML(持續整合和持續部署)
Level 0 的痛點:訓練-服務偏差、無法重現、手動部署、版本混亂
Level 1 核心組件:自動化訓練流水線、特徵工程自動化、模型驗證、模型服務
Level 2 增加:自動觸發重訓練、自動化測試(模型 + 資料 + 訓練程式碼)、持續監控觸發自動回滾
Feature Store:統一管理特徵計算邏輯,確保訓練和服務使用完全相同的特徵,解決訓練-服務偏差
Model Registry:集中存儲模型版本、元資料(訓練資料版本、超參數、評估指標)、部署狀態
組織轉型難點:數據孤島、技術債、跨部門協作(資料工程 vs 機器學習 vs 軟體工程 vs 業務)
🎙️ Podcast(中文)
一句話搞懂
MLOps 成熟度模型是在回答「你的組織做 AI 有多成熟」這個問題的地圖——Level 0 是「靠少數幾個資料科學家手動跑腳本、模型的部署靠複製貼上」,Level 2 是「整個 ML 生命週期全自動化,模型持續學習、自動部署、自動監控、自動回滾,工程師只需要關注最核心的業務問題」;大多數組織比自己認為的更接近 Level 0,而從 Level 0 跳到 Level 1 所需要的,往往不只是技術,更是組織和文化的根本性轉型。
白話解說
為什麼需要「成熟度模型」
在談具體的技術之前,先理解「成熟度模型」這個概念為什麼重要。
想像你去體檢,醫生不會只說「你健康或不健康」,而是給出血壓值、血糖值、BMI——這些量化指標讓你知道「哪裡還不夠好」和「改善空間在哪裡」。成熟度模型對 MLOps 的意義類似:它提供了一個標準化的語言,讓組織能客觀地評估自己現在的狀態,並規劃下一步要改善的方向。
沒有成熟度模型,常見的困境是:「我們公司有在做 AI」——但到底做得如何?和競爭對手相比?和最佳實踐相比?有哪些明顯的弱點?下一步投資應該優先放在哪裡?這些問題都沒有清晰的答案。成熟度模型提供了一個共同的框架,讓技術團隊、管理層、業務部門能夠在同一個語言系統上溝通和決策。
Google 的三個 ML 成熟度等級
Google 在 2020 年發布了一份廣為引用的 MLOps 白皮書,定義了三個 ML 成熟度等級(ML Maturity Levels)。這個框架已被業界廣泛採用,成為評估組織 MLOps 能力的標準參考。
Level 0:手動流程(Manual Process)
這是大多數企業組織目前的狀態,包括很多你可能覺得「技術挺先進」的公司。Level 0 的特徵是:
- 資料科學家在 Jupyter Notebook 裡探索資料、訓練模型
- 訓練完畢後,手動把模型(通常是
.pkl或.h5檔案)交給工程師 - 工程師手動把模型「嵌入」到應用程式中並部署
- 模型上線後,靠人工的不定期檢查來發現問題
- 模型的版本管理依賴資料夾命名(如
model_v3_final_FINAL2.pkl) - 重現訓練結果幾乎不可能(因為使用了哪個版本的資料、哪些超參數,沒有被系統性記錄)
Level 0 的根本問題是規模不可擴展性:當模型數量從 1 個增加到 10 個,工作量不是乘以 10 而是乘以 100(因為協調成本、手動操作的錯誤率、溝通摩擦都隨規模急劇上升)。在 Level 0 的狀態下,一個組織很難同時維護超過 3–5 個生產模型而不出現嚴重問題。
Level 1:ML 流水線自動化(ML Pipeline Automation)
Level 1 的核心是把「模型訓練」這件事變成一個可重複、可自動觸發、可驗證的自動化流水線。Level 1 的特徵是:
- 訓練流水線被代碼化:從資料讀取、特徵工程、模型訓練、評估,每個步驟都是有版本控制的程式碼
- 流水線可以被自動觸發(如排程、資料更新)
- 每次訓練的所有元資料(訓練資料版本、超參數、評估指標、訓練時間)都被系統性記錄在 Model Registry 中
- 模型在部署前必須通過自動化的評估閘門(Evaluation Gate):新模型在指定測試集上的指標必須優於或不劣於基準值,才能進入部署流程
- 引入 Feature Store:統一管理特徵計算邏輯,確保訓練和服務使用完全相同的特徵定義,解決訓練-服務偏差問題
Level 1 讓組織能更可靠地維護 5–20 個生產模型,但模型的部署仍然需要一定程度的人工操作(如批准部署)。
Level 2:CI/CD for ML(持續整合和持續部署)
Level 2 是把「持續整合/持續部署(CI/CD)」這個軟體工程的最佳實踐,完整地引入到 ML 系統中。Level 2 的特徵是:
- 任何的程式碼更改(特徵工程代碼、訓練代碼、模型架構)都會自動觸發一系列測試(單元測試、整合測試、模型品質測試)
- 測試通過後,訓練流水線自動啟動、模型自動訓練、自動評估
- 評估通過後,自動走金絲雀部署流程,自動監控線上指標,自動回滾(若指標惡化)
- 持續監控系統偵測到資料漂移或效能退化後,自動觸發重訓練並走完整個 Level 2 流水線
- 工程師日常工作的主要內容,從「手動操作各種訓練和部署任務」轉變為「改進流水線本身和核心的模型研究」
Level 2 是科技巨頭(Google、Meta、Netflix、Spotify)的運作方式,讓他們能同時高效維護數百個生產模型,並保持快速迭代。
Feature Store:Level 1 的核心基礎設施
Feature Store(特徵倉庫)值得單獨介紹,因為它是從 Level 0 跳到 Level 1 中最有價值、也最被忽視的基礎設施投資。
Feature Store 解決的核心問題是:訓練-服務偏差(Training-Serving Skew)。
在沒有 Feature Store 的環境中(Level 0),一個典型的問題是:資料科學家在訓練時用 Python 計算了「用戶過去 30 天的平均購買金額」,工程師在部署推論服務時用 Java 重新實作了同樣的邏輯——但由於計算細節的微小差異(如處理 null 值的方式不同、四捨五入精度不同),訓練時的「30 天平均」和推論時的「30 天平均」其實是略有不同的值。模型在訓練時學習的是「訓練版本的特徵」,但在推論時接收的是「推論版本的特徵」,這個偏差導致模型在生產環境的表現比離線評估差,但問題極難被發現。
Feature Store 通過統一特徵計算邏輯(「30 天平均」的計算由 Feature Store 統一管理,訓練和服務都從同一個地方取用),從根本上消除了訓練-服務偏差。此外,Feature Store 還提供:特徵復用(不同的模型共享同一套已計算好的特徵,避免重複計算)、特徵版本管理(知道每個特徵在什麼時候是什麼值)、離線/在線一致性(離線批次特徵和在線即時特徵保持一致)。
Model Registry:模型的集中倉庫
Model Registry(模型登錄)是另一個 Level 1 的核心組件,解決「哪個模型版本在哪個環境?」的問題。
在 Level 0,這個問題的答案通常是「去問 Alice,她好像知道」或者「看資料夾名稱猜測」。在有了 Model Registry 後,每個訓練好的模型都被記錄在一個集中的目錄中,包含:模型版本號、訓練日期、使用的訓練資料版本、超參數設定、評估指標(AUC、F1、MSE 等)、目前的部署狀態(Staging / Production / Archived)。
Model Registry 讓以下操作變得系統化:快速比較不同版本的模型、追蹤「哪個版本的模型在上個月是生產版本」(審計能力)、快速回滾到上一個生產版本(不需要重新訓練)。
組織轉型的難點:技術只是冰山一角
很多組織在嘗試提升 MLOps 成熟度時,把主要精力放在技術工具的選擇上(「要用 MLflow 還是 Kubeflow?」),但往往在工具上線之後發現:真正的障礙是組織層面的問題。
資料孤島(Data Silos):各部門(行銷、財務、客服、營運)的資料分散在不同的系統,沒有統一的資料治理,資料科學家光是取得訓練資料就要花費幾週的時間和繁複的申請流程。這個問題無法靠「換更好的工具」解決,需要的是跨部門的資料共享政策和資料治理架構的建立。
跨部門協作障礙:ML 系統的建設需要資料工程師(建立資料管道)、機器學習工程師(建立模型)、軟體工程師(建立推論服務和 API)、業務人員(定義問題和成功指標)的緊密協作。但在傳統的組織結構中,這些角色分屬不同部門,有不同的 KPI、不同的優先順序、甚至不同的技術棧,協調成本極高。
從「實驗文化」到「工程文化」的轉型:資料科學家習慣的工作方式(探索性分析、快速實驗、Jupyter Notebook、不一定可重現的結果)和工程師習慣的工作方式(代碼品質、版本控制、自動化測試、可維護性)在文化上存在張力。MLOps 成熟度的提升,需要資料科學家學習工程思維,也需要工程師理解 ML 的不確定性和實驗性質。這個文化融合不是一朝一夕的事,需要跨職能團隊(Cross-functional Team)的組織設計和足夠的時間來培養新的工作模式。
技術債的重量:很多組織在早期 AI 探索時積累了大量的技術債——Notebook 代碼散落各處、硬編碼的配置、沒有測試的流水線、不清楚依賴關係的舊模型。MLOps 成熟度提升的過程,往往也是逐步清理技術債的過程,這需要管理層的支持(允許工程師花時間「重寫舊代碼」而非「只開發新功能」)。
組織轉型路徑:務實的漸進式策略
從 Level 0 到 Level 2 不是一個「大爆炸式」的一次性升級,而是一個漸進式的旅程。實務上推薦的策略是:
先選一個有代表性的模型,把它推進到 Level 1:選擇一個業務上足夠重要(值得投資)、技術上不太複雜(能在 3 個月內完成)的模型,建立第一個自動化訓練流水線和 Model Registry。這個「標竿項目」不只是技術建設,更重要的是讓組織「看到 Level 1 長什麼樣子」,積累第一批有 MLOps 工程能力的人才,並為後續的規模化奠定工具和流程基礎。
建立 ML 平台團隊(Platform Team):如果組織有 5 個以上的 ML 項目,就應該考慮建立專職的 ML 平台團隊,負責維護 Feature Store、Model Registry、訓練流水線基礎設施、模型服務平台等共用基礎設施。這樣每個業務 ML 團隊不需要各自從零建立基礎設施,可以專注在業務問題上。
把 MLOps 能力納入招聘和培訓:MLOps 工程師是一個混合了 ML 工程和 DevOps 能力的新型角色,目前市場上供應稀缺。長期來看,投資培訓現有的資料科學家和工程師比單純招聘更可靠,並能建立組織獨特的 MLOps 能力積累。
應用場景
| 組織類型 | 典型當前狀態 | 優先改善項目 | 預期 Level 1 時程 |
|---|---|---|---|
| 傳統製造業(導入 AI 1–2 年) | Level 0,有 1–3 個模型手動管理 | 建立資料管道,解決資料孤島 | 12–18 個月 |
| 金融機構(強監管環境) | Level 0–1,有模型文件要求 | Model Registry(滿足合規記錄要求) | 6–12 個月 |
| 電商新創(AI-first 文化) | Level 0–1,高速迭代但缺乏規範 | Feature Store(解決訓練-服務偏差) | 3–6 個月 |
| 中型 SaaS 公司(有 ML 團隊) | Level 1,部分自動化但缺一致性 | CI/CD for ML,邁向 Level 2 | 6–9 個月 |
| 科技巨頭(Google 等) | Level 2,高度自動化 | 持續優化,推動 Level 2+ 創新 | 持續迭代 |
常見誤區
誤區 1:「MLOps 就是選一套工具(MLflow / Kubeflow),裝好就完成了」
工具是 MLOps 成熟度的體現,而不是成熟度的原因。很多組織在引進了 MLflow 或 Kubeflow 之後,發現工具裝好了,但使用率極低——資料科學家仍然習慣用 Jupyter Notebook 手動跑模型,工程師仍然把模型 pkl 檔複製貼上到伺服器上,Model Registry 裡空空如也。
原因很簡單:工具需要流程來配合,流程需要文化來支撐。如果沒有「每個上線模型必須在 Model Registry 有完整記錄」的工程規範,如果沒有「訓練流水線必須用代碼管理,不能用互動式 Notebook」的團隊共識,再好的工具也只是擺設。
真正有效的 MLOps 建設,需要「工具選型(Tool)+ 流程設計(Process)+ 文化建立(Culture)」三者同步推進。其中最難的是文化建立——讓有著不同背景的資料科學家和工程師接受新的工作規範,需要管理層的明確支持、具體的激勵機制(如把 MLOps 實踐納入績效考核),以及足夠的時間讓新的工作習慣形成。
誤區 2:「我們應該直接目標 Level 2,一步到位」
Level 2 是成熟的最終形態,但如果組織從 Level 0 直接試圖跳到 Level 2,往往會因為複雜度過高而失敗,最後什麼都沒有建成。Kubeflow、Vertex AI Pipeline 等 Level 2 的平台工具,需要同時掌握 Kubernetes、CI/CD、ML 工程、監控等多個技術領域,在 Level 0 的組織(通常缺乏 DevOps 能力)中部署這些複雜工具,投入的工程師資源往往超出預期,且很難快速看到業務成效,容易失去管理層的支持。
正確的策略是「漸進式提升」:確保每個等級都有實質的業務價值,讓管理層在每個里程碑都能看到 ROI。例如,從 Level 0 到 Level 1 的第一個成果可以是「新模型的部署時間從 2 週縮短到 2 天」——這個改進明確、可量化、有業務意義,能為繼續投資提供足夠的理由。
誤區 3:「MLOps 成熟度越高越好,所有模型都要推進到 Level 2」
不是所有的 ML 項目都值得投資到 Level 2 的自動化成本。判斷是否值得投資更高的 MLOps 成熟度,需要考慮:這個模型的業務重要性(高/低)?這個模型的更新頻率(每日/每月/每年)?模型退化的業務影響(嚴重/輕微)?
一個每年只更新一次、業務影響有限的模型(如年度員工流失預測),完全可以維持在 Level 0——手動訓練、手動評估、手動部署,每年花一個下午完成,沒有任何問題。強行把這個模型推進到 Level 1(建立自動化訓練流水線、Feature Store 整合……),投入的工程成本遠超業務收益。
相反,一個每日更新、高度業務敏感的模型(如即時詐欺偵測),則必須推進到 Level 2——人工操作的速度根本跟不上詐欺手法的演化速度,自動化是唯一可行的選擇。
「根據模型的業務重要性和更新頻率,選擇適當的 MLOps 成熟度」,而不是「所有模型一律追求最高成熟度」,才是務實且有效的資源分配策略。
小練習
練習 1:診斷組織的 MLOps 成熟度
請閱讀以下關於「台灣某中型零售連鎖企業」的 MLOps 現狀描述,判斷其成熟度等級,並列出最優先需要改善的三個問題:
組織描述:
- 有 5 名資料科學家,3 名後端工程師
- 目前在生產環境有 4 個 ML 模型(庫存預測、商品推薦、會員流失預測、定價優化)
- 所有模型都在 Jupyter Notebook 中訓練,訓練完成後資料科學家把模型 pkl 檔傳給工程師
- 工程師把 pkl 檔放到伺服器的
/models/目錄下,重啟 Flask API 服務 - 模型版本管理:在資料夾名稱上加日期(
/models/recommend_20260115/) - 監控:工程師每週人工查看 Grafana 的 API 錯誤率,資料科學家每月人工跑一次效能評估腳本
- 過去 3 個月發生了一次嚴重事故:定價模型更新時傳錯了 pkl 檔(傳了舊版本),導致定價出錯 6 小時才被發現
請回答:
- 這個組織的 MLOps 成熟度是哪個等級?理由是什麼?
- 請列出 3 個最優先需要改善的問題(按優先順序排列)
- 如果這個組織想在 6 個月內達到 Level 1,第一個月應該做什麼?
練習 2:設計 Level 1 升級路線圖
承接練習 1 的場景,假設你被這家零售連鎖企業聘為 MLOps 顧問,需要設計一個 6 個月的 Level 1 升級路線圖。
路線圖需要包含:
- 選擇哪個模型作為「標竿項目」(先從哪個模型開始,理由是什麼)
- 需要建立哪些核心基礎設施(列出 3–4 個,並說明建置順序)
- 人員能力的提升計劃(5 名資料科學家和 3 名工程師各需要學習什麼)
- 如何向管理層證明 Level 1 的投資有回報(用什麼指標來衡量成功)