使用 Maro(机器学习自动修复预言机)自动调试 AutoML 流水线(扩展版)
软件工程
2023-10-03 v2
摘要
实践中的机器学习通常涉及用于数据清洗、特征工程、预处理和预测的复杂流水线。这些流水线由算子组成,算子必须正确连接,且其超参数必须正确配置。遗憾的是,某些数据集、算子或超参数的组合导致失败是相当常见的。诊断并修复这些失败既繁琐又容易出错,并且会严重打乱数据科学家的工作流程。本文描述了一种自动调试 ML 流水线、解释失败原因并生成修复方案的方法。我们在名为 Maro 的工具中实现了我们的方法,该方法建立在 AutoML 与 SMT 的结合之上。Maro 可与熟悉的数据科学生态系统无缝协作,包括 Python、Jupyter notebooks、scikit-learn 以及 Hyperopt 等 AutoML 工具。我们对工具进行了实证评估,发现大多数情况下,单次修复即可自动纠正错误、不产生额外故障,且不会显著影响最优精度或收敛时间。
引用
@article{arxiv.2205.01311,
title = {Automatically Debugging AutoML Pipelines using Maro: ML Automated Remediation Oracle (Extended Version)},
author = {Julian Dolby and Jason Tsay and Martin Hirzel},
journal= {arXiv preprint arXiv:2205.01311},
year = {2023}
}
备注
Extended version of MAPS 2022 paper