模型訓好只是開始:怎麼記住每一次實驗、怎麼把「最好的那版」變成「線上那版」、怎麼讓資料一更新就自動重訓、 怎麼擋下不合格的模型。這條主線用 MLflow(實驗追蹤、模型註冊)與 Dagster(資產管線、排程、感測器) 兩大熱門工具,每課都在 molab 免費環境真的跑一遍,最後串成一條會自己運轉的管線。 有 Python 與基礎 ML 背景即可,照順序上。
訓好的模型準確率一路從 0.94 掉到 0.45——拉桿玩漂移速度、定期重訓、監控觸發、延遲標籤, 親眼看到三種策略的差別,再把系列裡每一課的零件放回這條時間軸上。
開始上課 → MLFLOW · 01上週 AUC 0.95、今天 0.92,當時參數是什麼沒人記得。把每次訓練記成 run:params/metrics/tags/artifacts、 有 step 的曲線、一行 autolog、nested runs 掃參數,再用 search_runs 像查資料庫一樣查實驗。
開始上課 → MLFLOW · 02模型+規格+環境打包成一個資料夾、signature 擋下少一欄的輸入、Registry 給名字與版本、 alias 一行晉升或回滾、evaluate 一行產出 8 個指標 5 張圖、自訂 pyfunc 把前後處理一起包進部署單位。
開始上課 → DAGSTER · 03用 @asset 宣告「這份資料怎麼來的」,依賴自動連成圖;每次實體化留下列數與預覽、換 IO manager 資產程式一字不改、 asset check 當品質閘門——拉高門檻看下游被擋、看 deps 打錯字的沉默排序錯誤。
開始上課 → DAGSTER · 04誰來按執行、什麼時候按?每天凌晨兩點的 cron、新檔案一進來就跑的 sensor、上游更新下游自動跟的 eager 條件; 分割資產一天一片、漏掉四片怎麼補跑、重試策略——全部在 notebook 裡用 evaluate_tick 親眼看它會發什麼 run。
開始上課 → CAPSTONE · 05前四課的零件接成一條真的會動的線:資料 → 訓練(記進 MLflow)→ 評估 → asset check 品質閘 → 通過才移 champion。 四次執行親眼看:第一版上線、弱模型被擋、更強的晉升、資料漂移被擋;再從 Registry 反查回 Dagster run。
開始上課 →批次評分 500 列 10 毫秒、線上 API 一筆 15 毫秒——差 300 倍的成本怎麼選;自己包 FastAPI vs 一行 mlflow models serve, 載一次與每次載差 8–10 倍;少一欄回 400 的原文;alias 換版之後 API 什麼時候才拿到新模型。
開始上課 → 補充 B · MONITORINGPSI 與 KS 檢定自己算一遍才看得懂工具:沒漂移的資料 KS 也會 p<0.05、小漂移 PSI 會隨樣本數騙人; 沒有標籤也能看的預測漂移、Evidently 報告、連續 N 次超標才重訓,再把監控接回 Dagster 的檢查與感測器。
開始上課 → 補充 C · HPOstudy/trial/objective 三個概念,25 次試驗 20 秒找到 0.968;參數重要度一眼看出 max_depth 決定九成; 剪枝省三分之一時間;每個 trial 都是 MLflow 的 nested run——還誠實地示範小空間裡格點掃描反而贏。
開始上課 →壞資料進不了管線:逐欄型別、範圍、唯一、允許值,lazy 一次列出全部違約,接成 Dagster 的擋門檢查。