Machine Learning 的持續整合/持續交付導論
Machine Learning 的 CI/CD
Ravi Bhadauria
Machine Learning Engineer
SDLC 概觀
SDLC
:
S
oftware
D
evelopment
L
ife
C
ycle(軟體開發生命週期)
從頭到尾系統化掌握軟體開發
SDLC 工作流程
是為達成目標所遵循的一系列步驟:
Build
:編譯與/或封裝程式碼,解決相依性
Test
:確保程式碼庫的功能、品質與可靠性
Deploy
:將軟體部署到指定環境供使用
機器學習中的 SDLC
機器學習開發往往複雜且耗時
模型是會動態演進的演算法
資料工程很關鍵
持續整合/持續交付可減少錯誤,並更快交付高品質 ML 軟體
對高效率的機器學習與實驗至關重要
1
https://cloud.google.com/blog/products/ai-machine-learning/making-the-machine-the-machine-learning-lifecycle
什麼是 CI/CD?
Continuous Integration(CI)
:頻繁建置、測試並將程式碼變更合併到共享版本庫的實務
讓開發者及早發現整合問題,維持一致的程式碼庫
Continuous Delivery(CD)
:確保可隨時部署到正式環境,但需要人工核准
Continuous Deployment(CD)
:在無人工介入下,自動將變更部署到正式環境
機器學習中的 CI/CD
資料相依
:資料版本控管與管理策略
實驗
:自動化超參數調校
模型版本控管
:強化協作
測試範式
:超越傳統功能與單元測試
持續部署挑戰
:模型服務、監控與更新的複雜度
本課程範圍
重點回顧
軟體開發生命週期的流程包含建置、測試與部署程式碼
持續整合(CI)確保頻繁合併程式碼並及早發現問題
持續交付(CD)允許在人工核准下部署變更
持續部署(CD)在無人工介入下自動部署程式碼
機器學習中的 CI/CD 能夠:
資料版本控管
建立模型與模型版本控管
自動化實驗
測試
部署
一起來練習吧!
Machine Learning 的 CI/CD
Preparing Video For Download...