监控生产中的ML系统,您应该跟踪哪些指标?(下)

简介: 当提到“ML监控”时,这可能意味着很多事情。您是否在跟踪服务延迟?模型精度?数据质量?点击推荐栏的访问者占比?‍这个博客将所有指标组织到一个框架中。这是高水平的,但我们希望一个全面的概述。如果您是ML监视的新手,并且希望快速掌握它,请继续阅读。

4. 业务指标和KPI

终于到了来讨论商业价值了!

要判断 ML 模型的性能,您最终需要将其与业务 KPI 联系起来。 ML 模型是否完成了它所构建的工作?

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


业务指标监控的目标是什么

估计 ML 系统的商业价值,并在事情偏离轨道时进行调整。 ML 模型质量和商业价值之间总是存在不匹配的风险。这可能是由于不断变化的现实或模型未按设计方式使用(或根本未使用!)

这对机器学习监控有多具体

这部分是严格特定于业务的。指标和衡量它们的方式无处不在。它的范围可以从跟踪 Web 应用程序中的参与度指标到评估工业工厂中原材料的节省。这一切都归结为业务用例。‍

谁通常随叫随到

产品经理、企业主或运营团队与数据科学家一起弥合差距。

你能监控什么?‍

  • 直接业务 KPI。您可能会密切关注直接的业务和产品指标。例如,页面上的点击率或生产过程中使用的原材料数量(如果这是 ML 系统帮助优化的!)。如果幸运的话,您也许可以通过查看这些指标来跟踪 ML 解决方案的业务影响。例如,如果 ML 系统作为独立应用程序存在,您可以直接将一些收入或节省归因于它。‍
  • A/B 测试性能。目标业务指标通常受多种因素影响。一个好的旧 A/B 测试可以帮助衡量 ML 系统的孤立影响。例如,您可以拆分流量以将基于 ML 的推荐块的性能与基线进行比较。 ML 系统是否比简单地推荐前 10 名最受欢迎的商品带来更多的销售?如果你有足够的流量,你甚至可以连续运行它,让一小部分远离 ML。如果您正在处理一个新的高风险区域并关注长期模型影响(例如:影响环境的模型),这可能是合理的。‍
  • 间接指标。有时很难将 ML 性能与收入或转化等主要业务指标联系起来。在这种情况下,您仍然可以评估反映 ML 模型质量的辅助指标。如果您有启用 ML 的特征,您可以跟踪它的使用频率。如果您向用户推荐内容,您可以跟踪参与度以及点击推荐块后他们在页面上停留的时间。您还可以引入一些可解释的检查,以帮助企业主了解模型在做什么,例如,批准了多少贷款。

Nubank ML 团队关于监控策略层的一些建议:

监控使用该模型做出的决策。例如:每天有多少人获得风险模型批准的贷款?每天有多少人的账户被欺诈模型封锁?在这里监控绝对值和相对值通常很有用。

资料来源:ML Model Monitoring – 9 Tips From the Trenches,Nubank 博客。

监控业务 KPI 有什么技巧

  • 你不能总是测量它们。进行 A/B 测试可能过于昂贵、复杂或不可行。通常,您无法隔离 ML 系统的影响,因为有多种因素会影响目标 KPI。在信用评分等情况下,评估做出贷款决定的业务影响可能需要数月或数年的时间。您应该始终尝试找到一些代理,或者至少是业务利益相关者可以解释的健全性检查。但是你不能总是快速获得美元和美分的价值。
  • 在模型退化的情况下,业务指标给出的上下文最少。如果指标下降,您必须遍历每个金字塔层以对其进行排序。是模型吗?是数据吗?是软件吗?业务指标是最关键的价值指标(它们位于金字塔顶端是有原因的)。尽管如此,您仍需要更多的可观察性才能获得及时的警报并有效地调试系统。

如果可以的话,跟踪它们,但也要跟踪其他的东西。


你需要所有这些吗?

我们知道,这是很多!

本概述的目的是介绍生产 ML 系统的所有不同方面。一旦部署了 ML 应用程序,它就不再只是一个模型,而是一个由数据、代码、基础设施和周围环境组成的复杂系统。您需要对其进行整体监控。

这并不意味着您应该一直查看数十个指标和图表。

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


首先,团队中的不同人员可能使用多个仪表板或视图。

您可以在现有的后端监控工具中进行操作监控。 您可以在业务利益相关者已经使用的 BI 仪表板中可视化产品指标。 根据设置,您可以将 ML 监控指标添加到同一个 Grafana 仪表板,通过 Airflow 编排的管道测试检查它们,或者启动 ML 团队使用的独立仪表板。 ML 监控的不同方面有不同的内部用户(和问题解决者)。 拥有多个仪表板很好。

以下是 Monzo 的案例:

了解模型的实时性能是模型开发过程的关键部分。 在这个阶段,我们依靠重用而非重建原则,并采用了在整个公司中使用的工具。 我们希望我们的监控工具可供所有人使用,包括机器学习以外的人。

来源:Monzo's machine learning stack,Monzo 博客。

其次,你应该区分监控和调试。 您可能只针对最能反映服务性能的少数指标主动监控和引入警报。 您的目标是了解潜在问题。 其余的指标和图表在调试过程中会很有帮助,因为它们提供了必要的上下文。 但是您不会主动设置警报或为其定义特定阈值。

例如,如果您快速获得模型反馈,您可能会跳过有关特征漂移的警报。 毕竟,您可以评估模型质量本身。 但是,如果您注意到性能下降,则需要确定原因并决定如何处理漂移。 为重要特征预先构建分布可视化或有一种简单的方法来按需旋转它可能是有意义的。 在其他情况下,您可能更喜欢监控数据漂移,即使您获得了标签

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


总而言之,监控的目标是让人们确信系统运行良好,如果不是,则发出警报。如果发生故障,您需要必要的上下文来诊断和解决问题,这就是额外指标派上用场的地方,但您不需要一直查看它们。


总结

机器学习监控意味着监控机器学习系统。要观察和评估其性能,您通常需要一组描述系统状态的指标。该系统有几个方面值得关注。

我们可以将它们分组为:

  • 软件系统运行状况。您可以像其他后端服务一样监控它。它并非特定于数据科学和机器学习,但仍需要适当的设置。
  • 数据质量和完整性。应该查看流经特定 ML 预测管道的数据。目标是检查它没有错误或损坏,并且您仍然可以相信这些数据成为您的模型输入。您通常可以在生成预测之前引入管道测试来验证输入数据。
  • ML 模型质量。这是最特定于 ML 的监控组件。您希望密切关注模型相关性,以确保它适合任务。如果您有延迟反馈,您可能会求助于监控数据和预测漂移作为模型质量的代理。
  • 业务 KPI。业务或产品指标是模型投资回报率和价值的最终衡量标准,但通常是最难衡量的。

您可能不需要详细查看每个金字塔层。他们可能在后端工程师、数据工程、ML 团队和业务利益相关者之间有不同的内部消费者。

确切的监控策略还取决于模型是批处理还是实时模型、获得ground truth标签的速度、模型的重要性以及相关风险。您可能会使用一些指标进行实际监控(对它们设置警报),同时让其他指标可用于报告和调试目的(例如,预先计算并存储在某处)。

以下是一些指标示例的摘要:

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


相关文章
|
机器学习/深度学习 监控 Kubernetes
使用 Seldon Alibi 进行模型监控
虽然 Seldon 使在生产中部署和服务模型变得容易,但一旦部署,我们如何知道该模型是否在做正确的事情? 训练期间的良好表现并不一定意味着在生产运行几个月后表现良好。 现实世界中发生的事情是我们无法解释的,例如:输入数据逐渐偏离训练数据,以及异常值和偏差。
|
7月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
447 0
|
4月前
|
供应链
指标类需求问题之在指标开发阶段进行初步确认要如何操作
指标类需求问题之在指标开发阶段进行初步确认要如何操作
|
4月前
|
存储 监控 Devops
|
数据采集 数据可视化 数据处理
【机电部故障诊断】补油时间统计自动化
宁德核电Python大赛机电部故障诊断队赛题作品展示
175 0
【机电部故障诊断】补油时间统计自动化
|
Prometheus 监控 Cloud Native
【夜莺监控】从日志中提取指标的瑞士军刀
【夜莺监控】从日志中提取指标的瑞士军刀
|
数据采集 监控 前端开发
LS支持持续性能数据采集与监控
小王所在的公司最近在做降本增效,要求上半年每个人的微服务接口性能提升至少30%。小王思虑很久也没想到优化点,于是开始向ChatGPT寻求帮助。
206 0
LS支持持续性能数据采集与监控
|
人工智能 监控 Kubernetes
【可观察性】什么是可观察性? 不仅仅是日志、指标和跟踪
【可观察性】什么是可观察性? 不仅仅是日志、指标和跟踪
|
Web App开发 缓存 监控
【译】我们对 2023 年核心页面指标的建议
【译】我们对 2023 年核心页面指标的建议
|
机器学习/深度学习 存储 JSON
什么是模型监控?(Valohai)
型监控是指密切跟踪机器学习模型在生产中的性能的过程。 它使您的 AI 团队能够识别和消除各种问题,包括糟糕的质量预测和糟糕的技术性能。 因此,您的机器学习模型可提供最佳性能。 有效地监控模型对于使您的机器学习服务获得成功非常重要。 它使您能够在现实世界中产生重大影响。 但是在监控模型时应该跟踪什么? 在这篇文章中,您将找到所有详细信息。