撰寫可維護的 ML 程式碼

Developing Machine Learning Models for Production

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

專案結構

  • 以合理結構整理專案檔案
  • 將相關檔案分組
    • 將資料集與 ML 模型放在不同資料夾
  • 確保檔名與標示清楚

structure

Developing Machine Learning Models for Production

專案結構範例

範例專案目錄,含 README 檔、需求檔,以及三個子資料夾:data、models、notebooks mlops_directory

  • README.md:說明此儲存庫的用途與使用方式。
  • requirements.txt:列出所有相依套件
  • data:存放與資料相關的檔案,包括原始與處理後資料
  • models:存放與模型相關的檔案,包括建立模型的腳本。
  • notebooks:存放用於資料探索、模型訓練與評估的筆記本。
Developing Machine Learning Models for Production

程式碼版控

  • 使用如 git 的版控系統來追蹤程式碼變更
  • 需要時可回復到先前版本
  • 有助找出臭蟲與錯誤來源
  • 支援多人平行開發

code

Developing Machine Learning Models for Production

文件撰寫

  • 撰寫程式碼與專案結構的文件
  • 說明每個檔案與函式的目的
  • 描述如何使用此程式碼
  • 包含部署 ML 模型的操作說明

doc

Developing Machine Learning Models for Production

程式碼的適應性

  • 更容易理解、修改與更新
  • 減少調整程式碼庫所需的時間與心力
  • 更易因應資料、程式碼與需求的變動
  • 降低出現臭蟲的機率
  • 更容易按需整合新功能或技術
  • 對能長期演進的 ML 應用至關重要
Developing Machine Learning Models for Production

一起來練習吧!

Developing Machine Learning Models for Production

Preparing Video For Download...