当您向机器学习 (ML) 工程师询问他们面临的最大挑战时,监控和可观察性通常是最重要的。 造成这种情况的原因有很多,包括数据漂移、概念漂移、偏见和公平以及对抗性输入等等。 发现问题通常是解决问题的第一步,这就是监控和可观察性的用武之地。
机器学习监控和可观察性可帮助您发现在 ML 生命周期中出现的问题。 随着 ML 应用程序在各行各业中变得越来越普遍,监控这些模型的性能变得更加重要。在本文中,我将解释什么是监控和可观察性,它们的区别是什么,以及如何使用 Aporia 将监控和可观察性付诸实践。
什么是机器学习监控?
机器学习中的机器学习监控是跟踪模型从开发到生产的性能指标,并了解与模型性能相关的问题的方法。应监控的指标包括准确度、召回率、精度、F1 分数、MAE、RMSE 等。
ML 监控最重要的元素之一是其警报系统,该系统会在检测到变化/故障时通知数据科学家或 ML 工程师。
这需要设置条件并设计指标或阈值,以便在出现问题时更清晰。
ML 监控是一个包括监控的全面的过程:
- 数据:机器学习监控系统监控训练和生产过程中使用的数据,以确保其质量、一致性和准确性,以及安全性和有效性。
- 模型:在模型部署之后监控模型。监控系统寻找模型中的变化,并在发生变化时提醒数据科学家。
- 环境:开发和部署模型的环境也有助于模型的整体性能。如果任一环境存在问题,都会影响性能。 ML 监控系统检查系统 CPU、内存、磁盘、I/O 利用率等指标。
所有的这些监控有助于在问题发生时立即识别问题,并使数据科学家能够干预并解决问题。
模型的长期性能可能会受到数据和环境随时间变化的影响。由于 ML 模型容易出错,模型监控使组织能够避免这些问题,并更加专注于提高项目的性能。
监控生产中模型的数据漂移、概念漂移、内存泄漏等对于您的机器学习项目的成功和您希望获得的结果至关重要。它可以帮助您识别模型漂移、数据/特征漂移和数据泄漏,这可能导致准确性差、性能不佳或意外偏差。
让我们看看这些不同的问题实际上意味着什么:
- 数据漂移:一旦模型投入生产,输入数据会随着时间的推移而变化,从而导致模型的性能和准确性下降。这里的主要问题是在训练、测试和模型验证期间使用的数据发生了变化,并且与生产中的数据输入不同。因此,持续监控数据漂移非常重要。
- 概念漂移:由于生产模型是实时使用的,并且数据是实时演变的,因此输入和输出数据之间的关系必然会发生变化。这被称为概念漂移。在这里,数据是根据实时事件、消费者模式的变化等而演变的。
- 对抗性输入:注意攻击者的数据输入很重要,这可能会导致性能下降。
- 偏见和公平:当用户与模型交互时,他们无意中带来了自己的偏见,而且通常用于训练模型的数据也可能存在偏见。监控偏差对于确保模型提供公平和准确的预测至关重要。
- 数据泄漏:当训练期间使用的数据集包含相关数据,但在生产模型时无法获得类似数据时,就会发生这种情况。由于数据集的差异,这导致训练期间的准确率更高,而生产期间的性能较低。
- 对于医疗保健和金融等关键领域,模型的决策可能会产生严重影响,因此,保留日志并主动监控模型开发非常重要。
- 错误:在部署 ML 模型时,可能会出现无数在测试或验证期间未发现的问题,而不仅仅是数据本身。可能是系统使用情况、用户体验(UX)错误等。
机器学习监控很重要,原因如下:
- 它使您能够分析预测的准确性
- 它有助于消除预测错误
- 它通过在问题出现时提醒数据科学家来确保最佳性能
什么是机器学习可观察性?
可观察性通过了解系统输入、输出和环境之间的关系来衡量系统内部状态的健康状况。在机器学习中,这意味着监控和分析模型的输入、预测请求和生成的预测;然后,在发生中断时提供对洞察的理解。
可观察性的概念来自控制系统理论,该理论告诉我们,您只能在可以了解/观察到的范围内控制系统。这意味着控制结果准确性的想法,通常跨越系统的不同组件,需要可观察性。
在 ML 系统中,可观察性变得更加复杂,因为您需要考虑多个交互系统和服务,例如:数据输入/流水线、模型notebooks、云部署、容器化基础设施、分布式系统和微服务。这通常意味着您需要监控和聚合大量系统。
ML 可观察性结合了来自 ML 系统每个部分的性能数据和指标的统计信息,以深入了解 ML 系统面临的问题。因此,除了提醒用户注意模型引起的问题外,ML 可观察性还为解决问题提供了解决方案和见解。
进行测量对于 ML 可观察性至关重要。就像您在训练期间分析模型性能一样,仅测量最重要指标是不够的,并且会提供未完成的图像。您需要对数据进行切片以了解模型对各种数据子集的执行情况。 ML 可观察性在评估模型的性能方面也采用了大卸八块(Slice and Dice)的方法。
可观察性的概念不仅仅停留在应用程序性能和错误记录上。除了评估结果外,它还包括监控和分析预测请求、性能指标和模型生成的预测。
ML 可观察性所需的另一个重要因素是拥有领域知识。领域知识有助于精确和准确地洞察模型中发生的变化。例如,在为电子商务时尚商店建模和评估推荐模型时,您需要了解时尚趋势以正确理解模型中发生的变化。领域知识在数据采集和处理、特征工程和结果解释期间也能提供帮助。
机器学习监控与机器学习可观察性的区别
ML 监控和 ML 可观察性之间的简单区别是“是什么与为什么”。
ML 监控告诉我们“是什么”,而 ML 可观察性则解释了是什么、为什么,有时还解释了如何解决它。
ML Monitoring | ML Observability |
ML 监控会通知我们该问题。 | ML 可观察性是知道问题的存在,理解问题存在的原因以及如何解决它。 |
监控会提醒我们组件的中断或故障。 | ML 可观察性提供了关于中断的系统视图——将整个系统考虑在内。 |
ML 监控回答模型出问题的内容和时间。监控告诉您系统是否正常工作。 | ML 可观察性给出了为什么和怎么样的上下文。观察性让你问为什么它不工作。 |
ML Monitoring 以失败为中心。 | ML Observability 可以理解系统,无论是否发生中断。 |
例如,假设生产中的模型面临概念漂移问题。 ML 监控解决方案将能够检测模型中的性能下降。 相比之下,ML 可观察性解决方案将比较数据分布和其他关键指标,以帮助查明漂移的原因。
Aporia 的 ML 可观察性
Aporia 的全栈 ML 可观察性解决方案为数据科学家和 ML 工程师提供了可见性、监控和自动化、研究工具和可解释性,为了理解为何模型预测它们的行为、它们在生产中的表现以及可以改进的地方。
Aporia 为您的机器学习模型提供可定制的监控和可观察性系统。它可以让您监控预测漂移、数据漂移、输入时的缺失值、鲜度、F1 分数等。
Aporia 监视器仪表板
Aporia 使您能够为 50 多种不同类型的监视器设置警报,并为您提供有关如何解决这些问题的可行见解,即 ML 可观察性。
Aporia 警报仪表板
ML 可观察性和 ML 监控都是 ML 生命周期中不可或缺的一部分(有一段时间,它是 ML 基础架构中必不可少且缺失的部分)。 ML 可观察性是您的 ML 团队的竞争优势,因为您拥有的可观察性越高,您的团队从模型及其行为中获得的洞察力就越多。
作为 ML 工程师和数据科学家,我们需要一种系统的方法来监控所有级别的机器学习模型(数据、模型和部署)。 Aporia 为您提供了一个灵活的平台,使您能够构建满足特定用户场景和机器学习模型需求的监控和可观察性。