whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵
  • 作者:韩信子@ShowMeAI
  • 机器学习实战系列:www.showmeai.tech/tutorials/4…
  • 本文地址:www.showmeai.tech/article-det…
  • 声明:版权所有,转载请联系渠道与作者并注明出处
  • 收藏ShowMeAI检查更多精彩内容
whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵

完整的机器学习运用进程,除了数据处理、建模优化及模型部署,也需要进行后续的作用验证跟踪和ML模型监控——它能确保模型和场景是保持匹配且有优异作用的。

whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵

模型上线后,可能会存在作用下降等问题,面对数据漂移等问题。详见ShowMeAI的文章 机器学习数据漂移问题与解决方案

ShowMeAI在这篇文章中,将给咱们展示怎么运用开源东西库 whylogs 构建详尽的 AI 日志渠道并监控 ML 模型。

whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵

日志系统&模型监控

环境装备

要构建日志系统并进行模型监控,会运用到开源数据日志库whylogs,它能够用于捕获数据的关键计算特点。安装方法很简略,履行下列 pip 指令即可

pip install "whylogs[whylabs]"

接下来,导入所用的东西库whylogspandasos。咱们也创立一份 Dataframe 数据集进行剖析。

import whylogs as why
import pandas as pd
import os
# create dataframe with dataset
dataset = pd.read_csv("https://whylabs-public.s3.us-west-2.amazonaws.com/datasets/tour/current.csv")

运用 whylogs 创立的数据装备文件能够独自用于数据验证和数据漂移可视化,简略的示例如下:

import whylogs as why
import pandas as pd
#dataframe
df = pd.read_csv("path/to/file.csv")
results = why.log(df)

这儿也解说一下云端环境,即把装备文件写入 WhyLabs Observatory 以履行 ML 监控。

为了向 WhyLabs 写入装备文件,咱们将 创立一个帐户(免费)并获取安排 ID、Key和项目 ID,以将它们设置为项目中的环境变量。

# Set WhyLabs access keys
os.environ["WHYLABS_DEFAULT_ORG_ID"] = 'YOURORGID'
os.environ["WHYLABS_API_KEY"] = 'YOURACCESSTOKEN'
os.environ["WHYLABS_DEFAULT_DATASET_ID"] = 'PROJECTID'

新建项目并获取 ID

Create Project > Set up model > Create Project,整个操作进程如下图所示:

获取安排 ID 和拜访 Key

菜单 > 设置 > 拜访令牌 > 创立拜访令牌,如下图所示:

whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵

经过这个装备,接下来就能够将数据装备文件写入 WhyLabs。

将装备文件写入 WhyLabs 以进行 ML 监控

设置拜访密钥后,能够轻松创立数据集的装备文件并将其写入 WhyLabs。这使咱们只需几行代码即可监控输入数据和模型猜测!

# initial WhyLabs writer, Create whylogs profile, write profile to WhyLabs
writer = WhyLabsWriter()
profile= why.log(dataset)
writer.write(file=profile.view())

咱们能够在 pipeline 管道的任何阶段创立装备文件,也就是说能够对每个步骤的数据进行监控。一旦完结将装备文件写入 WhyLabs,就能够检查、比较和监控数据质量和数据漂移。

上述步骤往后,只需单击一下(或创立自定义监视器)即可启用预装备的监视器,检测数据装备文件中的异常情况。设置常见的监控使命是非常简略的,也能够很清晰快捷地检测数据漂移、数据质量问题和模型性能。

whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵

装备监视器后,能够在检查输入功用时对其进行预览。

whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵

当检测到异常时,能够经过电子邮件、Slack 或 PagerDuty 发送告诉。在设置 > 告诉和摘要设置中设置告诉首选项。

whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵

上述这些简略的步骤,咱们现已完结了从 ML 管道中的任何步骤提取数据、构建日志和监控剖析,并在产生异常时得到告诉。

监控模型性能指标

前面看到了怎么监控模型输入和输出数据,咱们还能够经过在猜测结果来监控性能指标,例如准确度、精确度等。

要记载用于监控的性能指标,能够运用why.log_classification_metricswhy.log_regression_metrics并传入包括模型输出结果的 Dataframe。

results = why.log_classification_metrics(
         df,
         target_column = "ground_truth",
         prediction_column = "cls_output",
         score_column="prob_output"
     )
 profile = results.profile() 
 results.writer("whylabs").write()

注意:确保您的项目在设置中装备为分类或回归模型。

鄙人面的示例笔记本中检查用于性能监控的数据示例。

咱们想获得更多关于监控的示例 notebook 笔记本,能够检查官方 GitHub 关于 分类回归的代码。

参考资料

  • 机器学习数据漂移问题与解决方案:www.showmeai.tech/article-det…
  • whylogs:github.com/whylabs/why…

whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵

本文正在参加「金石计划 . 分割6万现金大奖」