学习
实践
活动
专区
工具
TVP
写文章
专栏首页ShowMeAI研究中心whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵
原创

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

本文讲解如何使用whylogs工具库,构建详细的AI日志平台,并监控机器学习模型的流程与效果。核心操作包括:环境配置、新建项目并获取ID、获取组织ID和访问Key、将配置文件写入WhyLabs、监控模型性能指标。


💡 作者:韩信子@ShowMeAI 📘 机器学习实战系列:https://www.showmeai.tech/tutorials/41 📘 本文地址:https://www.showmeai.tech/article-detail/395 📢 声明:版权所有,转载请联系平台与作者并注明出处 📢 收藏ShowMeAI查看更多精彩内容

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

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

ShowMeAI在这篇文章中,将给大家展示如何使用开源工具库 whylogs 构建详尽的 AI 日志平台并监控 ML 模型。

💡 日志系统&模型监控

💦 环境配置

要构建日志系统并进行模型监控,会使用到开源数据日志库📘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

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

经过这个配置,接下来就可以将数据配置文件写入 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,就可以检查、比较和监控数据质量和数据漂移。

上述步骤过后,只需单击一下(或创建自定义监视器)即可启用预配置的监视器,检测数据配置文件中的异常情况。设置常见的监控任务是非常容易的,也可以很清晰快捷地检测数据漂移、数据质量问题和模型性能。

配置监视器后,可以在检查输入功能时对其进行预览。

当检测到异常时,可以通过电子邮件、Slack 或 PagerDuty 发送通知。在设置 > 通知和摘要设置中设置通知首选项。

上述这些简单的步骤,我们已经完成了从 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 关于 📘分类和 📘回归的代码。

参考资料

推荐阅读

原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

登录 后参与评论
0 条评论

相关文章

  • 《Scikit-Learn与TensorFlow机器学习实用指南》 第02章 一个完整的机器学习项目(下)选择并训练模型模型微调启动、监控、维护系统实践!练习

    大多机器学习算法不能处理特征丢失,因此先创建一些函数来处理特征丢失的问题。前面,你应该注意到了属性total_bedrooms有一些缺失值。有三个解决选项:

    SeanCheney
  • 图扑软件 3D 组态编辑器,低代码零代码构建数字孪生工厂

    随着中国制造 2025 计划的提出,新一轮的工业改革拉开序幕。大数据积累的指数级增长为智能商业爆发奠定了良好的基础,传统制造业高污染、高能耗、低效率的生产模式已...

    数字孪生
  • 基于OpenVINO部署的工业缺陷检测产业实践范例实战

    在当前发展阶段,制造企业普遍面临着诸多的挑战,包括如何改善工作效率以提升行业竞争力,如何降低生产过程中的产品不良率等,从而优化产业成本,其中缺陷检测便是最典型的...

    用户1386409
  • 公共场所人流数据统计如何实现?解决重识别、漏检等检测难题

    当前疫情形势严峻,商场、火车站、地铁口等公共场所对人员流量的统计至关重要。“每天进出多少人?” “现在商场中人员数量有多少?”这些关键数据直接影响到相关防疫管控...

    用户1386409
  • SecXOps:打造安全分析自动化运营平台

    随着数据的积累和算力的提升,人工智能技术的演进,企业组织不断进行数字化转型,IT运营必然需要向着更高水平的自动化演进。Gartner指出XOps的目标是使用De...

    绿盟科技研究通讯
  • 业界首发行业大模型,提出落地3大关键路径,百度的大模型原来是这么用的

    机器之心报道 编辑:张倩 这次的 Wave Summit,我们聊聊大模型,但重点不是参数。 在过去的几年,深度学习领域掀起了一场轰轰烈烈的「练大模型」运动,千亿...

    机器之心
  • 性能加速最高可达28倍!这个NLP工具包太NB了!

    PaddleNLP 是兼具科研学习和产业实践能力的 Python NLP 工具包,提供中文领域丰富的预训练模型和部署工具,被高校、企业开发者广泛应用。近日,Pa...

    学弱猹
  • 清华大学软件学院王建民谈工业大数据软件与开源创新在高校的落地 | ApacheCON Asia 2021

    王建民教授,清华大学软件学院院长、信息学院副院长、大数据系统软件国家工程实验室执行主任、国家863计划先进制造领域专家组组长、国家工业互联网战略咨询专家委员会委...

    开源社
  • MLFlow︱机器学习工作流框架:介绍(一)

    之前的很多研究其实跟工程化是比较脱节的,模型在小环境中工作得很好,并不意味着它在任何地方都可以工作得很好。 各类开源项目其实很大程度上满足了我这样的调包工程师...

    悟乙己
  • 飞桨端到端开发套件揭秘:低成本开发的四大秘密武器

    11 月 5 日,在 Wave Summit+2019 深度学习开发者峰会上,飞桨全新发布和重要升级了最新的 21 项进展,在深度学习开发者社区引起了巨大的反响...

    量子位
  • 浅谈人工智能的学习

    人工智能(AI)的发展是一个从学术研究、行业验证、商业落地、行业平台到智能生态的一层层深入过程,这也是人工智能理想的发展阶段。人工智能的重要性无需赘述,对AI学...

    半吊子全栈工匠
  • 工业安全如何保障?30分钟上手安全帽检测全流程方案

    在工厂、建筑工地、矿井等施工现场,安全帽是保障在场人员安全的重要防护装备。但当人员未佩戴安全帽进入施工场所时,靠人为监管耗时耗力,不易实时监管。针对上述问题,探...

    用户1386409
  • 干货 | 工业大数据发展态势与典型应用

    导读:本文从工业大数据的概念、特征入手,对工业大数据的发展态势进行了探讨,指出工业大数据可广泛应用于企业生产过程的各环节。并按照研发设计、供应链、生产制造、营销...

    钱塘数据
  • 【推荐阅读】工业大数据发展态势与典型应用

    导读:本文从工业大数据的概念、特征入手,对工业大数据的发展态势进行了探讨,指出工业大数据可广泛应用于企业生产过程的各环节。并按照研发设计、供应链、生产制造、营销...

    钱塘数据
  • 收藏||工业物联网PaaS平台功能汇总!

    数字化转型、智能制造的的大背景下,物联网站在了时代的风口。芯片、传感器、模组、网路、平台、终端设备、系统集成、应用服务等整个产业链不断扩大。而素有物联网“战略要...

    SHOUT
  • 又一神器面世:百度重磅发布「全流程开发套件」!

    最近在做一个工业巡检的项目,主要涉及的内容是指针型表计的读取。本系列文章主要介绍实现表计读取的全流程开发。其中主要使用的工具为飞桨全流程开发工具 PaddleX...

    GitHubDaily
  • 什么是MLOps——机器学习运维,为什么要用MLOps

    ?点击“博文视点Broadview”,获取更多书讯 在过去的几年里,机器学习(ML)正在逐渐发展成为当今商业和软件工程领域的热门名词,由ML驱动的应用呈爆发式...

    博文视点Broadview

扫码关注腾讯云开发者

领取腾讯云代金券