← 回主題列表 TOPIC · MLOPS AUTOMATION

🔁 MLOps 自動化技術

模型訓好只是開始:怎麼記住每一次實驗、怎麼把「最好的那版」變成「線上那版」、怎麼讓資料一更新就自動重訓、 怎麼擋下不合格的模型。這條主線用 MLflow(實驗追蹤、模型註冊)與 Dagster(資產管線、排程、感測器) 兩大熱門工具,每課都在 molab 免費環境真的跑一遍,最後串成一條會自己運轉的管線。 有 Python 與基礎 ML 背景即可,照順序上。

前導 · 00 · 純瀏覽器互動

📉 為什麼需要 MLOps:模型會過期

訓好的模型準確率一路從 0.94 掉到 0.45——拉桿玩漂移速度、定期重訓、監控觸發、延遲標籤, 親眼看到三種策略的差別,再把系列裡每一課的零件放回這條時間軸上。

開始上課 →
MLFLOW · 01

🧾 MLflow 實驗追蹤:每一次訓練都留下證據

上週 AUC 0.95、今天 0.92,當時參數是什麼沒人記得。把每次訓練記成 run:params/metrics/tags/artifacts、 有 step 的曲線、一行 autolog、nested runs 掃參數,再用 search_runs 像查資料庫一樣查實驗。

開始上課 →
MLFLOW · 02

📦 MLflow Models 與 Model Registry:從最好的 run 到線上那一版

模型+規格+環境打包成一個資料夾、signature 擋下少一欄的輸入、Registry 給名字與版本、 alias 一行晉升或回滾、evaluate 一行產出 8 個指標 5 張圖、自訂 pyfunc 把前後處理一起包進部署單位。

開始上課 →
DAGSTER · 03

🧱 Dagster 軟體定義資產:管線不是一串任務,是一張資料地圖

用 @asset 宣告「這份資料怎麼來的」,依賴自動連成圖;每次實體化留下列數與預覽、換 IO manager 資產程式一字不改、 asset check 當品質閘門——拉高門檻看下游被擋、看 deps 打錯字的沉默排序錯誤。

開始上課 →
DAGSTER · 04

⏰ Dagster 自動化:排程、感測器、分割與自動化條件

誰來按執行、什麼時候按?每天凌晨兩點的 cron、新檔案一進來就跑的 sensor、上游更新下游自動跟的 eager 條件; 分割資產一天一片、漏掉四片怎麼補跑、重試策略——全部在 notebook 裡用 evaluate_tick 親眼看它會發什麼 run。

開始上課 →
CAPSTONE · 05

🏁 Dagster × MLflow:一條會自己訓練、評估、把關、上線的管線

前四課的零件接成一條真的會動的線:資料 → 訓練(記進 MLflow)→ 評估 → asset check 品質閘 → 通過才移 champion。 四次執行親眼看:第一版上線、弱模型被擋、更強的晉升、資料漂移被擋;再從 Registry 反查回 Dagster run。

開始上課 →
補充系列 · 上線之後(上完主線再來)
補充 A · SERVING

🚀 模型上線:從 pyfunc 到 REST API

批次評分 500 列 10 毫秒、線上 API 一筆 15 毫秒——差 300 倍的成本怎麼選;自己包 FastAPI vs 一行 mlflow models serve, 載一次與每次載差 8–10 倍;少一欄回 400 的原文;alias 換版之後 API 什麼時候才拿到新模型。

開始上課 →
補充 B · MONITORING

📡 模型監控:資料漂移、預測漂移與什麼時候該重訓

PSI 與 KS 檢定自己算一遍才看得懂工具:沒漂移的資料 KS 也會 p<0.05、小漂移 PSI 會隨樣本數騙人; 沒有標籤也能看的預測漂移、Evidently 報告、連續 N 次超標才重訓,再把監控接回 Dagster 的檢查與感測器。

開始上課 →
補充 C · HPO

🎯 Optuna 自動調參:讓超參數搜尋自己跑

study/trial/objective 三個概念,25 次試驗 20 秒找到 0.968;參數重要度一眼看出 max_depth 決定九成; 剪枝省三分之一時間;每個 trial 都是 MLflow 的 nested run——還誠實地示範小空間裡格點掃描反而贏。

開始上課 →
補充 D · DATA VALIDATION · 即將開課

🧪 資料驗證:用 pandera 幫資料寫合約

壞資料進不了管線:逐欄型別、範圍、唯一、允許值,lazy 一次列出全部違約,接成 Dagster 的擋門檢查。