Machine Learning 的持續整合/持續交付導論

Machine Learning 的 CI/CD

Ravi Bhadauria

Machine Learning Engineer

SDLC 概觀

  • SDLCSoftware Development Life Cycle(軟體開發生命週期)
  • 從頭到尾系統化掌握軟體開發
  • SDLC 工作流程是為達成目標所遵循的一系列步驟:
    • Build:編譯與/或封裝程式碼,解決相依性
    • Test:確保程式碼庫的功能、品質與可靠性
    • Deploy:將軟體部署到指定環境供使用

  SDLC 工作流程步驟的相依圖。先 Build,再 Test 與 Deploy。

Machine Learning 的 CI/CD

機器學習中的 SDLC

  • 機器學習開發往往複雜且耗時
    • 模型是會動態演進的演算法
    • 資料工程很關鍵
  • 持續整合/持續交付可減少錯誤,並更快交付高品質 ML 軟體
  • 對高效率的機器學習與實驗至關重要
1 https://cloud.google.com/blog/products/ai-machine-learning/making-the-machine-the-machine-learning-lifecycle
Machine Learning 的 CI/CD

什麼是 CI/CD?

  • Continuous Integration(CI):頻繁建置、測試並將程式碼變更合併到共享版本庫的實務
  • 讓開發者及早發現整合問題,維持一致的程式碼庫
  • Continuous Delivery(CD):確保可隨時部署到正式環境,但需要人工核准
  • Continuous Deployment(CD):在無人工介入下,自動將變更部署到正式環境
Machine Learning 的 CI/CD

機器學習中的 CI/CD

  • 資料相依:資料版本控管與管理策略
  • 實驗:自動化超參數調校
  • 模型版本控管:強化協作
  • 測試範式:超越傳統功能與單元測試
  • 持續部署挑戰:模型服務、監控與更新的複雜度
Machine Learning 的 CI/CD

本課程範圍

機器學習專案步驟圖,強調資料準備、模型開發、模型評估與調校。

Machine Learning 的 CI/CD

重點回顧

  • 軟體開發生命週期的流程包含建置、測試與部署程式碼
  • 持續整合(CI)確保頻繁合併程式碼並及早發現問題
  • 持續交付(CD)允許在人工核准下部署變更
  • 持續部署(CD)在無人工介入下自動部署程式碼
  • 機器學習中的 CI/CD 能夠:
    • 資料版本控管
    • 建立模型與模型版本控管
    • 自動化實驗
    • 測試
    • 部署
Machine Learning 的 CI/CD

一起來練習吧!

Machine Learning 的 CI/CD

Preparing Video For Download...