← M09 MLOps 與部署 M09 MLOps 與部署

M09.10|MLOps 成熟度模型:從「跑得動」到「跑得好」的組織旅程

一個模型上線不難 — 難的是讓整個組織持續、可靠、有效率地做 AI

L2-系統部署-MLOps實務 L2-AI技術應用-組織AI轉型
MLOps成熟度 Google ML成熟度 組織轉型 AI治理 機器學習平台 自動化流水線 CI/CD 特徵工程平台 技術債
📋

本講學習重點

Google 的三個 ML 成熟度等級分別對應什麼樣的組織狀態?
Level 0 到 Level 1 的最大躍升門檻是什麼?
Feature Store 解決了什麼核心問題?
ML 平台建設應該由哪個團隊主導?何時投資才合適?
組織文化的轉型和技術轉型,哪個更難?如何推動?

Level 0:手動、腳本化;Level 1:ML 流水線自動化;Level 2:CI/CD for ML(持續整合和持續部署)

Level 0 的痛點:訓練-服務偏差、無法重現、手動部署、版本混亂

Level 1 核心組件:自動化訓練流水線、特徵工程自動化、模型驗證、模型服務

Level 2 增加:自動觸發重訓練、自動化測試(模型 + 資料 + 訓練程式碼)、持續監控觸發自動回滾

Feature Store:統一管理特徵計算邏輯,確保訓練和服務使用完全相同的特徵,解決訓練-服務偏差

Model Registry:集中存儲模型版本、元資料(訓練資料版本、超參數、評估指標)、部署狀態

組織轉型難點:數據孤島、技術債、跨部門協作(資料工程 vs 機器學習 vs 軟體工程 vs 業務)

📌 MLOps 成熟度模型描述了組織從「臨時性、手動化 ML 實踐」到「全自動化、持續改進的 ML 平台」的演進路徑。Google 定義了三個成熟度等級:Level 0(手動流程)、Level 1(ML 流水線自動化)、Level 2(CI/CD for ML)。大多數企業組織處於 Level 0,只有極少數科技巨頭達到 Level 2。組織的 MLOps 旅程不只是技術問題,更是文化、人才、流程的系統性變革;最大的障礙往往不是技術,而是跨部門協作、資料孤島和既有文化的慣性。
MLOps 成熟度模型:從「跑得動」到「跑得好」的組織旅程

🎙️ Podcast(中文)

0:00 / 0:00

一句話搞懂

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 小時才被發現

請回答:

  1. 這個組織的 MLOps 成熟度是哪個等級?理由是什麼?
  2. 請列出 3 個最優先需要改善的問題(按優先順序排列)
  3. 如果這個組織想在 6 個月內達到 Level 1,第一個月應該做什麼?

練習 2:設計 Level 1 升級路線圖

承接練習 1 的場景,假設你被這家零售連鎖企業聘為 MLOps 顧問,需要設計一個 6 個月的 Level 1 升級路線圖。

路線圖需要包含:

  1. 選擇哪個模型作為「標竿項目」(先從哪個模型開始,理由是什麼)
  2. 需要建立哪些核心基礎設施(列出 3–4 個,並說明建置順序)
  3. 人員能力的提升計劃(5 名資料科學家和 3 名工程師各需要學習什麼)
  4. 如何向管理層證明 Level 1 的投資有回報(用什麼指標來衡量成功)
查看答案 **練習 1:診斷 MLOps 成熟度** **成熟度等級:Level 0(手動流程)** 判斷理由: - 訓練流程完全依賴資料科學家手動跑 Jupyter Notebook,沒有代碼化的自動化訓練流水線 - 部署流程是「手動傳 pkl 檔 + 重啟服務」,沒有自動化的部署機制 - 版本管理依賴資料夾命名(Level 0 的典型特徵),沒有 Model Registry - 監控是人工週期性查看,沒有自動化的效能退化偵測 - 定價模型事故(傳錯 pkl 檔)就是 Level 0 的直接惡果——全手動流程下,人為錯誤是不可避免的 **最優先改善的 3 個問題(按優先順序)**: 1. **優先 1:Model Registry 和版本管理(解決定價事故的根因)** 這個問題最緊急,因為已經造成了 6 小時的業務損失。解決方案:引入 MLflow 的 Model Registry,每次訓練完成後把模型登錄到 Registry,並記錄訓練日期、訓練資料版本、評估指標;部署時從 Registry 中取用指定版本的模型,而非手動傳 pkl 檔。這一步能立即消除「傳錯檔案」類型的人為錯誤,是最高優先且投入相對最小的改善。 2. **優先 2:自動化監控和告警(縮短問題發現時間)** 目前效能問題最快要一個月後才被發現(人工月度評估),而定價模型錯誤花了 6 小時才被發現(沒有模型品質告警)。解決方案:在 API 層加入自動化的模型品質監控(監控預測分佈、業務代理指標),設置自動告警(關鍵指標異常時立即通知 Slack/Email),把「發現問題的時間」從「最多幾週」壓縮到「幾分鐘」。 3. **優先 3:訓練流水線代碼化(提升可重現性和可維護性)** 目前的訓練完全依賴個別資料科學家的 Notebook,如果 Alice 離職了,她的模型可能再也無法被重現(訓練邏輯只在她的腦袋和 Notebook 裡)。解決方案:把每個模型的訓練邏輯從 Notebook 重構成有版本控制的 Python 腳本,放入 Git 倉庫,確保任何一個資料科學家都能從頭重現任何一個模型的訓練過程。 **第一個月應該做什麼**: 第一個月應該聚焦在「Model Registry 建立」和「訓練腳本代碼化(從 Notebook 中最重要的一個模型開始)」。具體步驟:第 1–2 週:安裝和設定 MLflow,把定價優化模型的訓練 Notebook 重構成 Python 腳本,並在訓練後自動把模型登錄到 MLflow Registry;第 3–4 週:把新的部署流程從「手動傳 pkl 檔」改為「從 MLflow Registry 取用指定版本」,同時為定價模型設置基本的推論延遲和錯誤率告警。月底里程碑:定價模型的部署再也不需要手動傳檔,且任何新版本的上線都有完整的 Registry 記錄。 --- **練習 2:Level 1 升級路線圖** **標竿項目選擇:定價優化模型** 理由:定價優化模型的選擇有最強的業務理由——它剛剛發生了一次嚴重的部署事故,管理層最願意為「避免下次事故」投資;定價模型的業務影響最直接(定價錯誤直接影響毛利率),能讓後續的改善效果(「部署時間縮短、事故次數歸零」)被清楚量化;且定價模型更新頻率相對較高(可能每週或每月),對自動化流水線的需求最迫切。 **核心基礎設施建置(按順序)**: 1. **MLflow Model Registry(第 1–2 個月)**:最高優先,解決版本管理混亂問題。建立 MLflow 伺服器(可以先用本地部署),定義 Model Registry 的使用規範(哪些 metadata 必須記錄、如何命名版本、Staging/Production 狀態的切換流程)。 2. **Git 代碼倉庫 + 訓練腳本代碼化(第 1–3 個月)**:把所有 4 個模型的 Jupyter Notebook 訓練邏輯,重構成有版本控制的 Python 腳本,存入 Git 倉庫。這是後續所有自動化的基礎——沒有代碼化,自動化流水線無從建立。 3. **自動化訓練流水線(第 2–4 個月)**:從定價優化模型開始,建立一個可被排程觸發的自動化訓練流水線(使用 Apache Airflow 或 Prefect),包含:資料讀取 → 特徵工程 → 模型訓練 → 自動評估 → 登錄 Model Registry → 等待人工批准上線。 4. **自動化監控和告警(第 3–5 個月)**:為 4 個生產模型都建立自動化監控(PSI、業務代理指標),配置告警(異常時 5 分鐘內通知相關人員)。同步建立監控 Dashboard(讓業務人員也能看到模型健康狀態)。 **人員能力提升計劃**: 5 名資料科學家需要學習: - Python 工程化實踐:把 Notebook 代碼重構成可測試、有版本控制的 Python 腳本(PEP8、函數化、模組化) - MLflow 的使用:如何在訓練中記錄參數和指標,如何使用 Model Registry - 基本的 Git/版本控制工作流程(如果尚未掌握) 3 名後端工程師需要學習: - ML 系統的特殊需求:了解「模型漂移」「訓練-服務偏差」等 ML 特有概念,才能設計正確的監控和部署邏輯 - 從 MLflow Registry 讀取模型並部署的標準流程 - 基本的 ML 監控指標設計 跨團隊需要:每月一次的「ML 健康回顧會議」(MLOps Review),資料科學家和工程師共同審查各模型的健康狀態,建立跨職能的共同語言和協作文化。 **向管理層證明 ROI 的指標**: - **部署事故次數**:定義「因手動操作錯誤導致的部署事故」,目標是 Level 1 完成後降至 0(從過去 3 個月至少 1 次降到 0) - **模型部署時間**:從「資料科學家完成訓練到模型在生產環境上線」所需的時間,目標從目前的平均 2 週縮短到 3 天以內 - **效能問題發現時間**:從「模型效能退化發生」到「團隊收到告警」的平均時間,目標從目前的「最多 1 個月」縮短到「最多 24 小時」 - **資料科學家有效時間比例**:資料科學家花在「核心模型研究和改進」上的時間比例(而非花在「手動部署、資料清理、溝通協調」上),目標從目前的估計 40% 提升到 70% 這四個指標都可以在 6 個月後明確測量,並與升級前的基線對比,讓管理層清楚看到 MLOps 投資的具體業務回報。

關鍵字自我檢核

✅ MLOps成熟度 ✅ MLOps Maturity ✅ Google ML成熟度等級 ✅ Google ML Maturity Levels ✅ 組織轉型 ✅ Organizational Transformation ✅ AI治理 ✅ AI Governance ✅ 機器學習平台 ✅ ML Platform ✅ 自動化流水線 ✅ Automated Pipeline ✅ CI/CD for ML ✅ ML CI/CD ✅ 特徵工程平台 ✅ Feature Store ✅ 模型登錄 ✅ Model Registry ✅ 技術債 ✅ Technical Debt ✅ 資料中心化 ✅ Data Centralization ✅ 全功能團隊 ✅ Full-Stack ML Team ✅ MLflow ✅ Kubeflow ✅ 模型可解釋性 ✅ Model Explainability