什么是模型监控?(Valohai)

简介: 型监控是指密切跟踪机器学习模型在生产中的性能的过程。 它使您的 AI 团队能够识别和消除各种问题,包括糟糕的质量预测和糟糕的技术性能。 因此,您的机器学习模型可提供最佳性能。有效地监控模型对于使您的机器学习服务获得成功非常重要。 它使您能够在现实世界中产生重大影响。 但是在监控模型时应该跟踪什么? 在这篇文章中,您将找到所有详细信息。

为什么要监控模型?

监控机器学习模型的原因有很多。它使您能够分析预测的准确性、消除预测错误并调整模型以确保最佳性能。


消除不良泛化

由于缺乏标记数据或其他计算限制,机器学习模型通常在总域内数据的一小部分数据上进行训练。尽管构建模型是为了减少偏差,但这种做法会导致泛化性差。结果,输出数据样本将不准确或效率低下。监控模型可以解决这个问题。它可以帮助您创建平衡且准确的模型,而不会过度拟合或欠拟合数据。

消除参数随时间变化的问题

基于特定时间的变量和参数优化模型。在部署模型时,相同的参数将变得微不足道。例如,5 年前创建的情感模型可能会错误地对某些单词或短语的情感进行分类。因此,预测将是不准确的。模型监控使您能够通过帮助您分析模型在很长一段时间内对真实数据的执行情况来解决问题。


确保预测的稳定性

机器学习模型的输入不是独立的。因此,系统任何部分的变化,包括超参数和采样方法,都可能导致不可预测的变化。模型监控通过跟踪各种稳定性指标来确保高度稳定的预测,包括群体稳定性指数 (PSI) 和特征稳定性指数 (CSI)。

机器学习模型清单:您应该跟踪什么?

您应该密切关注这些事情,以使您的机器学习模型在现实生活中取得成功:

1. 数据分布变化

每个机器学习模型都会随着时间的推移而退化。在更改模型输入时,您可能会遇到数据漂移。当模型接收到它在训练中没有看到的数据时,性能会显着下降。模型监控可帮助您有效地识别与性能相关的问题。

让我们想想大流行病造成的严峻形势。它极大地影响了客户的行为,因为许多人失去了工作。因此,他们对营销活动的反应与前几年截然不同。

这就是为什么尽早获得有关数据分布变化的信号很重要的原因。因此,您可以相应地更新模型。通过监控模型,您可以跟踪关键模型特征和模型预测的分布。如果数据分布的变化与过去显著不同,您可以触发警报以对模型进行必要的更新。

2. 性能改变

模型监控可帮助您跟踪性能变化。因此,您可以确定模型的执行情况。此外,它还可以帮助您了解如何在出现问题时有效地进行调试。

跟踪模型性能改变最直接的方法是不断评估真实数据的性能。您可以将预测值与实际值进行比较,以确定模型是否运行良好。此外,您可以触发自定义通知,以获取有关指标任何重大变化的信息,例如:准确率和精确率。

3. 健康指标/运营指标

您需要密切关注系统性能,包括 CPU、内存、磁盘和网络 I/O 的使用情况。分析这些指标对于确保机器学习服务全面运行非常重要。

Valohai 部署中内置了健康指标。还有各种工具,例如:Grafana,可用于跟踪机器学习系统的运行状况。它们允许您方便地查询和可视化指标。此外,您可以为最重要的指标定义警报规则。

4. 数据完整性

数据完整性是指数据在其整个生命周期内的可靠性。您必须确保数据准确无误。有多种方法可以做到这一点,包括错误检查和验证。

您必须检查数据分布、特征统计和相关性中的错误以确保完整性。有不同的工具可以帮助您。例如,Great Expectations,以促进数据管道的分析完整性。作为传统持续集成 (CI) 工作流程的一部分,它会测试、记录和分析您的数据管道。以这种方式检查数据完整性可以为您节省大量时间。

5. 分段性能

通过分段跟踪性能,您可以深入了解特定切片上的模型质量。它可以帮助您找到关键区域,例如:机器学习模型在哪里出错以及在哪里表现最好。

您可能已经定义了要监控的细分市场,例如:高端客户与企业整体消费者的模型准确性。要按细分跟踪性能,您将需要仅针对已定义细分内的对象自定义质量指标。

此外,您应该寻找低性能的细分市场。让我们考虑一个您正在研究车辆定价模型的场景。如果它不断建议高于特定地区的实际报价,您应该记下它并找到提高准确性的解决方案。

6. 偏见/公平

监控偏差确保所有子组和跟踪合规性都得到公平对待。在医疗保健和金融等关键领域,模型决策可能会产生严重影响,这是一个非常重要的因素。

作为模型的创建者,您必须了解不同情况下的性能差异。例如,不同人口统计群体的模型性能可能会因其在训练数据中的表现而异。您可以使用在线提供的不同工具来解决此问题。

小结

模型监控正在成为机器学习在生产中成功应用的核心组成部分。上面的清单将为实施彻底的模型监控提供有价值的考虑,以确保生产中持续不变的性能。


在 Valohai 中如何监控模型?

Valohai 是一个独立的 MLOps 平台。 它专注于提供一个基础设施来收集、版本化和可视化现在和未来可以想象的任何指标。 最终取决于数据科学家来确定哪些指标是值得的,以及如何为每个模型计算它们。

生产中的模型在操作系统级别与 Valohai 通信,这意味着它收集并存储您的进程内部打印的所有内容,无论是错误堆栈跟踪、模型指标还是健康信息。

第 1 步:存储指标

一旦用户选择了哪些指标值得跟踪以及如何计算它们,就该将它们展示给平台了。

Valohai 始终存储所有原始日志,但为了将指标与其他指标分开,它们需要打印为带有特殊键 vh_metadata 的 JSON 字典。 Valohai 提供了一个 Python 实用程序来简化此操作,但专家也可以打印原始 JSON。

示例代码:

c = calculate_response_confidence()
# Stored as a raw log
print(f”Confidence: {c}”)
# Stored as a metric
print(“{'vh_metadata': {'confidence': c}}”)
# Stored as a metric (alternative)
import valohai
logger = valohai.logger()
logger.log(“confidence”, c)
复制代码


第 2 步:在 UI 中可视化指标

一旦 Valohai 从原始日志中解析出指标,就可以使用 Valohai 部署监控 UI 随着时间的推移对其进行可视化,用户可以在其中分析任何选定时间范围的日志和指标。

三种不同的监控视图:

  • 日志
  • 折线图
  • 直方图

网络异常,图片无法展示
|


在日志视图中,用户可以监视选定时间范围内的原始日志。为了方便起见,打印到stdout和stderr的内容颜色不同,时间戳自然由平台自动处理。此视图主要用于调试目的。

网络异常,图片无法展示
|


直方图将所选时间步长的数据与Count(计数)、Min(最小值)、Max(最大值)、Mean(平均值)和Sum(总和)进行聚合,以更好地了解长期漂移和异常。


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
机器学习/深度学习 监控 Kubernetes
使用 Seldon Alibi 进行模型监控
虽然 Seldon 使在生产中部署和服务模型变得容易,但一旦部署,我们如何知道该模型是否在做正确的事情? 训练期间的良好表现并不一定意味着在生产运行几个月后表现良好。 现实世界中发生的事情是我们无法解释的,例如:输入数据逐渐偏离训练数据,以及异常值和偏差。
|
存储 人工智能 Prometheus
ML 模型监控最佳工具(上)
如果您迟早将模型部署到生产环境,那么您将开始寻找 ML 模型监控工具。 当您的 ML 模型影响业务时,您只需要了解“事物是如何工作的”。 当事物停止工作时,你真正感受到这一点的第一刻。如果没有设置模型监控,您可能不知道哪里出了问题以及从哪里开始寻找问题和解决方案。
|
7月前
|
Prometheus 监控 Cloud Native
与Prometheus类似的监控和度量产品
以下是一些与Prometheus类似的监控和度量产品: 1. Grafana:Grafana是一种流行的开源数据可视化工具,可以与多个数据源集成,包括Prometheus。它可以通过可视化仪表板展示和分析Prometheus收集的数据。 2. InfluxDB:InfluxDB是一种开源时间序列数据库,专门用于处理和存储大量时间序列数据,如机器指标、事件日志等。和Prometheus类似,InfluxDB也具备数据采集和查询功能。 3. Nagios:Nagios是一种广泛使用的开源网络监控系统,可以监测网络设备、服务器和应用程序的运行状况。与Prometheus不同的是,Nagios主
328 0
|
3天前
|
Prometheus 监控 Cloud Native
统一观测丨如何使用Prometheus 实现性能压测指标可观测
简介:本篇阐述如何使用 Prometheus 实现性能压测 Metrics 的可观测性。
|
人工智能 文字识别 API
FastDeploy完成实时扣图模型部署
FastDeploy完成实时扣图模型部署
496 0
FastDeploy完成实时扣图模型部署
|
存储 OLAP 调度
数仓模型(模型优化与指标验证)
数仓模型(模型优化与指标验证)
数仓模型(模型优化与指标验证)
|
数据采集 消息中间件 JSON
数据预处理-系统监控-本地监控介绍|学习笔记
快速学习数据预处理-系统监控-本地监控介绍
175 0
数据预处理-系统监控-本地监控介绍|学习笔记
|
数据采集 存储 JSON
数据预处理-系统监控-监控代码下|学习笔记
快速学习数据预处理-系统监控-监控代码下
61 0
数据预处理-系统监控-监控代码下|学习笔记
|
数据采集 JSON 缓存
数据预处理-系统监控_监控代码上|学习笔记
快速学习数据预处理-系统监控_监控代码上
79 0
|
机器学习/深度学习 监控 安全
监控模型在监控模型在生产环境的性能(Arize)
随着机器学习基础设施的成熟,对模型监控的需求激增。不幸的是,这种不断增长的需求并没有形成一个万无一失的剧本,向团队解释如何来衡量模型的性能。