MLOps 中的自動化測試

Fully Automated MLOps

Arturo Opsetmoen Amador

Senior Consultant - Machine Learning

什麼是軟體測試?

$$

評估並驗證軟體產品或應用如預期運作的流程

$$

三種最常見的軟體測試:

  • 單元測試
  • 整合測試
  • 端到端測試

$$

$$

一個金字塔示意:底層為單元測試,其上是整合測試,最上層為端到端測試。

Fully Automated MLOps

ML 軟體本質不同

ML 應用不是以明確規則撰寫

$$

一個圖示,說明 ML 系統的學習流程。

它們依賴於:

  • 資料
  • 模型
Fully Automated MLOps

MLOps 中的測試方式不同

左側為傳統軟體系統,使用單元測試與整合測試;右側為 ML 系統,包含資料測試、模型測試與 pipeline 測試。

1 https://research.google/pubs/pub46555/
Fully Automated MLOps

測試 ML 系統

$$

除了傳統軟體測試外:

  • 資料測試
  • 模型測試
  • Pipeline 測試
Fully Automated MLOps

測試資料

特徵與資料的測試包含:

  • 特徵期望值
  • 資料特徵的價值是否值得其成本
  • 隱私控管
  • 避免使用不合法的資料

$$

一組溫度計顯示不同的測量值。

Fully Automated MLOps

測試模型

模型的測試包含:

  • 商業與 ML 指標具關聯
  • 已調整所有超參數

  • 過度擬合

  • 模型老化
  • 與基準比較
Fully Automated MLOps

測試 ML pipeline

ML pipeline 的測試包含:

  • 訓練可重現
  • ML pipeline 的整合測試

  • 模型可除錯性

Fully Automated MLOps

一起來練習吧!

Fully Automated MLOps

Preparing Video For Download...