模型监控框架调研(下)

296 阅读5分钟

引言

  • 背景:本文为个人调研现有主流模型监控框架的总结,其中对一些不满足工作需要的模型框架并未深入研究,总结仅供参考。
  • 参考连接:监控框架
  • 关于模型监控框架的参考文章貌似都是上面参考连接中那个作者写的,内容大致都是相关,有所偏重,可酌情搜索查看,本文调研的中心点与模型监控调研部分内容重合,可搭配使用。
  • 内容较多且是个人总结手稿,酌情参考,有问题可一起探讨。
  • 本文主要为 Evidently AI 框架详情总结。

框架调研方向介绍:

  • 是否开源,因为业务需要只能内网使用
  • 获取数据的方式是什么样的,因为业务真实数据不能脱离指定环境
  • 对数据的监控有哪些方面?使用的什么原理;
  • 对模型的监控有哪些指标?哪些指标可以覆盖满足
  • 框架有无可采用的特色功能,整体流程是什么样的。
  • 框架扩展性如何,告警方式有哪些等等相关问题

监控框架:Evidently AI

  • 1.官方文档:官网文档
  • 2.框架所有检测方法,指标汇总
  • 3.漂移检测方法较为丰富:参考
  • 4.注:相比较于Deepchecks,可视化内容更丰富,数据/模型类型/模型性能评估可用指标等更丰富,模块化更好更简洁实用,数据完整性方面指标没有 Deepchecks 丰富
  • 5.注:相比较于 Whylabs,可视化的内容更简洁实用,数据/模型类型/模型性能评估可用指标等更丰富,模块化相对不够灵活,但是综合来说是目前三个框架中较为适合的框架(个人理解)

1 整体监控流程:

  • 1.下载并安装开源Ecidently 包,使用 pandas,numpy 等工具对原始数据(模型预测日志)等进行处理。
  • 2.基于数据构建要测试的内容,组合不同测试内容生成测试套件,设置测试参数和测试条件。
  • 3.构建测试套件对应的可视化面板,设置对应指标和度量参数并使用 Jupyter nbextension进行可视化(也可以拿到结果数据再做处理)

2 监控目标

  • 2.1 监控目标 : 数据层面监控:
    • 1.检测数据质量(包含完整性,稳定性等):
      • a.检测数据集中连续,离散,日期时间等类型数据集的统计信息(如缺失值,唯一值,重复值等)
      • b.检测特征数据分布(当前数据与参考数据相比较)
      • c.检测每个特征与目标之间的相关性
    • 2.检测数据漂移
      • a.针对连续,离散,文本类的特征选用合适的漂移检测方法
      • b.检测特征数据分布(当前数据与参考数据相比较)
      • c.漂移检测方法包含PSI、K-L散度、Jensen-Shannon距离、Wasserstein距离等(见上面方法汇总链接)
      • d.数据集漂移判断条件:为数据集漂移设置不同的阈值和条件,一般认为至少 50% 的特征发生了漂移则认为是数据集发生了漂移
    • 3.检测目标漂移
      • a.检测目标特征的数据分布(当前数据与参考数据相比较)
      • b.对于数值型目标,使用 Pearson 相关性计算特征与目标的相关性
  • 2.2 监控目标 : 模型性能层面监控:
    • 1.回归模型:
      • c.汇总指标包含 ME,MAE,MAPE
      • d.绘制实际值和预测值的散点图;实际值和预测值的误差折线图;评估误差的正态性
      • e.可自定义监控检测指标
    • 2.分类模型:包含二分类,多分类,概率和非概率分类
      • a.汇总指标可视化:准确度、精确度、召回率、F1 分数、ROC AUC 和 LogLoss,混淆矩阵
      • b.多分类将每个类的质量指标可视化,每个类别的最佳概率阈值可视化,预测概率分布可视化
      • c.可自定义监控检测指标
    • 3.无目标检测:模型具有延迟反馈的情况
      • a.检测数据稳定性:验证特征类型是否匹配,是否有异常值,缺失值等
      • b.检测预测漂移和数据漂移
    • 4.语言模型检测略

监控框架:MLRun

  • 1.官网文档:文档
  • 2.注:MLRun 是一个端到端的开源 MLOps 编排框架,用于管理和自动化整个分析和机器学习生命周期,从数据摄取到模型开发再到完整的流水线部署。 简化了大规模机器学习流水线的开发,帮助 ML 团队构建一个从研究阶段过渡到完全可操作的生产部署流程(与模型监控关联性较低)。
  • 3.检测漂移的三个可用方法:
    • a.总变异距离(TVD) — 实际预测与模型训练预测之间的统计差异。
    • b.Hellinger距离- 一种 f 散度,用于量化实际预测与模型训练预测之间的相似性。
    • c.Kullback–Leibler 散度(KLD) — 衡量实际预测的概率分布与第二个模型的训练参考概率分布的差异。

监控框架:Aporia

  • 1.官网文档:官网文档
  • 2.与上述框架相比无特别的优势