评估ML监控解决方案时要避免的常见陷阱(mona)

简介: 机器学习运营 (MLOps) 是目前最热门的创业投资领域之一,因为虽然构建机器学习模型的最佳实践相对容易理解,但大量创新正被投入到设计方法以最佳地将它们用于生产环境。 MLOps 类别中最主要的是 ML 监控。 了解 ML 监控工具的前景可能令人懊恼、耗时,而且很容易令人困惑。 我们撰写本文的目的是绘制其制图图,并希望借此阐明选择适当监控解决方案的一些常见陷阱,从而为混乱带来秩序。

什么是机器学习模型监控?

为了选择合适的解决方案,首先需要就问题的定义达成一致。机器学习模型监控的首要目标是提供解决方案,在ML应用程序中的缺陷对下游业务KPI产生负面影响之前,对其进行检测。由于在KPI受到影响之前通常很难检测到模型问题,因此需要专门的监控工具。本着这种精神,以下是ML监控工具的基本要求。


首先,ML监视与传统软件产品的监视不同,并且通常更复杂。在ML上下文中,仅了解系统是运行还是关闭是不够的。相反,有必要确保系统正在发挥其预期功能。 算法是否预测了它应该做的事情? 客户数据是否可靠且定期地获取并用于重新训练模型? 企业及其客户能否信任该模型的结果? 这些都是在生产中监控机器学习模型时要问的重要问题。

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


Mona 的“状态检查”仪表板 - 为您提供基于 AI 的流程的健康状况的全貌,而不仅仅是您的模型

其次,需要在其业务功能的上下文中监控和理解 ML 模型。这在很大程度上归结为设计和衡量正确的指标,衡量业务流程性能的指标,而不仅仅是模型行为。需要比模型遥测提供的更细致入微的理解。

第三,适当的监控工具需要在非常精细的级别上进行监控,但要智能地进行监控,而不会产生太多的警报,以至于它变得嘈杂和分散注意力。也就是说,模型行为的变化需要在它们传播到对业务 KPI 产生更显着影响、损害您的业务并失去您的客户之前被检测到。因此,最好的监控工具执行一个非常微妙的平衡行为,提供丰富、细粒度的数据,而不会频繁发出警报,以至于它变得不堪重负。


什么不是机器学习模型监控?

鉴于 MLOps 领域的炒作和投资标准,许多玩家如雨后春笋般涌现,声称已经创建了下一个最好的监控工具。然而,这些人工智能监控索赔人中的许多人并没有像宣传的那样表现。它们通常可以分为不同的子类别,并且大多数可用工具将仅涵盖其中一个功能集。


提供基础架构和应用程序性能监控 (APM) 的工具

落入此桶的工具通常是传统软件监控方法的遗留物,只是经过松散调整以解决 ML 上下文。它们通常通过跟踪延迟、错误率和停机时间等指标来提供系统表层机制的良好快照,但它们通常完全无法解决 ML 管道的算法和数据方面的问题。换句话说,它们只关注基础设施堆栈的健康状况,但当基础设施用于服务 ML 模型时,有时会被当作“ML 监控”工具。虽然这种类型的监控很重要,但它是许多现有解决方案的问题,而且它不是“ML 监控”。 APM 工具通常是云服务产品的一部分,因为它们完全属于云基础架构堆栈。

异常检测工具


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


虽然能够检测异常是监控的关键部分,但它只是端到端解决方案所需的一小部分。 Mona 检测到此类异常,提供完整的仪表板和警报系统等

顾名思义,异常检测工具旨在根除数据集中发现的异常。他们可以识别异常值、基于时间序列的异常和分布差异等现象。不可否认,这些是构建监控解决方案时的重要功能。然而,一个成熟的监控解决方案将包括许多额外的组件。大数据层对于收集有关模型输入和输出、业务和技术元数据以及来自所有相关环境(开发/生产、训练/推理和ground truth标签)的业务反馈信息的相关信息至关重要。交互式可视化层允许仪表板、故障排除、报告创建和数据探索,并允许非技术用户一瞥系统。此外,ML 监控工具应该是智能的,并且能够以可配置的方式自动检测异常,并提供有关它发现的异常的有见地的上下文。最后,需要有一个操作层来连接您的工作流程,在正确的时间提醒相关的人,并随着时间的推移跟踪问题。


实验跟踪工具

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


当在生产中跨模型版本进行测量时,Mona 检测到特定细分市场的性能漂移

实验跟踪工具在研究环境中非常有用。 它们允许您从端到端跟踪您的实验并比较模型在孤立数据集上的执行情况,并且通常提供指标记录和跟踪、自动绘图生成、数据版本控制等功能。但是,当您尝试将模型投入生产时,它们的局限性开始显现。 虽然它们可能能够在有限的意义上继续监控模型的性能,但它们并不是为了了解整个业务流程如何受到软件和 ML 组件的联锁系统的影响。尽管它们可能提供基本的基础设施监控功能,但不应将它们与一个成熟的监控解决方案混淆,该解决方案可以查明您的业务 KPI 如何受到链式模型和数据交互的影响。


可解释性工具

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


Mona 通过相关的指标和特征自动找到性能不佳的可能解释

可解释性工具是为了响应神经网络和类似的不透明深度学习模型的广泛使用而开发的,尽管大多数可用于任何模型类型。 他们专注于提供对模型如何运作的理解,通常通过使用诸如 SHAP 等指标来阐明特征重要性。 可解释性通常与监控混为一谈,因为这两种工具都可以从机器学习系统中传递信任。 虽然这很重要,但应将可解释性工具与监控解决方案结合使用,而不是代替它们。 从根本上说,可解释性产品仅限于理解单个模型的特征,并不能像真正的监控解决方案那样将整体观点传递到数据、模型、基础设施和业务流程中。

故障排除工具

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


Mona 的“调查”页面 - 虽然在问题出现时解决问题的能力很重要,但这还不足以实现监控的总体目标

也许增长最快的监控“冒名顶替者”类别是故障排除工具。它们也可能是最虚幻的,通常给人一种似是而非的印象,即系统正在被监控,而实际上并非如此。事实是,故障排除工具不会在潜在问题表现为实际问题之前识别它们。相反,它们被设计为“响应”工具,允许用户更清楚地了解系统在功能中断并产生用户投诉后发生的情况。显然,仅在 KPI 受到负面影响后才修复系统并不理想,而这正是故障排除工具旨在提供的功能。真正的监控解决方案允许您在这些问题传播之前识别它们。


寻找真正的机器学习监控解决方案

围绕 ML 监控的概念有如此多的噪音和混乱,难怪业务领导者甚至技术人员在为他们的用户场景选择正确的工具时都会感到困惑。我们希望本文有助于描述真正的监控解决方案所提供的功能。也就是说,在评估和测试产品时,您需要确保它们不是

  • 将面向 devops 的监控(APM、云基础设施)与算法和数据监控相结合。
  • 将监控与其他听起来很花哨的功能(例如可解释性和公平性)混为一谈。
  • 将全面解决方案与其特定层合并;例如,异常检测或故障排除。

最重要的是,您需要验证您正在考虑的解决方案是否能够检测并提供有关新生问题的信息,以免它们冒出更复杂、难以解开且对下游业务 KPI 有害的问题。


相关文章
|
3月前
|
缓存 监控 算法
软件测试中的性能瓶颈分析与优化策略
【10月更文挑战第6天】 性能测试是确保软件系统在高负载条件下稳定运行的重要手段。本文将深入探讨性能测试的常见瓶颈,包括硬件资源、网络延迟和代码效率等问题。通过具体案例分析,我们将展示如何识别并解决这些问题,从而提升软件的整体性能。最后,文章还将分享一些实用的性能优化技巧,帮助读者在日常开发和测试中更好地应对性能挑战。
133 3
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
40 6
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
32 1
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
深入探索软件测试:策略、工具与未来趋势
【5月更文挑战第38天】 在软件开发的生命周期中,测试环节扮演着至关重要的角色。随着技术的不断进步和市场需求的多样化,传统的测试方法已逐渐不能满足现代软件项目的需求。本文旨在提供一个全面的软件测试概述,包括最新的测试策略、常用工具以及预测未来的发展趋势。通过分析自动化测试的效益、持续集成的重要性以及人工智能在测试中的应用,文章将帮助读者构建一个更高效、更智能的软件测试环境。
|
8月前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
1045 6
|
5月前
|
监控 Kubernetes 持续交付
持续部署的内涵和实施路径问题之确保持续部署的准确性和可预期性的问题如何解决
持续部署的内涵和实施路径问题之确保持续部署的准确性和可预期性的问题如何解决
|
6月前
|
Java 大数据 测试技术
开发与运维测试问题之UseCompactObjectHeaders在SPECjbb2015基准测试中的表现如何解决
开发与运维测试问题之UseCompactObjectHeaders在SPECjbb2015基准测试中的表现如何解决
220 1
|
8月前
|
监控 测试技术
深入分析软件测试中的风险评估与管理
【5月更文挑战第30天】 在软件开发生命周期中,风险无处不在,特别是在软件测试阶段。本文旨在探讨软件测试过程中如何有效地进行风险评估和管理,以确保软件质量和项目成功。文中将介绍风险评估的基本概念,提出一个结构化的风险识别和评估框架,并详细讨论如何通过定性和定量方法来管理测试风险。此外,文章还将展示一个案例研究,以说明所提策略在实际中的应用效果。
|
8月前
|
程序员 测试技术
程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。
【5月更文挑战第11天】程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。复杂的系统易产生意外问题,需求变化导致初始设计难完备,测试无法覆盖所有情况,而技术更新和个体能力差异也会引入错误。因此,持续调试和优化是保证软件质量的关键步骤。
76 0
|
8月前
|
机器学习/深度学习 安全 搜索推荐
大模型从“赶时髦”到“真有用”成为提效手段
【1月更文挑战第2天】大模型从“赶时髦”到“真有用”成为提效手段
157 1
大模型从“赶时髦”到“真有用”成为提效手段