如何检测和克服MLOps中的模型漂移

简介: 机器学习 (ML) 被广泛认为是数字化转型的基石,但 ML 模型最容易受到数字环境变化动态的影响。 ML 模型由创建它们的时间段内可用的变量和参数定义和优化。

机器学习 (ML) 被广泛认为是数字化转型的基石,但 ML 模型最容易受到数字环境变化动态的影响。 ML 模型由创建它们的时间段内可用的变量和参数定义和优化。

让我们看看一个基于垃圾邮件的通用模板创建的 ML 模型的案例,该模板当时可能正在激增。有了这个基线,机器学习模型就能够识别和阻止这类电子邮件,从而防止潜在的网络钓鱼攻击。然而,随着威胁形势的变化和网络犯罪分子变得更加聪明,更复杂和现实的电子邮件已经取代了旧的电子邮件。当面对这些较新的黑客攻击尝试时,基于前几年变量操作的机器学习检测系统将无法正确分类这些新威胁。这只是模型漂移的一个例子。

模型漂移(或模型衰减)是 ML 模型预测能力的退化。由于数字环境的变化,以及随之而来的概念和数据等变量的变化,模型漂移在 ML 模型中很突出,这仅仅是机器语言模型作为一个整体的性质。

假设所有未来变量将与创建 ML 模型时普遍存在的变量保持一致,这为 MLOps 中的模型漂移提供了肥沃的温床。

例如,如果模型在使用静态数据的静态环境中运行,那么它的性能不应降低,因为预测的数据来自与训练期间使用的相同分布。但是,如果模型存在于一个不断变化的动态环境中,涉及的变量太多,那么模型的性能也会有所不同。

模型漂移的类型

根据变量或预测变量的变化,模型漂移可以大致分为两种主要类型:分别是概念漂移和数据漂移。

  1. 概念漂移——当模型中目标变量的统计属性发生变化时,就会发生概念漂移。简而言之,如果模型变量的性质发生变化,那么模型就无法按预期运行。
  2. 数据漂移——最常见的模型漂移类型,发生在某些预测变量的统计属性发生变化时。随着变量的变化,模型会因此而失败。可能在一段时间内有效的模型在应用于不同的环境时可能不会看到相同的效果,这仅仅是因为数据没有针对不断变化的变量进行定制。

在概念漂移与数据漂移的较量中,上游数据变化对模型漂移的影响也很突出。 由于所有必需的数据都通过数据流水线移动。因此,未生成的特征和单位的变化(例如:测量、尺寸)也可能导致缺失值,这将阻碍 ML 模型运行。

解决模型漂移

在保持模型准确性方面,早期检测模型漂移至关重要。这是因为模型精度随着时间的推移而降低,并且预测值继续与实际值进一步偏离。这个过程越深入,对整个模型造成的不可替代的损害就越大。因此,尽早发现问题至关重要。 F1 值(评估模型的精度和召回能力的准确性)是一种快速检测是否有问题的方法

同样,根据模型的目的,各种其他指标也会因情况而异。与为业务运营设计的 ML 模型相比,为医疗用途设计的 ML 模型需要一组不同的指标。但是,最终结果是相同的:只要指定的指标低于设定的阈值,就很有可能发生模型漂移。

然而,在某些情况下,无法测量模型的准确性——尤其是当难以获得预测数据和实际数据时,这仍然是扩展 ML 模型的主要挑战之一。在这种情况下,根据过去的经验重新拟合模型有助于为模型中何时可能发生漂移创建预测时间线。考虑到这一点,可以定期重新开发模型以处理即将发生的模型漂移。

保持原始模型完整也可以用作基线,从中可以创建新模型,从而改进和纠正先前基线模型的预测。

然而,当数据随时间变化时,基于当前变化的权重数据可能很重要。通过确保模型对最近的数据变化给予更多的权重,而不是对旧的数据变化给予较小的权重,ML 模型将变得更加健壮并构建一个简洁的小型数据库来管理未来可能与漂移相关的变化。

创建可持续的机器学习模型

没有包罗万象的方法来确保及时检测和解决模型漂移。无论是通过预定的模型再训练还是通过实时机器学习;创建一个可持续的机器学习模型本身就是一个挑战。

然而,MLOps 的出现简化了重新训练模型的过程,更频繁且间隔更短。它使数据团队能够自动化模型再训练,而触发该过程的最可靠方法是通过调度。通过自动再训练,公司可以在特定时间范围内使用新数据来强化现有数据流水线。好消息是它不需要任何特定的代码更改或流水线重建。但是,如果一家公司发现了以前在模型训练期间不可用的新特征或算法,那么在部署重新训练的模型时将其包括在内可以显着提高模型的准确性。

在决定需要重新训练模型的频率时,需要考虑几个变量。有时等待问题出现成为唯一真正的选择(特别是如果没有过去的历史可以继续工作)。在其他情况下,应根据与变量季节性变化相关的模式重新训练模型。然而,在这种变化的海洋中保持不变的是监控的重要性。无论时间表或业务领域如何;定期进行持续监测是并且永远是检测模型漂移的最佳方法。

虽然在数千个机器学习模型中管理、检测和解决模型漂移的挑战似乎令人生畏,但来自 Sigmoid 等服务提供商的机器学习运营解决方案可以为您提供正面面对这些问题所需的优势。 Sigmoid 的 MLOps 实践提供了数据科学、数据工程和 DataOps 专业知识的正确组合,这是实施和扩展机器学习以提供业务价值和构建有效的 AI 战略所需的。

相关文章
|
前端开发 JavaScript
在TypeScript中定义Promise返回值
在TypeScript中定义Promise返回值
|
Linux 编译器 C++
C/C++性能优化:从根本上消除拷贝操作的浪费
C/C++性能优化:从根本上消除拷贝操作的浪费
1599 1
|
算法 Go 计算机视觉
【YOLO系列】YOLOv8算法(尖端SOTA模型)
Ultralytics YOLOv8 是由 Ultralytics开发的一个前沿 SOTA 模型。它在以前 YOLO 版本的成功基础上,引入了新的功能和改进,进一步提升了性能和灵活性。YOLOv8 基于快速、准确和易于使用的理念设计,使其成为广泛的物体检测、图像分割和图像分类任务的绝佳选择。
3426 0
【YOLO系列】YOLOv8算法(尖端SOTA模型)
|
6月前
|
监控 关系型数据库 MySQL
阿里2核2G3M云服务器是什么水平,可以做哪些用途?
阿里云2核2G3M云服务器是入门级配置,适合个人项目、轻量应用及小型业务初期使用。其性能适中,适用于开发测试环境、小型网站、轻量数据库等场景。带宽3Mbps可应对日均1500~2500PV的低频访问需求。推荐用于个人学习、博客搭建、轻量API服务等,但不适合高并发Web、大型数据库或视频流媒体等重度场景。通过系统优化和服务配置调整,可提升稳定性与效率。
|
12月前
|
API 开发者 UED
鸿蒙next版开发:ArkTS组件通用属性(焦点控制)
在HarmonyOS 5.0中,ArkTS提供了完善的焦点控制属性,如focusable、defaultFocus、onFocus和onBlur,帮助开发者管理和响应用户界面中的焦点变化。本文详细介绍这些属性,并通过示例代码展示如何使用FocusController类进行焦点管理,提升应用的交互性和无障碍支持。
776 1
|
存储 并行计算 算法
Dask 在科学计算中的角色:加速科研数据分析
【8月更文第29天】在科学研究中,处理和分析大规模数据集的能力对于取得突破性成果至关重要。Dask 是一个灵活的并行计算库,能够与 Python 的科学计算生态系统无缝集成,为科研人员提供了高效处理大规模数据集的手段。本文将介绍如何使用 Dask 加速科研数据分析,并通过具体的代码示例展示其在实际场景中的应用。
433 0
|
数据采集 Java Python
优化数据的抓取规则:减少无效请求
本文详细介绍了一种高效抓取贝壳等二手房平台房价信息的方法,重点在于过滤无效链接和减少冗余请求。文章首先分析了目标数据和平台特点,然后提出了URL过滤、分页控制、动态设置User-Agent和Cookies、代理IP轮换及多线程优化等策略。最后,提供了一个结合代理IP技术的Python爬虫代码示例,展示了如何具体实现上述优化措施,从而显著提升数据抓取的稳定性和效率。
257 26
优化数据的抓取规则:减少无效请求
|
存储 Java 程序员
Java中的自动类型转换(Automatic Type Conversion)
Java中的自动类型转换(Automatic Type Conversion)
536 0
|
IDE 开发工具 Python
python语法中括号不匹配处理
【7月更文挑战第8天】
558 2
|
机器学习/深度学习
【元学习meta-learning】通俗易懂讲解元学习以及与监督学习的区别
本文通过通俗易懂的方式解释了元学习(Meta-learning)的概念及其与传统监督学习的区别,并通过实例说明了元学习是如何让模型具备快速学习新任务的能力。
2047 1