自動化

Developing Machine Learning Models for Production

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

ML 自動化概觀

  • 自動化可提升 ML 管線的可靠度與效率
  • 降低人工錯誤風險
  • 精簡開發與部署流程
  • 四大 MLOps 原則:
    • 持續整合(CI)
    • 持續部署(CD)
    • 持續訓練(CT)
    • 持續監控(CM)
Developing Machine Learning Models for Production

自動化的四項原則

Continuous Integration (CI) 定期將程式碼變更整合到共享版本庫 coding

Continuous Delivery (CD) 自動建置、測試並部署程式碼變更 package

Continuous Training (CT) 持續使用新資料訓練並更新模型

brain

Continuous Monitoring (CM) 持續監控模型效能與準確度 monitor

Developing Machine Learning Models for Production

持續整合與交付

Continuous Integration (CI)

  • 確保程式碼隨時可用
  • 降低人工錯誤風險
  • 及早發現問題

Continuous Delivery (CD)

  • 快速且一致地部署模型
  • 縮短上線時間
  • 降低人工錯誤風險

CI/CD 工具:Git、AWS CodePipeline、Jenkins、Travis CI

jenkins

Developing Machine Learning Models for Production

持續訓練與監控

Continuous Training (CT)

  • 確保模型準確且即時
  • 降低模型老化風險
  • 縮短再訓練時間

Continuous Monitoring (CM)

  • 降低模型老化風險
  • 提升整體準確度
  • 取得一致且可靠的 ML 指標
  • 及早辨識問題

monitor

Developing Machine Learning Models for Production

大規模 ML 自動化範例

  1. CI:將模型程式碼提交到 Git。

  2. CD:使用 Jenkins 等 CI/CD 工具建置並測試提交的程式碼。若通過即可部署。

    • 模型被序列化。
    • 使用 Docker 設定相依項。
    • 部署 Docker 映像。
  3. CM:持續監控模型效能。

    • 監控結果用來支援模型決策。
    • CM 工具包含 Prometheus 與 Grafana
  4. CT:使用新資料訓練模型。

  5. 繼續撰寫新程式碼/更新模型……回到步驟 1

Developing Machine Learning Models for Production

一起來練習吧!

Developing Machine Learning Models for Production

Preparing Video For Download...