使用模型度量堆栈进行模型监视,对于将已部署的ML模型的反馈回路放回模型构建阶段至关重要,这样ML模型可以在不同的场景下不断改进自己。
图1. ML Workflow
ML模型正在推动企业做出一些最重要的决策。因此,这些模型一旦部署到生产环境中,就必须在最新数据的上下文中保持相关性。如果存在数据歪斜,模型可能会脱离上下文,即数据分布可能在生产中与训练期间使用的数据不同。也可能是生产数据中的某个特征变得不可用,或者模型可能不再相关,因为实际环境可能已经改变(例如,Covid19),或者更简单地说,用户行为可能已经改变。因此,监控模型行为的变化以及推理中使用的最新数据的特征至关重要。这确保模型与模型训练阶段承诺的预期性能保持相关性和真实性。
这种模型监测框架的实例如下图2所示。目标是跟踪各种指标的模型,我们将在下一节中详细介绍这些指标。但首先,让我们了解模型监控框架的动机。
图2. 模型监控框架示意图
反馈循环在生活和商业的各个方面都发挥着重要作用。反馈循环很容易理解:你生产了一些东西,测量了关于生产的信息,并利用这些信息来提高生产。这是一个不断监测和改进的循环。任何具有可测量信息和改进空间的东西都可以包含反馈循环,ML模型当然可以从中受益。
典型的 ML 工作流包括数据接入、预处理、模型构建和评估以及最终部署等步骤。然而,这缺乏一个关键部分,即反馈。因此,任何“模型监控”框架的主要动机都是在部署后回到模型构建阶段(如图1所示)。创建这个非常重要的反馈循环,这有助于 ML 模型决定更新模型或继续使用现有模型来不断改进自身。为了实现这一决策,框架应在下面描述的两种可能的场景下跟踪和报告各种模型指标(详见下文“指标”部分)。
下表列出了模型监控框架在两种场景下生成所述指标所需的输入。
根据上面两个场景中哪一个适用,计算下一节中突出显示的指标,以决定生产环境中的模型是否需要更新或一些其他干预措施。
下面的图3给出了建议的模型监控指标堆栈。它基于指标对数据和ML模型的依赖性定义了三种广泛的指标类型。
理想情况下,监控框架应包括所有三个类别中的一个或两个指标,但如果存在权衡,则可以从基础开始建立,即从运营指标开始,然后随着模型的成熟度建立。此外,应更加实时地或至少每天监测运营指标,其中稳定性和性能可以每周或更大的时间范围,具体取决于域和业务场景。
图3. Model Monitoring Metrics Stack
这些指标有助于我们捕获两种类型的数据分布变化:
监控 AI 系统的预测输出以检测先验概率偏移
监控 AI 系统的输入数据以检测协变量偏移
这些指标有助于我们检测数据中的概念偏移,即确定独立变量和因变量之间的关系是否发生了变化(例如,在COVID之后,用户在节日期间的购买方式可能发生了变化)。他们通过检查现有部署模型在接受训练时(场景一)或在部署后的前一个时间范围内(场景二)的性能好坏来实现。因此,可以决定是否重新处理部署的模型。这些指标的示例包括:
监控 AI 系统中使用的 ML 模型以检测概念漂移
这些指标有助于我们从使用角度确定部署模型的性能。它们与模型类型、数据无关,不需要任何输入。这些指标的示例包括:
MLOps领域内的模型监控已成为成熟ML系统的必要条件。实现这样的框架以确保ML系统的一致性和健壮性是至关重要的,因为没有它,ML系统可能会失去终端用户的“信任”,这可能是致命的。因此,在任何ML场景实现的总体解决方案体系结构中包含并规划模型监控是至关重要的。
在本系列的下一篇博客中,我们将更详细地介绍两个最重要的模型监控指标,即稳定性和性能指标,我们将了解如何使用它们来构建我们的模型监控框架。
原文链接:MLOps: Model Monitoring 101 / MLOps: Model Monitoring 101