模型监控调研

一、Amazon SageMaker 模型监控器

始终保持机器学习模型准确

Amazon SageMaker 模型监控器可以自动检测在生产环境中部署的模型,并在检测到不准确的预测时发出警告,帮助您维护高质量的机器学习 (ML) 模型。

机器学习模型的准确性会随着时间的推移而变差,这种现象被称为模型漂移。许多因素会导致模型漂移,例如模型特征的变化机器学习模型的准确性也可能受概念漂移的影响,即用于训练模型的数据与推理过程中所用数据之间的差异

Amazon SageMaker 模型监控器通过实时检测模型漂移概念漂移,并向您发送警报,以便您可以立即采取措施,从而帮助您维护高质量的机器学习模型。通过基于自变量和因变量监控模型的质量,来检测模型漂移和概念漂移自变量(也称为特征值)是机器学习模型的输入,因变量是模型的输出。例如,对于预测银行贷款审批的机器学习模型,自变量可以是申请人的年龄、收入和信用记录,因变量是贷款申请的实际结果。此外,SageMaker 模型监控器持续监控模型的性能特征,例如用于衡量与总预测数相比的正确预测数的准确性,以便您可以采取措施解决异常情况。

此外,SageMaker 模型监控器与 Amazon SageMaker Clarify 集成,可通过模型偏差检测帮助您识别机器学习模型中的潜在偏差

数据收集和监控

使用 Amazon SageMaker 模型监控器,您可以选择您想要监控和分析的数据,而不需要编写任何代码。SageMaker 模型监控器允许您从预测输出等选项菜单中选择数据,并捕获时间戳、模型名称和终端节点等元数据,以便您可以基于元数据分析模型预测。在高流量实时预测的情况下,您可以将数据捕获的采样率指定为总流量的百分比,并且将这些数据存储在您自己的 Amazon S3 存储桶中。您还可以加密这些数据,配置精细的安全性,定义数据保留策略,并实施访问控制机制以实现安全访问。

内置分析

Amazon SageMaker 模型监控器以统计规则的形式提供内置分析,以检测数据和模型质量的漂移。您还可以编写自定义规则,并为每个规则指定阈值。这些规则可以用来分析模型性能。SageMaker 模型监控器对收集的数据运行规则、检测异常,并记录违反规则的情况。

可视化

Amazon SageMaker 模型监控器发出的所有指标都可以在 Amazon SageMaker Studio 中收集和查看,因此您可以直观地分析您的模型性能,而无需编写额外的代码。您不仅能够可视化您的指标,还可以在 SageMaker 笔记本实例中运行临时分析,以更好地理解您的模型。

正在进行的模型预测

Amazon SageMaker 模型监控器允许您从机器学习应用程序中摄取数据,用于计算模型性能。数据存储在 Amazon S3 中,并通过访问控制、加密和数据保留策略加以保护。

监控安排

您可以通过 Amazon SageMaker 模型监控器安排监控作业,来监控您的机器学习模型。您可以自动启动监控作业来分析给定时间段内的模型预测。您也可以在 SageMaker 终端节点上设置多个计划。

与 Amazon SageMaker Clarify 集成

Amazon SageMaker 模型监控器与 Amazon SageMaker Clarify 集成,从而更清晰地了解潜在偏差。虽然您的初始数据或模型可能没有发生偏差,但环境的变化可能会导致已经过训练的模型中随着时间的推移产生偏差。例如,如果某些群体没有在原始训练数据中出现,则购房者人口统计数据的重大变化可能会导致住房贷款申请模型出现偏差。与 SageMaker Clarify 的集成使您能够配置警报系统,如 Amazon CloudWatch,以便在您的模型开始出现偏差时通知您。

报告和警报

监控作业生成的报告可以保存在 Amazon S3 中,以供进一步分析。Amazon SageMaker 模型监控器向 Amazon CloudWatch 发送指标。在 Amazon CloudWatch 中,您可以使用通知来触发警报或纠正措施,例如重新训练模型或审核数据。这些指标包括违反的规则和时间戳信息等信息。SageMaker 模型监控器还与其他可视化工具集成,包括 Tensorboard、Amazon QuickSight 和 Tableau。

使用案例

离群值或异常值

使用 Amazon SageMaker 模型监控器检测预测超出预期范围或处于预期边缘的情况,如最小值或最大值。例如,如果您预计温度在 65℉ 到 75℉ 之间,则 50℉ 就是一个出界的结果。这种超出界限的结果将被警告为异常。

数据漂移

使用 Amazon SageMaker 模型监控器来检测预测因实际情况(如传感器老化导致的传感器读数不准确)而产生偏差的情况。Amazon SageMaker 模型监控器通过将实际数据与基线数据集(如训练数据集或评估数据集)进行比较来检测数据倾斜。

实际观察

实际环境中经常会引入新的数据,因此您希望能够调整模型,以便将新的特征考虑在内。例如,需要为自动驾驶汽车更新自动驾驶模型,以检测道路上的新物体。Amazon SageMaker 模型监控器检测新的观察结果,以便您的模型始终保持最新状态。

自动监控

我开始处理数据时,我学到的第一件事是,没有太多关注数据质量这样的事情。如果您花了数小时寻找由意外 NULL 值或以某种方式最终出现在您的某个数据库中的奇异字符编码引起的问题,请举手。

由于模型实际上是从大量数据构建的,因此很容易理解为什么ML从业者花费这么多时间来照顾他们的数据集。特别是,它们确保训练集(用于训练模型)和验证集中(用于测量其准确性)中的数据样本具有相同的统计属性。

虽然您可以完全控制实验数据集,但对于模型将接收的真实数据,情况并非如此。当然,这些数据是不干净的,但更令人担忧的问题是"数据漂移",即您收到的数据的统计性质逐渐发生变化。最小值和最大值、平均值、平均值、方差等:所有这些都是塑造模型训练期间做出的假设和决策的关键属性。直观地说,您肯定可以感觉到这些值的任何重大变化都会影响预测的准确性:想象一下,贷款申请预测更高的金额,因为输入特征正在漂移甚至丢失!

检测这些条件非常困难:您需要捕获模型接收的数据,运行各种统计分析以将该数据与训练集进行比较,定义规则以检测漂移,在发生漂移时发送警报......并在每次更新模型时重新执行一遍。专业的ML从业者当然知道如何构建这些复杂的工具,但要付出巨大的时间和资源代价。无差别的重型起重再次罢工...

二、监控器文档

Amazon SageMaker 模型监控器持续监控生产中的 Amazon SageMaker 机器学习模型的质量。利用模型监控器,您可以设置在模型质量出现偏差时向您发送通知的警报。对这些偏差的早期主动检测使您能够采取纠正措施,例如重新训练模型、审计上游系统或解决质量问题,而不必手动监控模型或构建其他工具。您可以使用不需要编写代码的模型监控器预构建监控功能。您还可以通过编码来提供自定义分析,从而灵活地监控模型。

file

三、机器学习模型监控清单:要跟踪的7件事

机器学习模型监控清单:要跟踪的7件事

file

如果生产中的机器学习使您措手不及,请查看以下清单,以备不时之需。

file

监控方案

监控方案的设计
3.1 确保输入特征的分布(总是)与训练时特征的分布相同
这里是通过KS-检验实现。

3.2 数据聚合的窗口大小的设计

file

数据聚合的窗口设置较小,优点是可以快速检测出是否有异常数据(特征),缺点是受短期季节性或短期活动等波动因素的影响较大。

数据聚合的窗口设置较大,优点是受短期的季节性等波动因素的影响较小,缺点是对异常数据的检测缓慢。

3.3 已监控特征的分析频次设计
file

3.4 监控界面设计
实际上,监控界面的设计和普通BI系统的区别不大。

在展示内容上,除了常见的模型CPU/GPU使用率、内存占用率、模型响应时长等,往往还会按模型分组、创建特征KS-检验直方图、时间段选择、异常特征展示、不同模型实时效果对比等信息。


相关文章:
Amazon SageMaker 模型监控器
模型上线后,如何做好模型监控

为者常成,行者常至