使用 InfluxDB 进行基础设施监控 | 现场演示

立即观看

MLOps:机器学习运维综合指南

了解 MLOps - 机器学习运维的世界。自动化工作流程、部署 ML 模型,并学习在生产环境中部署 AI/ML 模型的最佳实践。

想象一下,机器学习模型的开发、部署和改进只需最少量的持续工作即可完成的世界。这就是机器学习运维 (MLOps) 的目标。在本文中,我们将深入探讨 MLOps 的世界,探索其目的、通用最佳实践和实用工具。最后,您将了解 MLOps 如何改进您组织的机器学习工作流程,并为您的数据驱动项目带来更高的价值。

什么是 MLOps?

机器学习运维 (MLOps) 是一系列实践,旨在简化机器学习模型集成到开发、部署和维护流程中。它促进了数据科学家和运维团队之间的协作,确保 ML 模型以最佳方式运行,并适应不断发展的生产环境。

MLOps 的概念与 DevOps 源自同一根源。就像传统的软件开发一样,企业开始意识到需要专门的技能才能高效可靠地在生产环境中运行 ML/AI 模型。创建模型的数据科学家和研究人员拥有的技能组合与拥有向最终用户部署产品经验的工程师不同。通过协同工作,企业可以更高效地迭代和部署 ML/AI 模型,从而驱动现实世界的价值。

MLOps 的关键组件

MLOps 有几个关键组件,包括数据管理、模型训练、部署和监控。

数据管理涉及从多个来源收集训练数据,确保其准确性,并通过数据分析选择模型预测的最佳特征。此过程的一个重要部分是数据准备,它确保数据已准备好进行分析。

模型开发侧重于创建和优化 ML 模型,而部署则建立通信、系统集成和管道交互的流程。在部署过程中,模型注册表在管理和跟踪这些 ML 模型方面起着至关重要的作用。

MLOps 的最后一个组件是监控,它帮助数据科学团队观察模型和数据管道的性能,通过确保模型产生准确的结果和足够的性能,从而确保项目的成功。

MLOps 与 DevOps:异同

虽然 MLOps 和 DevOps 共享持续集成和持续交付等原则,但 MLOps 专门解决 ML 模型开发和部署中遇到的独特挑战。

两种方法都强调自动化、协作和迭代改进是实施的重要组成部分。

共同原则

在 MLOps 和 DevOps 领域,以下因素有助于构建稳健高效的系统

  • 流程自动化
  • 持续集成和部署
  • 协作和沟通
  • 可扩展性和可靠性

监控和反馈在两种方法中也至关重要,因为它们允许进行性能评估和持续改进。

MLOps 的独特挑战

MLOps 遇到一些在典型的 DevOps 情况中看不到的挑战。以下是一些需要考虑的主要挑战

  • 模型结果可重复性 - 对于传统软件,给定相同的代码库和相同的输入,软件总是产生相同的输出。相比之下,即使使用相同的输入数据,机器学习模型也可能产生不同的结果。确保模型可重复性不仅需要对代码进行版本控制,还需要跟踪数据、随机种子、超参数和环境。
  • 扩展模型训练和推理 - 训练现代 ML/AI 模型需要大量专用硬件(如 GPU),这需要专门的人才来管理。并且一旦训练完成,这些模型需要以快速且可扩展的方式执行推理,才能在现实世界中使用。
  • 模型漂移 - 如果传入数据发生变化,或者模型训练的模式发生变化,ML 模型的性能可能会随着时间的推移而降低。监控和管理这种漂移对于保持模型性能至关重要。
  • 团队构成 - 与软件工程师相比,构建 ML 模型的团队通常是研究人员和数据科学家,他们不一定有部署生产系统的经验。团队的其他成员在帮助将模型投入生产时需要考虑到这一点。来自不同背景的团队成员还需要能够朝着共同的目标一起工作,具有学术研究经验的 ML 研究人员需要学习在节奏更快的环境中工作,该环境更侧重于驱动业务价值而不是研究创新。
  • 复杂的部署管道 - 除了部署管道所需的标准要求外,对于 MLOps,您还需要测试和验证数据、数据模式和模型。当尝试实现诸如自动化使用新数据重新训练模型和部署新模型的过程时,情况可能会变得更加复杂。

在您的组织中实施 MLOps

正确实施 MLOps 计划并非易事。以下是可用作路线图的流程的高级概述。

确定当前状态并定义目标

第一步,您需要评估您的组织当前的做法。找出当前的 ML/AI 实践,例如数据管理、模型部署和监控。确定当前基准指标,例如部署时间、模型准确性以及任何其他相关指标。

完成此操作后,您可以为您的 MLOps 计划定义目标,以便您可以确定在实施 MLOps 系统时您是否朝着正确的方向前进。一些常见的目标包括更快的部署时间、更高的模型可靠性和准确性以及更频繁的部署。制定这些目标将有助于指导未来的工作。

组建 MLOps 团队

MLOps 需要数据科学、工程、运维以及有时特定行业领域专业知识的技能组合。组建一个结合这些能力的团队,并制定招聘所需人才的计划(如果内部没有)。该团队将协作设计、开发、部署和监控 ML 解决方案,确保代表不同的观点和技能。

确定数据管理和治理流程

为数据管理方式以及合规监管要求所需的数据治理级别设置要求和标准将对您的架构产生重大影响,因此这是 MLOps 实施过程中的关键步骤。此处需要考虑的事项包括数据收集、存储、处理和版本控制。您将需要制定流程来确保数据质量和一致性,以及如何处理丢失或损坏的数据。对于数据治理,您需要确保您遵循安全和隐私最佳实践,并遵守您运营所在司法管辖区的所有适用法规。

选择您的 MLOps 工具和平台

一旦您组建了团队,确定了 MLOps 项目的目标,并确定了实现这些目标所需的要求和功能,现在您可以开始选择您将用来构建 MLOps 系统的工具和平台。以下是在此步骤中需要考虑的一些关键事项

  • 自建与购买 - 这是工程团队面临的经典难题,何时使用现成的服务与构建更定制的解决方案。这种选择对于每个组织来说都会有所不同,但这归结为成本、性能、所需的系统灵活性和供应商锁定风险等因素的平衡。高级别的总结是,平台通常可以让您更快地入门,但更难针对您的特定用例进行定制,并且从长远来看,规模化可能会变得更加昂贵。
  • 团队经验 - 如果您的团队在某些工具方面拥有丰富的经验,他们将更快地提高工作效率,并且实施将花费更少的时间。另一方面,在某些情况下,可能值得付出采用不同工具的学习曲线。
  • 社区 - 使用已经拥有庞大社区的工具将使招聘和入职新团队成员更容易,并且如果社区在线活跃,也更容易找到问题的解决方案。

创建自动化部署管道

一旦所有规划和决策制定完成,就该开始构建了。一个典型的起点是实施 CI/CD 等功能,以测试生产环境中的新模型、跟踪性能,并逐步自动化这些任务。本文稍后将介绍可用于简化这些功能创建的工具类型。

迭代和改进

MLOps 是一个持续的过程,而不是一次性的事情。这里的关键是跟踪您当前的状态与实施过程开始时设定的目标的关系。这将帮助您优先考虑 MLOps 系统中仍需要改进的部分的工作。一旦您的初始目标实现,您可以设定新目标并根据需要进行调整。

MLOps 最佳实践

通过遵循数据管理、模型开发和评估以及监控和维护方面的最佳实践,可以更轻松地最大限度地提高 MLOps 实施的益处。这些技术将有助于确保您的机器学习模型准确、高效且符合您的组织目标。

探索性数据分析

探索性数据分析 (EDA) 是指通过可视化、汇总和检查数据以发现特征和模式来分析数据的初始阶段。 EDA 有助于理解数据的性质、识别异常、发现模式以及就建模策略做出明智的决策。它可以降低做出不正确假设的风险,这将有助于防止您的团队朝着错误的方向前进并浪费时间。

探索性数据分析如何帮助企业的一个例子是,零售连锁店的数据科学团队如何查看不同商店的销售数据。通过查看季节性、异常值、缺失数据、数据量和销售分布等因素,团队可以就使用的最佳建模技术做出明智的决定。

特征工程

特征工程涉及将原始数据转换为有意义的特征,这些特征可用于提高机器学习模型的性能。特征工程通常需要一些领域专业知识,以帮助确定哪些数据作为模型输入最有用。如果使用得当,特征工程将提高模型准确性、缩短训练时间并使模型结果更易于解释。

数据管理

创建精简且可靠的数据标记流程可确保用于训练模型的高质量数据。这降低了将偏差或不准确性纳入模型的可能性。另一方面,模型验证确保用于训练和测试的数据准确可靠,最终带来更好的模型性能。

模型训练和评估

模型开发中的最佳实践包括编写可重用代码、简单指标和自动化超参数优化,以简化开发过程。

模型治理

模型治理是指用于管理和监督机器学习模型整个生命周期的一组实践。这包括版本控制、审计、监控和验证等。模型治理的目标是确保 ML 模型在使用方式上有效且合乎道德

模型推理

推理是指在先前未见过的数据上使用模型进行预测。这是机器学习模型有望通过生成准确预测来交付实际价值的环节。除了纯粹的准确性之外,模型推理还在成本和性能之间取得平衡。如果模型生成结果耗时过长,或者计算资源成本高于预测的价值,那么准确的结果就毫无用处。

监控与维护

定期监控和维护您的机器学习模型对于确保其在生产环境中的性能、公平性和隐私至关重要。通过密切关注您的机器学习模型的性能并在问题出现时及时解决,您可以确保您的机器学习模型随着时间的推移继续提供准确且可靠的结果。

自动化模型重训练

自动化模型重训练是使用新数据重新训练机器学习模型的过程,以确保模型随着时间的推移保持准确。虽然有些模型可能不需要频繁的重训练,但在某些领域,世界不断变化,模型可能会迅速过时。通过自动化重训练过程,可以部署许多机器学习模型,而无需担心它们失去准确性。

模型重训练具有价值的一个例子是欺诈检测,犯罪分子不断开发新技术,因为旧技术被阻止。如果您的机器学习模型没有经常使用显示新模式的数据进行更新,它将随着时间的推移失去效力。

MLOps 工具

存在各种各样的工具和技术来支持 MLOps,从开源解决方案到商业平台。让我们看看一些用于 MLOps 的最流行的工具。

Jupyter Notebook

Jupyter 是一个开源交互式编程工具,开发人员可以使用它轻松创建和共享包含代码以及文本、可视化或公式的文档。对于 MLOps,Jupyter 可用于数据分析、机器学习模型原型设计、共享结果以及在开发过程中更轻松地进行协作。

TensorFlow

TensorFlow 是 Google 创建的用于构建机器学习模型的开源框架。一旦模型被创建,TensorFlow 就拥有广泛的集成和扩展生态系统,以帮助您更轻松地在生产环境中运行模型,如下所示

  • TensorFlow Lite - 允许 TensorFlow 模型在移动设备和嵌入式设备(如智能手机或 IoT 设备)上运行
  • TensorFlowJS - 使用 Javascript 在 Web 上部署机器学习模型
  • TensorBoard - 用于在模型开发过程中可视化和跟踪结果的工具
  • TFX - TFX 是一个完整的平台,用于使用管道在生产环境中部署 TensorFlow 模型

Databricks

Databricks 是一个数据分析平台,为数据工程、协作数据科学和商业分析提供基于云的环境。在 MLOps 中,Databricks 可用于促进完整的机器学习生命周期,从数据准备到模型部署,并提供用于监控和治理的集成工具。

PyTorch

PyTorch 是 Facebook 创建的用于构建模型的开源 ML/AI 库。PyTorch 类似于 TensorFlow,但由于许多使其对实验更友好的功能,在研究社区中迅速获得采用。在发布后的 4 年内,75% 的已发表研究论文使用了 PyTorch,HuggingFace 上约 90% 的已发布模型使用了 PyTorch。

MLFlow

MLFlow 是一个开源平台,用于管理完整的机器学习生命周期,包括实验、可重复性和部署。MLFlow 提供了一个中心位置来跟踪实验、将代码打包到可重现的运行中,以及共享和部署模型。

AWS Sagemaker

SageMaker 是 AWS 提供的云服务,允许用户大规模构建、训练和部署机器学习模型。SageMaker 提供在大数据集上进行训练、自动超参数调整以及无缝部署到生产环境并进行版本控制和监控的功能。

Feast

Feast (机器学习的特征存储) 是一个操作数据系统,用于管理和向生产环境中的模型提供机器学习特征。Feast 可以帮助确保生产环境中的模型使用一致且最新的特征数据,从而弥合数据工程和模型部署之间的差距。

Prefect

Prefect 是一个为现代基础设施和数据工作流设计的工作流管理系统。对于 MLOps 用例,Prefect 可用于编排复杂的数据工作流,确保数据管道、预处理步骤和模型部署可靠且按正确的顺序运行。

Pachyderm

Pachyderm 提供了一个基于 Docker 和 Kubernetes 构建的数据版本控制和管道系统。Pachyderm 可用于维护数据沿袭和可重复性,确保模型可以使用一致的数据源进行重训练和重新部署,并且可以随着时间的推移跟踪数据或管道中的任何更改。

Kubeflow

Kubeflow 是一个开源平台,旨在在 Kubernetes 上运行端到端机器学习工作流。Kubeflow 为构建、部署和管理可扩展的机器学习模型提供了一个统一的环境。这有助于确保跨不同基础设施的无缝编排、可扩展性和可移植性。

Apache Airflow

Apache Airflow 是一个开源平台,旨在以编程方式调度和监控工作流。Airflow 可用于自动化机器学习管道,确保数据提取、预处理、训练和部署过程顺利且按计划运行。

Weights and Biases

Weights & Biases 提供了用于跟踪和可视化机器学习实验的工具。对于 MLOps 用例,它提供了记录超参数、输出指标和可视化的功能,确保数据科学家可以快速迭代和协作进行模型开发。

常见问题解答

MLOps 与 DevOps 有何不同?

MLOps 侧重于数据管理和模型版本控制,而 DevOps 强调整体应用程序性能、可靠性、测试和部署自动化。MLOps 将数据收集、预处理、建模、评估、产品部署和重训练等任务整合到一个统一的过程中。

MLOps 是数据工程吗?

MLOps 是一种比数据工程更新兴的实践,侧重于生产环境中机器学习模型的部署、监控和维护。它的出现是为了响应 ML 系统在数据基础设施管理方面的独特需求。

掌控您的运营,降低 90% 的存储成本

免费开始 运行概念验证

无需信用卡。

quote-shape

相关资源


DBU logo

免费 InfluxDB 培训

通过免费的自定进度和讲师指导的培训,快速开始您的 InfluxDB 之旅。

dbu-illustration