什么是机器学习运维 (MLOps)?

作者

Tim Mucci

IBM Writer

Gather

Cole Stryker

Staff Editor, AI Models

IBM Think

什么是 MLOps?

MLOps,机器学习运维 (Machine Learning Operations) 的缩写,是一套旨在为构建和运行机器学习模型创建装配线的实践。它可以帮助公司自动执行任务并快速部署模型,确保每个相关人员(数据科学家、工程师、IT 人员)都能顺利合作并监控和改进模型,以提高准确性和绩效。

术语 MLOps 是机器学习 (ML) 和开发运维 (DevOps) 的组合。这个术语是在 2015 年在一篇名为“Hidden technical debt in machine learning systems”的论文中提出的,该论文概述了处理大量数据时固有的挑战以及如何使用 DevOps 流程来建立更好的机器学习实践。创建 MLOps 流程结合了开发运维的持续集成和持续交付 (CI/CD) 方法,为创建机器学习产品的每个步骤创建装配线。

MLOps 旨在简化运行数据科学模型所需的时间和资源。各组织收集大量数据,他们通过这些数据可以获得对运营和改进潜力的宝贵洞察。机器学习是人工智能 (AI) 的一部分,它使企业能够利用这些数据和算法来发现隐藏的模式,从而揭示洞察。然而,随着机器学习越来越多地融入到日常运营中,有效地管理这些模型变得至关重要,以确保持续改进和更深入的洞察。

在 MLOps 出现之前,管理机器学习生命周期是一个缓慢而费力的过程,这主要是因为构建业务应用程序需要大量数据集。传统的机器学习开发包括:

  • 大量资源:ML 项目需要大量的计算能力、存储空间和专用软件,因此维护成本高昂。
  • 动手时间:数据科学家需要花费大量时间手动配置和维护模型,这阻碍了他们专注于创新的能力。
  • 不同的团队参与:数据科学家、软件工程师和 IT 运营人员经常各自为政,导致效率低下和沟通鸿沟。

通过采用协作方法,MLOps 弥合了数据科学和软件开发之间的鸿沟。它利用自动化、CI/CD 和机器学习来简化 ML 系统的部署、监控和维护。这种方法促进了数据科学家、软件工程师和 IT 人员之间的密切合作,确保 ML 生命周期顺利高效。

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

ML 与 MLOps 有何关系?

机器学习和 MLOps 是相互交织的概念,但代表整个过程中的不同阶段和目标。机器学习专注于制作和优化模型的技术细微差别。总体目标是开发能够执行分类、预测或提供建议等各种任务的准确模型,确保最终产品高效地达到预期目的。

“MLOps 强调对机器学习模型生命周期的全面管理,涵盖从将模型部署到生产环境到监控其性能的各个方面。必要时,会对模型进行更新,以确保其继续有效运行。目标是简化部署过程,保证模型以最高效率运行,并营造持续改进的环境。通过专注于这些领域,MLOps 可确保机器学习模型满足其应用程序的即时需求,并随着时间的推移进行调整,以在不断变化的条件下保持相关性和有效性。

机器学习侧重于模型的技术创建,而 MLOps 侧重于在实际环境中对这些模型的实际实施和持续管理。

ML 模型在各种应用程序的基础结构内默默运行,从推荐产品的推荐系统,到自动进行客户服务互动的聊天机器人,都是如此。ML 还可以增强搜索引擎结果、个性化内容并提高垃圾邮件和欺诈检测等领域的自动化效率。虚拟助理和智能设备利用 ML 的能力来理解口语,并根据语音请求执行任务。ML 和 MLOps 相辅相成,共同构建成功的机器学习管道。

AI 学院

成为 AI 专家

获取相关知识,以确定 AI 投资的优先级,从而推动业务增长。立即开始观看我们的免费 AI 学院视频,引领 AI 在组织中的未来应用。

MLOps 的优点

MLOps 简化了模型创建,以提高效率、提高准确性、缩短上市时间并确保可扩展性和治理。

提高效率

MLOps 可自动执行手动任务,为数据科学家和工程师腾出宝贵的时间和资源,让他们能够专注于模型开发和创新等更高级别的活动。例如,如果没有 MLOps,个性化产品推荐算法需要数据科学家手动准备数据并将其部署到生产环境中。同时,运营团队必须监控模型的性能,并在出现问题时进行手动干预。这一过程非常耗时,容易出现人为错误,而且难以扩展。

提高模型准确性和性能

MLOps 有助于对模型进行持续监控和改进,从而更快地发现和纠正问题,建立更准确、更可靠的模型。如果没有 MLOps,欺诈分析师必须手动分析数据,以构建用于检测欺诈交易的规则。这些静态模型很有帮助,但容易受到数据漂移的影响,从而导致模型性能下降。

上市时间加速

通过简化 ML 生命周期,MLOps 让企业能够更快地部署模型,从而在市场中获得竞争优势。传统上,开发新的机器学习模型可能需要数周或数月的时间,才能确保正确完成流程的每一步。必须准备好数据并构建、训练、测试 ML 模型,并批准其投入生产。在像医疗保健这样的行业中,批准错误模型的风险太大,因此不容闪失。

可扩展性和治理

MLOps 建立了定义明确且可扩展的开发流程,确保整个 ML 生命周期的一致性、可重复性和治理。手动部署和监控速度缓慢,需要大量人力,阻碍了可扩展性。如果没有适当的集中监控,单个模型可能会遇到未被注意到的性能问题,从而影响整体准确性。

与开发运维有什么关系?

MLOps 和 DevOps 侧重于开发过程的不同方面。DevOps 专注于简化传统软件应用程序的开发、测试和部署。它强调开发和运营团队之间进行协作以实现流程自动化,并提高软件交付速度和质量。

MLOps 以开发运维原则为基础并将其应用于机器学习生命周期。它不仅仅是部署代码,还包括数据管理、模型训练、监控和持续改进。

尽管 MLOps 利用了与 DevOps 相同的许多原则,但它引入了额外的步骤和考虑因素,这些都是构建和维护机器学习系统的复杂性所独有的。

MLOps 的核心原则

遵循以下原则组织,可创建强大而高效的 MLOps 环境,充分利用机器学习的固有潜力

1. 协作:MLOps 强调打破数据科学家、软件工程师和 IT 运营之间的隔阂。这样可以促进沟通,并可确保所有相关人员了解整个流程并有效做出贡献。

2. 持续改进:MLOps 倡导一种迭代方法,对模型进行持续监控、评估和改进。这个流程可以确保模型保持相关性和准确性,并满足不断变化的业务需求。

3. 自动化:将数据准备、模型训练和部署等重复性任务自动化,可以为数据科学家和工程师腾出宝贵的时间,让他们专注于模型开发和创新等更高层次的活动。

4. 可重复性:MLOps 实践可确保试验和部署的可重复性,方便进行调试、共享和结果比较。这提高了透明度并促进了合作。

5. 版本管理:控制数据、模型和代码的有效版本管理可以跟踪更改,必要时恢复到以前的版本,并确保 ML 生命周期不同阶段的一致性。

6. 监控和可观察性:MLOps 持续监控模型的性能、数据质量和基础设施运行状况。此能力可以在问题影响生产系统之前主动识别和解决问题。

7. 治理与安全:MLOps 实践在确保整个机器学习生命周期的安全访问、数据隐私和模型安全性的同时,还要考虑遵守法规和道德准则。

8. 可扩展性和安全性:可扩展和安全的设计可以适应不断增长的数据量、更高的模型复杂性以及机器学习项目不断扩大的需求,从而确保系统在发展过程中保持稳健和高效。

有效的 MLOps 战略包含哪些关键元素?

MLOps 需要技能工具实践来有效管理机器学习生命周期。MLOps 团队需要多样化的技能,包括技术技能和软技能。他们必须了解从数据准备和模型训练到评估的整个数据科学流程。熟悉版本控制、CI/CD 管道和容器化等软件工程实践也至关重要。此外,有关 DevOps 原理、基础设施管理和自动化工具的知识对于机器学习模型的有效部署和运行也至关重要。

除了技术专长之外,软技能在成功的 MLOps 中也发挥着至关重要的作用。与不同的团队(数据科学家、机器学习工程师和 IT 专业人员)进行有效合作,对于顺利开展协作和知识共享至关重要。为各种技术和非技术利益相关者将技术概念转化为清晰简洁的语言,必须具备较强的沟通技巧。

MLOps 利用各种工具来简化机器学习生命周期。

  • 用于模型开发和训练的 Kubernetes、TensorFlow 和 PyTorch 等机器学习框架
  • 版本控制系统,如用于代码和模型版本跟踪的 Git。
  • Jenkins 或 GitLab CI/CD 等 CI/CD 工具用于自动执行模型构建、测试和部署。
  • Kubeflow 和 MLflow 等 MLOps 平台管理模型生命周期、部署和监控。
  • AWS、Azure 和 IBM Cloud 等云计算平台为运行和管理 ML 工作负载提供可扩展的基础设施。

有效的 MLOps 实践涉及建立明确定义的程序,以确保高效可靠的机器学习开发。这一过程的一个基本方面是为机器学习生命周期的各个阶段建立一套有文档记录且可重复的步骤序列,从而促进参与项目的不同团队之间的清晰沟通与一致性。此外,数据、模型和代码的版本控制和管理也至关重要。通过跟踪更改和维护各种版本,团队可以轻松地回滚到以前的状态,准确重现实验,随时了解随时间推移的变化,并确保整个开发周期的可追溯性。

持续监控模型性能的准确性漂移、偏差和其他潜在问题,对于保持模型的有效性和防止意外结果起着至关重要的作用。监控 ML 模型的性能和运行状况,可确保它们在部署后继续实现预期目标。通过主动识别和解决这些问题组织,可以保持最佳模型性能、降低风险,并适应不断变化的条件或反馈。

CI/CD 管道进一步简化了开发过程,在自动化机器学习模型的构建、测试和部署阶段方面发挥着重要作用。实施 CI/CD 管道可提高机器学习项目之间的一致性和效率。它可以加快交付周期,使团队能够更快地将创新推向市场,并对其机器学习解决方案的可靠性更有信心。自动执行机器学习模型的构建、测试和部署阶段可减少人为错误的可能性,从而提高机器学习系统的整体可靠性。

协作是 MLOps 成功的命脉。数据科学家、工程师和运营团队之间的开放式沟通和团队合作至关重要。这种协作方法打破了孤岛,可以促进知识共享,并确保机器学习生命周期的顺利和成功。通过在整个开发过程中整合不同的观点,MLOps 团队可以构建强大而有效的机器学习解决方案,从而为强大的 MLOps 战略奠定基础。

MLOps 管道的主要组成部分

MLOps 管道包含各种组件,可简化从开发到部署和监控的机器学习生命周期。

数据管理

数据管理是数据科学生命周期的一个关键方面,包括多项重要活动。数据采集是第一步,原始数据是从数据库、传感器和 API 等各种来源收集的。此阶段对于收集信息至关重要,这些信息将为进一步分析和模型训练奠定基础。

采集后,进行数据预处理,以确保数据采用适合分析的格式。在此步骤中,对数据进行清理以消除任何不准确或不一致之处,并进行转换以满足分析或模型训练需求。处理缺失值、归一化和特征工程是这一阶段的典型活动。这些步骤旨在提高预测建模数据的质量和实用性。


数据版本控制在维护数据分析的完整性和可重复性方面起着关键作用。它涉及跟踪和管理数据的不同版本,从而实现结果的可追溯性,并在必要时能够恢复到以前的状态。版本控制确保了其他人可以对分析进行再现和验证,从而提高数据科学项目的透明度和可靠性。

然后引入了特征库的概念,作为存储和管理用于模型训练的特征的集中存储库。特征存储可促进不同模型和项目中功能的一致性和可重用性。通过拥有专门的特征管理系统,团队可以确保他们使用最相关和最新的特征。

模型开发

模型开发是数据科学过程的核心阶段,重点是构建和完善机器学习模型。此阶段从模型训练开始,其中准备好的数据用于使用选定的算法和框架训练机器学习模型。目的是教模型根据训练的数据做出准确的预测或决策。

模型开发的一个重要方面是维护和跟踪实验,其中包括详细记录不同模型迭代、使用的超参数配置以及各种实验的结果。这种细致的记录对于比较不同的模型和配置至关重要,有助于确定最有效的方法。此过程有助于优化模型性能并确保开发过程透明且可重复。

在训练阶段之后,进行模型评估,以评估模型基于未知数据的性能。评估对于确保模型在现实场景中表现良好至关重要。准确性、精确度、召回率和公平性度量等指标衡量模型满足项目目标的程度。这些指标为比较不同模型和选择最佳部署模型提供定量基础。通过仔细评估,数据科学家可以发现并解决潜在的问题,如偏差或过度拟合,从而确保最终模型的有效性和公平性。

模型部署

将机器学习模型投入使用涉及模型部署,这是一个将模型从开发环境迁移到生产环境的过程,使其能够创造实际价值。此步骤从模型打包和部署开始,其中经过训练的模型准备就绪,可以使用并可部署到生产环境中。生产环境可能有所不同,包括云平台和内部服务器,具体取决于项目的具体需求和限制。目的是确保该模型易于访问,并且可以在实时环境中有效运行。

部署完成后,重点就会转移到模型服务,这就需要提供输出 API。这一步必须可靠且高效地执行,以确保最终用户能够依赖该模型获得及时且准确的结果。通常,这一过程需要一个设计良好的系统,能够规模化处理请求并为用户提供低延迟响应。

基础设施管理是模型部署的另一个关键组成部分。管理涉及监督底层硬件和软件框架,使模型能够在生产环境中平稳运行。该领域的关键技术包括容器化和编排工具,它们有助于根据需要管理和扩展模型。这些工具可确保部署的模型具有弹性和可扩展性,能够满足生产工作负载的需求。通过仔细的部署和基础设施管理,组织可以最大限度提高其机器学习模型在实际应用程序中的效用和影响。

监控和优化

在部署的机器学习模型的生命周期中,保持警惕可确保其有效性和公平性。模型监控是这一阶段的基石,包括对模型在生产环境中的性能进行持续审核。此步骤有助于识别新出现的问题,例如准确性漂移、偏见和对公平性的担忧,这些问题可能会损害模型的实用性或道德地位。监控是关于监督模型的当前性能,并在潜在问题升级之前预测它们。

建立健全的警报和通知系统对于补充监测工作至关重要。这些系统充当早期预警机制,标记任何性能下降的迹象或部署模型中出现的问题。通过及时接收警报,数据科学家和工程师可以快速调查并解决这些问题,从而最大限度减少其对模型性能和最终用户体验的影响。

从持续监测和警报系统中获得的洞察力可用于模型的再训练和改进过程,其中包括利用新数据更新模型或集成改进算法以完善其性能。重新训练模型不是一次性任务,而是经常性需求。新数据可以反映数据科学家训练模型识别的基本模式或关系的变化。通过根据最新数据和技术进步迭代改进模型,组织可以确保其机器学习解决方案保持准确、公平和相关性,并随着时间的推移保持其价值。这种监控、警报和改进的循环对于在动态现实世界环境中保持机器学习模型的完整性和有效性至关重要。

协作与治理

创建简化且高效的工作流需要采用多种实践和工具,其中版本控制是基石。利用 Git 等系统,团队可以细致地跟踪和管理代码、数据和模型的更改。营造协作环境可以让团队成员更轻松地共同开展项目,并确保任何修改都可以记录下来并在必要时撤销。回滚到以前版本的能力非常宝贵,尤其是当新的更改引入错误或降低模型有效性时。

在版本控制的技术严谨性基础上,集成协作工具能够增强沟通与知识共享。这些平台可帮助 MLOps 管道中的不同利益相关者(包括数据科学团队、工程师和其他专业人员)更有效地协同工作。通过简化沟通,这些工具有助于调整项目目标、分享见解并更高效地解决问题,从而加快开发和部署进程。

在更高的运营层面,ML 治理原则具有优先地位。此框架涉及创建和执行政策和指南以管理机器学习模型的负责任开发、部署和使用。此类治理框架对于确保模型的开发和使用符合道德规范,并适当考虑公平性、隐私和监管合规性至关重要。建立强大的 ML 治理策略,对于降低风险、防止技术滥用以及确保机器学习计划符合更广泛的道德和法律标准至关重要。以上实践(版本控制、协作工具和机器学习治理)共同构成了成熟且负责任的 MLOps 生态系统的支柱,使团队能够提供具有影响力和可持续性的机器学习解决方案。

整个管道过程具有迭代性,将监控和优化产生的洞察反馈到模型开发中并实现持续改进。协作和治理在整个生命周期中至关重要,可以确保机器学习模型的顺利执行和可靠使用。

成功实施和持续支持 MLOps 需要遵守一些核心最佳实践。当务之急是建立一个涵盖每个阶段的透明 ML 开发流程,包括数据选择、模型训练、部署、监控,以及纳入反馈循环以进行改进。团队成员深入了解这些方法后,项目各个阶段之间的过渡就会更加顺畅,从而提高开发过程的整体效率。

MLOps 的一个关键方面是数据、模型和代码的维护和管理。通过维护这些组件的不同版本,团队可以有效地了解一段时间内的变化,这对于解决问题、确保结果的可重复性,以及在必要时更轻松地回滚至关重要。这种方法有助于维护开发流程的完整性,并实现 ML 项目的可审计性。

监控 ML 模型的性能和运行状况对于确保模型在部署后继续实现预期目标至关重要。此过程这包括定期评估模型漂移、偏差和其他可能影响其有效性的潜在问题。通过主动识别和解决这些问题组织,可以保持最佳模型性能、降低风险,并适应不断变化的条件或反馈。

CI/CD 管道在自动化和简化 ML 模型的构建、测试和部署阶段方面发挥着重要作用。实施 CI/CD 管道可提高机器学习项目之间的一致性和效率。此外,它还能加快交付周期,让团队能够更快地将创新推向市场,并对 ML 解决方案的可靠性充满信心。

生成式 AI 如何影响 MLOps

虽然生成式 AI (GenAI) 有可能影响 MLOps,但这是一个新兴领域,其具体影响仍在探索和开发中。生成式 AI 可以通过自动执行数据清理和准备等劳动密集型任务来增强 MLOps 工作流程,从而有可能提高效率,并使数据科学家和工程师能够专注于更具战略性的活动。此外,正在进行的生成式 AI 研究可能会实现机器学习模型的自动生成和评估,从而为更快的开发和完善提供途径。但是,模型透明度和偏见问题尚未得到充分解决。

将生成式 AI (GenAI) 集成到 MLOps 中也并非没有挑战。确保模型可解释且值得信赖是首要关注的问题,因为理解模型如何做出决策并具有减轻偏见的能力对于可靠的 AI 发展至关重要。虽然生成式 AI 为 MLOps 提供了令人振奋的机会,但它也凸显了需要彻底探索和深思熟虑的解决方案的关键问题。

LLM 与 MLOps 有何关系?

大语言模型 (LLM) 是一种高级机器学习模型,需要专门的培训和部署流程,因此 MLOps 方法对其生命周期管理至关重要。

MLOps 通过自动执行数据准备和模型训练任务来简化 LLM 开发,确保高效的版本控制和管理,从而实现更好的可重复性。MLOps 流程可以增强 LLM 的开发、部署和维护流程,解决偏见等挑战,并确保模型结果的公平性。

此外,LLM 为 MLOps 实践提供了潜在的益处,包括文档自动化、代码审查协助和数据预处理改进。这些贡献可以显著提高 MLOps 工作流程的效率和有效性。

MLOps 的级别

MLOps 的实施分为三个级别。每个级别都是组织内向更高自动化成熟度迈进的一个阶段。

级别 0:无 MLOps

大多数组织都是从这里开始的。模型通常由数据科学家手动部署和单独管理。这种方法效率低下,容易出错,并且难以随着项目的增长而扩展。可以想象,构建和部署模型就像是将原材料家具一颗颗螺丝地组装起来,缓慢、繁琐且容易出错。

级别 1:机器学习管道自动化

引入自动化。脚本或基本 CI/CD 管道可处理数据预处理、模型训练和部署等基本任务。这个级别带来了效率和一致性,类似于拥有预先钻孔的家具套件,更快、更不容易出错,但仍然缺乏功能。

级别 2:CI/CD 管道集成

ML 管道已与现有 CI/CD 管道无缝集成。此级别支持持续的模型集成、交付和部署,使流程更顺畅、更快捷。想象一下拥附带清晰说明的家具组装套件,现在就可以实现高效、快速的迭代。

第 3 级:高级 MLOps

此级别更进一步,包含持续监控、模型重新训练和自动回滚功能等功能。协作、版本控制和治理也成为重要方面。想象一下有一个智能家具系统,可以自动监控磨损、自我修复甚至更新,其强大的软件经过完全优化,就像一个成熟的 MLOps 环境一样。

达到“正确”级别

实现最高的 MLOps 级别并不总是必要的,也不总是切实可行的。组织的最佳级别取决于其具体需求和资源。但是,了解这些级别有助于评估当前状态,并确定 MLOps 旅程中需要改进的领域,这是构建高效、可靠且可扩展的机器学习环境的途径。

归根结底,MLOps 代表了组织开发、部署和管理机器学习模型方式的转变,提供了一个全面的框架来简化整个机器学习生命周期。通过营造协作环境来弥合数据科学家、ML 工程师和 IT 专业人员之间的鸿沟,MLOps 有助于高效生成由 ML 驱动的解决方案。

它确保从数据收集到实际应用的每个步骤中数据都得到优化以获得成功。MLOps 强调持续改进,让模型能够敏捷地适应新数据和不断变化的需求,确保其持续的准确性和相关性。通过在各个行业中应用 MLOps 实践,企业可以发挥机器学习的全部潜力,从增强电子商务推荐,到改进欺诈检测等,皆可实现。

MLOps 的成功取决于明确的战略、正确的技术工具以及重视协作和沟通的文化。

相关解决方案
IBM watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。

深入了解 AI 解决方案
AI 咨询与服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

深入了解 watsonx.ai 预约实时演示