机器学习模型监控(Aporia)(下)

简介: 机器学习模型监控什么是机器学习 (ML) 模型监控?机器学习监控是一组用于观察生产中的 ML 模型并确保其性能可靠性的技术。 ML模型通过观察数据集中的示例进行训练,并将代表模型在训练任务中表现的好坏的错误最小化。

机器学习模型管理


什么是机器学习模型管理?

模型管理是 MLOps 的一个子集,专注于实验跟踪、模型版本控制、部署和监控。在开发 ML 模型时,数据科学家通常会进行多次实验以找到最优模型。这些实验包括数据预处理、超参数调优和模型架构本身的变化。测试的目的是为特定用例找到最佳模型。数据科学家通常不知道当前的配置是否是最优的,直到未来对次优配置进行实验。因此,跟踪实验对于开发 ML 模型至关重要。

在典型场景中,模型开发是一项协作工作。数据科学家经常使用同行的现有notebooks作为起点或进行实验。这种协作增加了重现预期结果的难度。

模型管理通过以下方式解决这些挑战:

  • 跟踪指标、损失、代码和数据版本以促进实验可复制性
  • 通过以可重复配置交付模型来实现可重用性
  • 确保遵守业务和监管要求的变化

版本控制系统用于 ML 模型管理,但仅提供部分必要功能。版本控制系统只跟踪系统源代码随时间的变化。一个实用的 ML 模型管理框架还必须利用以下内容:

  • ML 模型监控:一种系统,可让生产中的 ML 模型可见,并能够检测数据漂移、意外偏差、数据完整性问题等问题,这些问题会影响模型的预测和性能。
  • 可解释性:理解输入数据中的特征与模型预测之间关系的能力。
  • 数据版本控制系统:数据版本控制跟踪对数据集所做的更改,以进行实验、训练和部署。不同数据版本的原因包括数据预处理的变化和数据源的变化。有关数据版本控制的更多信息,请阅读我们的 MLOps 最佳数据版本控制工具帖子。
  • 实验跟踪:实验跟踪记录每个训练或验证实验的结果以及产生这些结果的配置。记录的配置包括超参数,例如:学习率、批量大小或正则化等。
  • 模型注册表:部署中所有模型的注册表。

除了在研究中开发 ML 模型之外,为生产构建机器学习系统是一门手艺。因此,生产 ML 需要自己的一套工具和实践来成功地大规模交付解决方案。从一开始就集成 ML 管理可确保您使用正确的工具来完成工作。

请参阅有关从头开始构建 ML 平台的动手教程。

网络异常,图片无法展示
|


为什么在部署后管理和监视您的ML模型

部署的模型暴露在不断变化的真实数据中。因此,部署模型后的 ML 管理对于确保模型继续按预期运行至关重要ML 管理的一个子集是 ML 监控,这是一组用于观察生产中 ML 模型的质量和性能的工具。拥有用于已部署模型的 ML 管理框架有助于团队跟踪性能指标、监控数据变化,并获得关于模型性能不佳原因的宝贵见解,这将为改进性能提供信息。例如,可视化生产中相对于模型训练数据的输入数据可以展示数据漂移,促使您的团队根据更新的数据重新训练部署的模型。

ML 管理还可以帮助您跟踪部署中的所有模型。 ML 管理包括保存所有已部署模型的模型注册表和使用模型版本控制系统。模型注册表版本控制性能监控相结合,为生产中的 ML 模型提供了一个方便的全局健康仪表板。借助模型注册版本控制系统,团队可以更好地查明哪些特性导致给定模型版本在某些设置中表现不佳,这使得改进部署的模型更加有效。

最后,在部署后管理 ML 模型将有助于跟踪生产中的退化模型,并更好地安排诊断测试,以进一步了解不良性能。

网络异常,图片无法展示
|


模型可解释性 (XAI)


什么是机器学习的可解释性?

使 ML 模型可解释是关于建立理解输入数据中的特征与模型预测之间的关系的能力。 机器学习通常采用具有数千个可学习参数的架构,用于估计一个复杂的函数。 这使得很难描述模型内部发生的事情以轻松产生其输出。 这个问题为 ML 模型赢得了“黑匣子”的称号。

确保 ML 模型可解释在现实世界中很复杂,因为:

  • 算法结果的解释取决于你有多少可用数据
  • 机器学习算法可能出错的方式有很多

我们通过查看几个不同的方面来衡量模型的可解释性

  1. 决策过程是否可解释
  2. 模型预测结果的准确度(即准确率)
  3. 分类器的决定有多可靠

试图了解机器学习算法出了什么问题需要大量调查,这可能具有挑战性。 特别是,如果用于训练模型的数据中存在偏差,我们无法判断这些偏差是由于训练中的错误造成的,还是仅仅是由于数据中固有的缺陷造成的

使 ML 模型可解释对于防止生产中的模型漂移至关重要,因为它消除了对性能不佳的模型进行故障排除所涉及的大量猜测

有关实现可解释 AI 的实践指南,请参阅 Aporia 关于可解释性的文档。


机器学习实验跟踪


什么是机器学习实验跟踪?

ML 实验跟踪是保存所有实验结果和配置以实现这些实验的可重复性的过程。

ML 研究人员进行了多次实验以找到最佳模型,并且很难跟踪所有实验及其相关结果。为了找到一个最佳模型,ML 研究人员对各种数据集、超参数、模型架构、包版本等进行了多次实验。

实验跟踪很重要,因为它将帮助您和您的团队:

  1. 在一个地方组织所有 ML 实验。您可以在您的本地机器上运行实验,而队友在云端或使用 google colab 运行他们的实验。 ML 实验跟踪系统将记录来自任何系统或机器的实验元数据和结果。
  2. 比较和分析实验结果。实验跟踪系统可确保使用相同格式记录所有实验,从而可以在不增加成本的情况下比较不同的实验配置和结果。
  3. 加强与团队的协作。实验跟踪系统会记录每个实验的运行者。所有团队成员都可以看到其他成员已经尝试过的内容。他们还可以拉取其他人运行的实验,复制它,然后从那里继续构建。
  4. 实时观看您的实验。实验跟踪系统使开始实验并从仪表板远程观察它的运行变得简单。在实验运行期间,您将能够看到损失、epoch时间和 CPU/GPU 使用率等指标。这对于在难以可视化的环境中运行实验尤其有用,例如在远程机器上的云中。

为了有效地跟踪 ML 实验,您需要跟踪:

  • 代码:这包括用于运行实验的脚本和notebooks
  • 环境:环境配置文件。
  • 数据:使用数据版本来跟踪实验中使用的数据版本
  • 参数:参数配置包括模型本身的超参数,例如学习率,还包括任何可编辑的实验选项;例如,数据加载器使用的线程数
  • 指标:训练、验证和测试损失是要跟踪的一般指标的示例。您可以跟踪特定于您正在训练的模型的指标。例如,您可能还想在使用深度神经网络时跟踪梯度范数。


ML 模型监控与 ML 实验跟踪

ML 模型监控和 ML 实验跟踪之间的根本区别在于,模型监控主要是在模型部署到生产环境之后进行的。 相比之下,跟踪在部署之前最为相关

一旦模型投入生产,我们就会实施 ML 监控来维护和改进模型性能。 一旦模型投入生产,我们就可以对其进行监控,以观察真实世界数据的性能指标,并在它发生变化时注意到性能下降。

另一方面,ML 实验跟踪涉及在 ML 系统投入生产之前将其研究和开发付诸实施。 ML 跟踪可帮助 ML 研究人员跟踪在 ML 模型开发周期中运行的所有实验的代码、环境配置、数据版本、参数和指标,以找到最佳配置。 ML 跟踪与仅进行 ML 研究而不进行部署的环境相关,例如:为了研究论文的目的。


机器学习模型注册表


什么是模型注册表?

模型注册表是生产中所有模型的存储库。它提供了一个访问所有经过训练和可用的 ML 模型的中心点。这种方法的目的是通过提供一种访问、搜索和管理每个已部署模型的统一方式来提高模型的可重用性。与 ML 相关的生态系统(例如:OpenML、ModelZoo 和 MODL-Wiki)是社区努力开发此类模型注册表的例子。

模型注册表的一个重要方面是所有模型都存储在一个中心位置,这意味着每个人都查看相同的模型。在一个项目上协作的人对每个模型都有一个引用。模型注册表绕过了本地计算机上版本略有不同的问题。

模型注册表通过以下方式使 ML 项目的协作变得更加容易:

  1. 连接实验和生产生命周期:模型注册表提供了一种从开发生命周期中获取模型并将其分阶段用于生产部署的标准化方法。模型注册表通过 ML 模型的持续集成、交付和训练 (CI/CD/CT) 促进研究人员和 MLOps 工程师之间的交互。
  2. 为团队提供一个中央仪表板来处理模型。访问模型的集中位置使团队可以轻松搜索模型和检查模型的状态,例如:暂存、部署或退役。在中央仪表板中,团队还可以通过实验跟踪器参考训练和实验结果,并通过 ML 监控查看模型在生产中的实时性能。
  3. 为其他系统呈现一个界面以使用模型。模型注册表可以提供用于与其他应用程序或系统集成的 API,从而可以将 ML 模型提供给第三方客户端应用程序。客户端应用程序可以拉取模型的最新版本,并自动了解由于模型退化而对模型所做的更改。
相关文章
|
8天前
|
机器学习/深度学习 人工智能 分布式计算
使用PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建文旅领域知识问答机器人
本次教程介绍了如何使用 PAI 和 LLaMA Factory 框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
|
17天前
|
机器学习/深度学习 算法 数据可视化
机器学习模型中特征贡献度分析:预测贡献与错误贡献
本文将探讨特征重要性与特征有效性之间的关系,并引入两个关键概念:预测贡献度和错误贡献度。
51 3
|
11天前
|
机器学习/深度学习 数据可视化 JavaScript
探索机器学习模型的可视化技术
【9月更文挑战第23天】在数据科学中,理解和解释机器学习模型的决策过程是至关重要的。本文将介绍几种流行的可视化工具和库,如TensorBoard、D3.js等,帮助读者更好地理解模型内部工作原理及其预测结果。通过实例演示如何使用这些工具进行模型可视化,增强模型的可解释性。
|
25天前
|
机器学习/深度学习 Python
验证集的划分方法:确保机器学习模型泛化能力的关键
本文详细介绍了机器学习中验证集的作用及其划分方法。验证集主要用于评估模型性能和调整超参数,不同于仅用于最终评估的测试集。文中描述了几种常见的划分方法,包括简单划分、交叉验证、时间序列数据划分及分层抽样划分,并提供了Python示例代码。此外,还强调了在划分数据集时应注意随机性、数据分布和多次实验的重要性。合理划分验证集有助于更准确地评估模型性能并进行有效调优。
|
26天前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习模型之深度神经网络的特点
深度神经网络(Deep Neural Networks, DNNs)是一类机器学习模型,通过多个层级(层)的神经元来模拟人脑的工作方式,从而实现复杂的数据处理和模式识别任务。
34 1
|
1月前
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
1月前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
165 1
|
17天前
|
机器学习/深度学习 数据采集 算法
机器学习新纪元:用Scikit-learn驾驭Python,精准模型选择全攻略!
在数据爆炸时代,机器学习成为挖掘数据价值的关键技术,而Scikit-learn作为Python中最受欢迎的机器学习库之一,凭借其丰富的算法集、简洁的API和高效性能,引领着机器学习的新纪元。本文通过一个实际案例——识别垃圾邮件,展示了如何使用Scikit-learn进行精准模型选择。从数据预处理、模型训练到交叉验证和性能比较,最后选择最优模型进行部署,详细介绍了每一步的操作方法。通过这个过程,我们不仅可以看到如何利用Scikit-learn的强大功能,还能了解到模型选择与优化的重要性。希望本文能为你的机器学习之旅提供有价值的参考。
21 0
|
2月前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
57 0
|
2月前
|
开发者 算法 虚拟化
惊爆!Uno Platform 调试与性能分析终极攻略,从工具运用到代码优化,带你攻克开发难题成就完美应用
【8月更文挑战第31天】在 Uno Platform 中,调试可通过 Visual Studio 设置断点和逐步执行代码实现,同时浏览器开发者工具有助于 Web 版本调试。性能分析则利用 Visual Studio 的性能分析器检查 CPU 和内存使用情况,还可通过记录时间戳进行简单分析。优化性能涉及代码逻辑优化、资源管理和用户界面简化,综合利用平台提供的工具和技术,确保应用高效稳定运行。
40 0
下一篇
无影云桌面