MLOps 中的自动化测试

Fully Automated MLOps

Arturo Opsetmoen Amador

Senior Consultant - Machine Learning

什么是软件测试?

$$

评估并验证软件产品或应用按预期工作的过程

$$

最常见的三类软件测试:

  • 单元测试
  • 集成测试
  • 端到端测试

$$

$$

一个金字塔:底部为单元测试,其上为集成测试,顶部为端到端测试。

Fully Automated MLOps

ML 软件具有不同特性

ML 应用不是显式编程得到的

$$

展示 ML 系统学习流程的图示。

它们依赖于:

  • 数据
  • 模型
Fully Automated MLOps

MLOps 中的测试有所不同

左侧为用单元测试、集成测试验证的传统软件系统;右侧为含数据测试、模型测试与流水线测试的 ML 系统。

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

测试 ML 系统

$$

在传统软件测试之外,还需要:

  • 数据测试
  • 模型测试
  • 流水线测试
Fully Automated MLOps

测试数据

特征与数据的测试包括:

  • 特征期望
  • 数据特征的价值能证明其成本
  • 隐私控制
  • 避免使用非法数据

$$

显示不同读数的一组温度计。

Fully Automated MLOps

测试模型

模型的测试包括:

  • 业务与 ML 指标相关
  • 所有超参数均已调优

  • 过拟合检查

  • 模型陈旧性
  • 基线对比
Fully Automated MLOps

测试 ML 流水线

ML 流水线的测试包括:

  • 训练可复现
  • ML 流水线的集成测试

  • 模型可调试性

Fully Automated MLOps

让我们来练习!

Fully Automated MLOps

Preparing Video For Download...