【自有技术大讲堂】数据驱动的AI(系列5):AI的模型监控

网站首页    行业信息    【自有技术大讲堂】数据驱动的AI(系列5):AI的模型监控

一旦在生产环境中部署了机器学习模型,就需要确保它的性能稳定性。在本文中,我们总结了监视生产环境下的模型的6点注意事项。

 

构建机器学习模型并不容易,在生产环境中部署服务更加困难。即使我们设法将所有管道连在一起,事情也不会就此结束。一旦模型投入使用,如何顺利平稳的运行整个系统是我们需要考虑的事情。毕竟,它现在正在产生业务价值,对模型性能的任何破坏都会直接转化为实际的业务损失。

 

我们需要确保所交付的模型不仅仅是作为一个返回API响应的软件,而是作为一个我们可以信任的机器学习系统来帮助企业做出决策。这意味着我们需要监控我们的模型。为了防止生产系统中的机器学习模型出现意想不到的问题,本文中列举了6项需要注意的事情。

 

图表 1 服务健康

 

1、服务健康

 

机器学习的服务仍然是一种服务。如果模型实时运行,它需要适当的警报和负责人的及时响应。为了确保服务正常运行,我们需要跟踪标准的健康指标,如内存利用率、CPU负载等,并遵守必要的约束条件,例如响应速度。

 

2、数据质量和完整性

 

机器学习模型会出现问题吗?在绝大多数情况下,数据是罪魁祸首。例如,上游管道和模型连接断裂;用户进行了未声明的架构更改;数据可能因为物理传感器的失效而在源头消失,等等。

 

因此,验证输入数据是否符合我们的期望是至关重要的。我们应该检查包括数据合规性、数据分布、特征统计信息在内的或其他与数据集正常相关的参数。在模型返回不可靠的响应之前,我们应确认是否正在提供模型可以处理的数据。

 

3、数据和目标漂移

 

现实生活中的事物是一直在发展和变动的,即便我们面对的是一个非常稳定的程序。几乎每一个机器学习模型都有一个令人不快的特性:它会随着时间的推移而逐渐退化。

 

当模型接收到它在训练中没有看到的数据时,我们可能会经历数据漂移,比如当数据来自不同的产品批次、型号或者不同的拍摄质量和角度等。如果现实世界的模式发生变化,概念也会发生漂移。对于不同的应用场景,模型的优化目标也会有所偏差。数据和目标这两种漂移的最终结果都会导致模型质量的下降。但有时,真实偏差还无法量化,我们无法直接计算模型的质量损失情况。在这种情况下,跟踪先验指标是非常必要的。通过监视输入数据或目标函数的属性是否发生了变化,我们可以实时判断漂移是否正在发生。

 

图表 2 数据漂移示例

 

比如,我们可以跟踪关键模型特性和模型预测的分布,如果它们与过去的时间框架明显不同,则触发警报。通过获得现实世界或数据已经改变的早期信号,可以帮助我们及时规划并更新我们的模型。

 

4、性能度量

 

要向知道模型是否有效可靠,最直接的方法是将预测值与实际值进行对比。我们可以从模型训练阶段使用相同的度量标准,无论是用于分类的精度/查全率,还是用于目标检测的map等等。如果数据质量或真实世界的模式发生了改变,我们将看到度量值的改变。而在选择度量标准时,注意以下事项可以帮助我们更明智的进行选择。

 

首先,真实值或标签往往伴随着延迟。比如在对较长的产品周期进行预测,或者数据交付存在滞后的时候,真实数据的获取往往会延后。并且在大部分情况下需要额外的人工和时间来标记新的数据,以便检查模型的预测是否正确。在这种情况下,首先跟踪数据和目标漂移作为预警是非常有意义的。其次,我们不仅需要跟踪模型质量,还需要跟踪相关的业务KPI。将模型质量与业务度量联系起来或找到一些可解释的代理是至关重要的。最后,制订的质量指标应该适合使用场景。假如数据的类别不够平衡,那么准确度度量就远达不到理想值。对于缺陷检测问题,罕见缺陷也许是至关重要的。因此,不仅要跟踪度量的绝对值,还要跟踪度量分布。区分偶尔的异常值和真正的衰变也是至关重要的。

 

图表 3 度量标准的选择

 

5、分区性能监测

 

对于许多模型,上述的监视设置就足够了。但是如果处理更关键的业务,则有更多的事项需要检查。例如,检查模型在哪些检测用例上出错较多,而在哪些用例上效果最好。在很多情况下,主动搜索低性能的区域是有意义的。根据实际情况的不同,我们可以通过在模型输出上添加后处理或业务逻辑来解决不同问题,或者通过重新构建模型来改善性能较差部分的模型质量。在充分理解模型的集成性能之上,理解特定数据切片上的模型质量也是十分重要的。

 

图表 4 模型分区性能监测

 

6、离群值

 

我们知道现实世界的数据是不完美的,异常值和离群值的出现是非常普遍的。在某些场景下,我们可能并不关心单个输入是奇怪的还是普遍的,只要它们不足威胁模型的正常运作。但在一些其他场景中,我们可能希望追溯每个这样的异常情况。为了最小化误差,我们可以设计一组规则来处理离群值。比如将它们发送给人工审查,而不是自动做出决定。在这种情况下,我们需要设计业务逻辑来检测并相应地标记它们。

 

图表 5 模型健康循环流程

 

模型监控听起来可能不如部署一个高性能的模型吸引人。但是对于让机器学习在现实世界中发挥作用是至关重要的。请不要等到模型失效才区建立模型监测计划。

 

2022年9月6日 10:27