如何测试AI模型

2020-06-19  本文已影响0人  python测试开发

问题

机器学习是计算机科学中发展最迅速的领域之一。不幸的是,对于一些既不是数据科学家也不是ML开发人员的客户来说,他们仍然不清楚如何处理它,尽管他们确实知道他们需要将人工智能融入产品。

以下是我们从客户那里得到的关于ML质量保证的最常见问题。

机器学习简介

为了了解ML的工作原理,我们来仔细了解一下ML模型的本质。

经典算法/硬编码函数和基于ML的模型有什么区别?

从白盒的角度,特别是从系统的构建方式来看,就有些不同了。核心区别在于。

函数是根据你的数据通过特定的算法来拟合的。你可以验证模型系数的ETL部分,但你不能像其他参数一样轻松验证模型质量。

如何测试?

模型审查程序类似于代码审查,但是是为数据科学团队量身定做的。我没有看到很多QA工程师参与这个特殊的程序,但接下来就是模型质量评估、改进等。评估本身通常发生在数据科学团队内部。

1.简单,但昂贵的方法: 每天在新的数据集上重新训练。在这种情况下,你需要为你的服务找到合适的平衡点,因为再训练与你的基础设施成本高度相关。

2.复杂的方法。取决于你如何收集反馈。例如,对于二进制分类,你可以计算指标:精度、召回率和f1得分。根据这些参数写一个动态模型评分的服务。如果低于0.6,就是警报;如果低于0.5,就是重大事件。

参考资料

答案

向客户描述黑盒,并向客户提供测试数据和可以处理和可视化输出的服务。

描述所有的测试层,你是否在ETL层上验证数据和模型功能,以及你是如何做的。

制作模型质量报告。向客户提供模型质量指标与标准值。从你的数据科学家那里得到这些。

你需要对任何生产推送以及任何其他软件进行QA审查。

执行黑盒冒烟测试。根据功能尝试各种类型的输入。

用测试数据的样本验证生产服务器上的模型指标。如果需要,隔离prod服务器的部分,这样用户就不会受到测试的影响。

当然,要确保你的白盒测试是通过的。

了解你的模型和数据的可接受标准差。花一些时间与你的数据科学家一起深入研究模型类型和算法的技术方面。

上一篇 下一篇

猜你喜欢

热点阅读