快速跳转

什么是 MLOps?

复制 URL

机器学习运维(MLOps)是一组工作流实践,旨在简化机器学习(ML)模型的部署和维护过程。MLOps 是一种

结合了 DevOps 和 GitOps 原则的方法,旨在建立一个不断发展演进的过程,以便将 ML 模型集成到软件开发过程中。采用 MLOps 后,数据科学家、工程师和 IT 团队可以协同工作、齐头并进,通过简化迭代训练环节来确保机器学习模型保持准确和最新。这可实现连续的监控、再训练和部署,使模型能够适应不断变化的数据,并随着时间推移保持峰值性能。

 

查看 MLOps 信息图

机器学习模型通过检测数据的模式来进行预测。随着模型不断演变,会遇到训练中从未见过的新数据,此时便会发生“数据漂移”问题。数据漂移会随时间的推移自然发生,因为用于训练 ML 模型的统计属性会过时,如果不加以解决和纠正,则可能会对业务产生负面影响。

为了避免漂移,企业必须监控模型并保持高水平的预测准确性。应用 MLOps 实践可以提高预测模型的质量和准确性,简化管理流程、避免数据漂移、提高数据科学家的效率,从而使整个团队获益。

MLOps 的益处体现在以下这些方面:

可重复性:MLOps 框架可帮助跟踪和管理与不同模型相关联的代码、数据和配置文件的更改,因此,企业可以完全信赖 ML 实验具有稳定的可重现性。 

持续集成和持续部署(CI/CD):MLOps 框架与 CI/CD 管道集成,可为自动化测试、验证和部署提供支持。这反过来又可以加快开发和交付周期,并促进持续改进文化的发展。

增强协作和缩短时间:MLOps 可以促进团队成员紧密高效地协作,同时消除瓶颈并提高生产力。此外,手动任务实现自动化后,企业便可以更迅速地部署更多的模型,提高迭代频率,以实现更高的准确性。

节省成本:对于维护准确的机器学习模型而言,持续的调整和增强必不可少,但如果这些工作是手动完成的话,会非常繁琐。使用 MLOps 实现自动化有助于企业节省资源,不必将资源分配给那些耗时的手动工作。它还能简化部署过程,最大限度降低人为错误风险,并增加用来实现价值的时间。

改善监管和合规性:MLOps 实践可帮助企业加强安全措施并确保遵守数据隐私法规。监控性能和准确性还可以确保在集成新数据时跟踪模型漂移,并确保采取主动措施以长期保持高度准确性。

采用 MLOps 实践可以省却照看机器学习模型所需的繁琐人力劳动,同时确保其持续性能和可靠性。通过简化不同团队之间的协作,MLOps 实践可以促进企业内的敏捷开发和数据驱动决策。 

MLOps 可协助各行各业实现 ML 开发过程的自动化和简化。用例包括将 MLOps 用于:

预测性维护:预测设备故障,并且主动规划维护。

欺诈检测:建立和部署用来持续监控交易有无可疑活动的模型。

自然语言处理(NLP):确保聊天机器人、翻译程序和其他大语言模型(LLM)等应用高效、可靠地运行。

计算机视觉:支持医学影像分析、物体检测和自动驾驶等任务。 

异常检测:在网络安全、工业流程和物联网设备等各种环境中检测与规范的差异。

医疗卫生:部署用于疾病诊断、患者预后预测和医学影像分析的模型。 

零售:管理库存、预测需求、优化价格,以及增强客户购物体验。

MLOps 可以说是由 DevOps 演变而来,采用了与 ML 模型开发中所应用的协作、自动化和持续改进相同的基本概念。MLOps 和 DevOps 的共同目标是改善与 IT 运维团队的协作,因为只有与 IT 运维团队密切合作,才能在软件或 ML 模型的整个生命周期中管理和维护模型。 

不过 DevOps 专注于自动化日常运维任务和标准化开发和部署环境,而 MLOps 本质上更具实验性,专注于探索管理和维护数据管道的方法。由于 ML 模型中使用的数据是不断演变的,因此模型本身必须与之一同演变,而这需要不断适应和微调。 

MLOps 的测试、部署和生产看起来与 DevOps 不同。这就是为什么在 ML 项目中,团队成员通常包括数据科学家,他们可能不专门从事软件工程,而是专注于探索性数据分析、模型开发和实验。MLOps 中涉及的一些任务通常不在 DevOps 的考虑范畴内,包括:

  • 数据验证测试、评估所训练模型的质量,以及验证模型。
  • 构建一个多步骤管道,以便在收到新数据时自动重新训练和部署 ML 模型。
  • 跟踪数据的汇总统计并监控模型的在线性能,以便在值偏离预期时发出通知。

还有一点不同,对于 MLOps 中的持续集成和持续部署(CI/CD),CI 的重点不再是测试和验证代码和组件(这是 DevOps 中 CI 的作用),而是测试和验证数据、数据模式及模型。CD 关注的也不再是一个单一的软件包或服务,而是一个应该能自动部署另一服务(模型预测服务)的系统(ML 训练管道)。

构建和实施 ML 模型没有单一的方法,但一直需要收集和准备数据、开发模型、将模型转化为 AI 应用,并从这些应用中获取收益。

红帽® OpenShift®包含多项关键功能,可以跨数据中心、公共云计算和边缘计算,以一致的 5 步方式支持 MLOps:

第 1 步:收集/准备数据
收集、清理和标记结构化或非结构化数据,并整理为适合训练和测试 ML 模型的格式。

第 2 步:训练模型

ML 模型在红帽 OpenShift 上的 Jupyter Notebook 上进行训练。

第 3 步:自动化

红帽 OpenShift Pipelines 是一种事件驱动的持续集成功能,可帮助将 ML 模型打包为容器镜像。

第 4 步:部署

红帽 OpenShift GitOps 可以在任何地方(包括公共、私有、混合或边缘等环境)自动大规模部署机器学习模型。

第 5 步:监控

通过使用我们生态系统合作伙伴提供的工具,您的团队可以监控模型,并根据需要通过重新训练和重新部署来更新模型。在获取新数据后,该过程将返回到第 1 阶段,连续且自动地无限循环这 5 个阶段。 

无论您是处于在企业内部集成机器学习的探索阶段,还是已经使用 ML 管道工作了一段时间,了解您的工作流和流程如何适应更广泛的 MLOps 都会有所帮助。机器学习过程的成熟度通常分为三个级别,具体取决于工作流中的自动化程度。 

MLOps 级别 0:一切都手动

团队在刚开始进行机器学习时,通常还是会采用完全手动的工作流程。在这个阶段,创建模型的数据科学家与为模型服务的工程师之间是彼此脱节的,流程的每一步(数据准备、模型训练、自动化、部署和监控)都是在没有自动化的情况下执行的。没有持续集成(CI),也没有持续部署(CD)。这阶段不常部署新模型版本控制,因此在部署新模型后,有很大几率无法适应更改。 

MLOps 级别 1:自动化的 ML 管道

如果模型需要主动适应新的因素,那么开始在工作流中引入自动化就有帮助。借助自动化管道,新数据可被循环用于连续训练(CT),这使得模型能够访问预测服务的最相关信息。 

MLOps 级别 2:自动化的 CI/CD 系统

在这个阶段,ML 模型的更新速度提上来了,可靠性也大大提高。模型每天(有时甚至每小时)都会用新数据进行重新训练,并在数千台服务器上同时部署更新。这种系统允许数据科学家和工程师在单个协作环境中和谐地工作。 

构建 VS 购买

在决定是构建还是购买 MLOps 平台时,资源和时间限制都是需要考虑的因素。构建一个正常运行的 ML 基础架构可能需要一年多时间,而想要弄清楚如何构建一个真正为企业带来价值的管道甚至需要更长时间。此外,维护基础架构需要生命周期管理和一个专职团队。如果您的团队没有相关技能,也没有学习这些技能的资源,那么投资端到端 MLOps 平台可能是最适合的解决方案。 

红帽的 OpenShift AI 产品组合汇集了红帽 OpenShift 和红帽 OpenShift 数据科学的成熟功能。它提供了一个统一的企业就绪型应用平台,将数据科学家和应用开发人员紧密联系在一起,以安全、一致、大规模的方式将人工智能集成到各种应用中。

红帽 OpenShift AI 包含多项关键功能,可以跨数据中心、公共云计算和边缘计算以一致的方式实现 MLOps。 

Kubeflow 是一种开源的 Kubernetes 原生框架,可用于开发、管理和运行机器学习(ML)工作负载。在 OpenShift 上运行 Kubeflow 可以组织项目并同时利用云计算的力量,从而帮助实现机器学习运维的标准化。Kubeflow 的一些关键用例包括数据准备、模型训练、评估、优化和部署。

扩展阅读

文章

什么是红帽 OpenShift Operator?

红帽 OpenShift Operator 自动执行 Kubernetes 原生应用实例的创建、配置和管理。

文章

为什么选择红帽 OpenShift Serverless?

红帽 OpenShift Serverless 可扩展 Kubernetes,以部署和管理无服务器工作负载。

文章

为什么选择红帽 OpenShift 服务网格?

使用红帽 OpenShift 服务网格,您能够以统一的方式连接、管理和查看基于微服务的应用。

详细了解 OpenShift

产品

企业级应用平台,包含一系列久经测试的服务,可在您选择的基础架构上将应用推向市场。

出色的软件定义存储,可以随着容器的增减,跨环境为数据提供永久的存储位置。

享受全面支持的沙盒,可在其中快速开发、训练和测试机器学习 (ML) 模型。

一个具有内置安全策略、用于控制 Kubernetes 集群和应用的控制台。

相关资源

培训

免费培训课程

"通过红帽来运行容器"技术概述

免费培训课程

利用微服务架构开发云原生应用

免费培训课程

容器、Kubernetes 和红帽 OpenShift 技术概述