首页 > 其他分享 >MLOps:模型监控

MLOps:模型监控

时间:2022-11-12 19:35:45浏览次数:35  
标签:场景 ML 模型 指标 监控 MLOps 数据


使用模型度量堆栈进行模型监视,对于将已部署的ML模型的反馈回路放回模型构建阶段至关重要,这样ML模型可以在不同的场景下不断改进自己。



MLOps:模型监控_数据

image.png

图1. ML Workflow

背景

ML模型正在推动企业做出一些最重要的决策。因此,这些模型一旦部署到生产环境中,就必须在最新数据的上下文中保持相关性。如果存在数据歪斜,模型可能会脱离上下文,即数据分布可能在生产中与训练期间使用的数据不同。也可能是生产数据中的某个特征变得不可用,或者模型可能不再相关,因为实际环境可能已经改变(例如,Covid19),或者更简单地说,用户行为可能已经改变。因此,监控模型行为的变化以及推理中使用的最新数据的特征至关重要。这确保模型与模型训练阶段承诺的预期性能保持相关性和真实性。

这种模型监测框架的实例如下图2所示。目标是跟踪各种指标的模型,我们将在下一节中详细介绍这些指标。但首先,让我们了解模型监控框架的动机。



MLOps:模型监控_人工智能_02

image.png

MLOps:模型监控_算法_03

image.png

图2. 模型监控框架示意图

动机

反馈循环在生活和商业的各个方面都发挥着重要作用。反馈循环很容易理解:你生产了一些东西,测量了关于生产的信息,并利用这些信息来提高生产。这是一个不断监测和改进的循环。任何具有可测量信息和改进空间的东西都可以包含反馈循环,ML模型当然可以从中受益。

典型的 ML 工作流包括数据接入、预处理、模型构建和评估以及最终部署等步骤。然而,这缺乏一个关键部分,即反馈。因此,任何“模型监控”框架的主要动机都是在部署后回到模型构建阶段(如图1所示)。创建这个非常重要的反馈循环,这有助于 ML 模型决定更新模型或继续使用现有模型来不断改进自身。为了实现这一决策,框架应在下面描述的两种可能的场景下跟踪和报告各种模型指标(详见下文“指标”部分)。

  • 场景一:训练数据可用,框架在部署后根据训练数据和生产(推理)数据计算所述模型指标,并进行比较以做出决策。
  • 场景二:训练数据不可用,框架仅根据部署后可用的数据计算所述模型指标。

下表列出了模型监控框架在两种场景下生成所述指标所需的输入。



MLOps:模型监控_算法_04

image.png

根据上面两个场景中哪一个适用,计算下一节中突出显示的指标,以决定生产环境中的模型是否需要更新或一些其他干预措施。

指标

下面的图3给出了建议的模型监控指标堆栈。它基于指标对数据和ML模型的依赖性定义了三种广泛的指标类型。

理想情况下,监控框架应包括所有三个类别中的一个或两个指标,但如果存在权衡,则可以从基础开始建立,即从运营指标开始,然后随着模型的成熟度建立。此外,应更加实时地或至少每天监测运营指标,其中稳定性和性能可以每周或更大的时间范围,具体取决于域和业务场景。



MLOps:模型监控_算法_05

image.png

图3. Model Monitoring Metrics Stack

稳定性指标

这些指标有助于我们捕获两种类型的数据分布变化:

  • a) 先验概率偏移-捕获预测输出或因变量在训练数据和生产数据(场景一)或生产数据的各个时间框架(场景二)之间的分布偏移。这些指标的例子包括群体稳定性指数(PSI)、偏离指数(概念偏移)、误差统计。

MLOps:模型监控_人工智能_06

image.png

监控 AI 系统的预测输出以检测先验概率偏移

  • b) 协变量偏移-捕捉训练数据和生产数据(场景一)或生产数据的不同时间框架(场景二)之间每个独立变量的分布移位(如适用)。这些指标的示例包括特征稳定性指数(CSI)和新颖性指数(Novelty Index)。

MLOps:模型监控_人工智能_07

image.png

监控 AI 系统的输入数据以检测协变量偏移

性能表现指标

这些指标有助于我们检测数据中的概念偏移,即确定独立变量和因变量之间的关系是否发生了变化(例如,在COVID之后,用户在节日期间的购买方式可能发生了变化)。他们通过检查现有部署模型在接受训练时(场景一)或在部署后的前一个时间范围内(场景二)的性能好坏来实现。因此,可以决定是否重新处理部署的模型。这些指标的示例包括:

  • a) 任务指标,如 RMSE、R-Square等,用于回归任务; 准确率,AUC-ROC等,用于分类任务。
  • b) 基尼系数和KS-统计:预测概率/类别分离程度的统计度量(仅适用于分类模型)

MLOps:模型监控_生产环境_08

image.png

监控 AI 系统中使用的 ML 模型以检测概念漂移

运营指标

这些指标有助于我们从使用角度确定部署模型的性能。它们与模型类型、数据无关,不需要任何输入。这些指标的示例包括:

  1. 调用ML API接口的吞吐量(请求数)
  2. 调用ML API接口时的延迟(平均响应时间)
  3. 执行预测时的IO/内存/CPU使用情况(平均消耗)
  4. 系统正常运行时间
  5. 磁盘利用率(平均消耗)

结论

MLOps领域内的模型监控已成为成熟ML系统的必要条件。实现这样的框架以确保ML系统的一致性和健壮性是至关重要的,因为没有它,ML系统可能会失去终端用户的“信任”,这可能是致命的。因此,在任何ML场景实现的总体解决方案体系结构中包含并规划模型监控是至关重要的。

在本系列的下一篇博客中,我们将更详细地介绍两个最重要的模型监控指标,即稳定性和性能指标,我们将了解如何使用它们来构建我们的模型监控框架。


标签:场景,ML,模型,指标,监控,MLOps,数据
From: https://blog.51cto.com/liguodong/5846763

相关文章

  • 联通DataOps和MLOps:将机器学习推理作为新的数据源
    【编者按:随着大数据和AI的关注重点转向工程化和能效,DataOps和MLOps逐渐兴起。DataOps侧重于提高数据分析质量、缩短数据交付周期,MLOps侧重于快速交付AI模型。数据是AI开发生......
  • Nginx整体结构、进程模型
    1. 整体图解         2. master进程和worker进程简介/***Nginx采用的是一个master进程、多个worker进程的方式1.master进程(1)监控进程、不......
  • 基于arx模型的MPC预测控制器simulink建模与仿真实现
    目录​​一、理论基础​​​​二、核心程序​​​​三、测试结果​​一、理论基础MPC的优点模型预测控制善于处理多输入多输出系统    对于MIMO系统,PID需要为每个......
  • JUC学习笔记——共享模型之管程
    JUC学习笔记——共享模型之管程在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的管程部分我们会分为以下几部分进行介绍:共享问题共享问题解决方案线程安......
  • Linux 运行进程实时监控pidstat命…
    简介pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显......
  • 教你使用monit监控Linux系统
    Monit是用于对系统中的进程、文件、目录、以及设备等进行监视和管理的工具。当你所指定的server宕机或者没有反应,monit会将该进程杀死并重启该server。并通过邮件进行通......
  • 【S-V信道】基于毫米波的5G通信S-V信道模型仿真
    1.软件版本MATLAB2021a2.本算法理论知识由于大气中存在一定含量的极化氧分子和水汽(如图3.1所示),因此毫米波在传输过程中容易被大气吸收,从而导致信号衰减,影响通信质量[13,......
  • 博迪投资学·投资组合:第六七章的模型总结
    风险资产的占比问题从经济学上讲,赌博是为了享受冒险的乐趣而承担风险,而投机则指为了风险溢价而承担风险。把赌博变成投机需要有足够的风险溢价来补偿风险厌恶投资者。......
  • OSI参考模型
    OSI参考模型OSI参考模型是怎么来的?为了解决计算机网络复杂的大问题==》分层结构(按功能)目的:支持异构网络系统的互联互通。国际标准化组织(ISO)与1984年提出开放系统......
  • 旋转门数据压缩算法在PostgreSQL中的实现 - 流式压缩在物联网、监控、传感器等场景的
      背景在物联网、监控、传感器、金融等应用领域,数据在时间维度上流式的产生,而且数据量非常庞大。例如我们经常看到的性能监控视图,就是很多点在时间维度上描绘的曲线......