DevOps 在过去 15 年里一直是软件开发不可或缺的一部分。众所周知,“左移”文化被广泛应用于各个组织,因为它引入了新技术、自动化和人员系统,以帮助缩短软件开发生命周期并提供高质量软件的持续交付。

近年来,随着人工智能的兴起,随着开源技术的扩散,企业交付和消费人工智能的结构发生了巨大变化。 MLOps 是对当前企业将机器学习投入生产所面临的困难的合乎逻辑的反应。

什么是 MLOps?

机器学习操作 (MLOP)机器学习工程的主要功能,除了维护和监控要求之外,还专注于简化将机器学习模型投入生产的过程。

与 DevOps 类似,它是一个涉及数据科学家、DevOps 工程师和其他 IT 利益相关者的协作功能。从本质上讲,MLOps 实践允许用户对整个 ML 开发生命周期进行版本控制。

MLOps 与 DevOps:正面比较

MLOps 与 DevOps 范式有很多共同点。 DevOps 带来了一种快速、持续迭代的方法来部署应用程序,而 MLOps 则借鉴了相同的原则将机器学习模型投入生产。

下表概述了 MLOps 与 DevOps 在以下方面的比较:

  • 团队技能
  • 开发
  • 测试
  • 部署
  • 生产
<表格样式=“最大宽度:100%;宽度:自动;表格布局:固定;显示:表格;”宽度=“自动”>
<标题>

步骤和技能要求 MLOps DevOps


<正文>

团队技能 数据工程师、数据科学家、机器学习工程师、
软件开发人员、QA 和 IT 管理员。 软件开发人员、数据工程师、数据库管理员、
质量保证专业人员和 IT 管理员。 开发 尝试新的数据功能和模型,以找出
哪种组合可以提供最佳性能。 为应用程序开发新功能或修复现有错误。 测试 数据验证测试、模型评估以及
应用程序代码的单元和集成测试。 沙盒环境中的单元和集成测试
以捕获任何剩余的错误。 部署 部署新训练的模型、维护数据管道
以及重新训练例程。 将代码、配置以及依赖项打包
,然后部署到生产服务器上。 生产 监控机器学习模型的模型漂移。 监控应用程序和生产环境中的
错误和缺陷。

需要注意的是,由于其开发和交付要求,MLOps 流程的每个步骤都与 DevOps 不同。考虑到这一点,让我们详细讨论上述每个步骤。

MLOps process

团队技能

机器学习模型作为具有多种功能和功能性 UI 的更广泛应用程序的一部分进行部署。构建应用程序需要软件开发人员、QA 测试人员、数据库工程师和管理员、安全专家以及 IT 管理员进行环境设置。

虽然突出显示的角色适用于这两个概念,但 MLOps 需要额外的技能,通常是数据科学家和机器学习工程师。这些专业人员负责处理数据提取、创建数据管道和处理模型训练。

开发

在 DevOps 的背景下,开发是指根据客户需求将新功能编码到应用程序中或修复现有错误。此过程涉及多个开发人员处理应用程序的多个模块。

另一方面,MLOps 下的开发需要开发强大且可重用的 ETL 和模型训练管道。不断的发展确保了管道的正常运行。此外,它还涉及尝试新的数据功能和机器学习模型以提高性能。

测试

测试是 DevOps 和 MLOps 的重要组成部分。对于 DevOps,测试阶段评估代码的质量,以检查它是否能在生产中保持不变。因此,DevOps 涉及广泛的单元和集成测试,并评估每个模块以检查它们是否按预期运行。

这些测试以及数据质量检查和模型性能评估也存在于 MLOps 中。数据检查评估数据模型是否存在可能破坏管道的意外架构更改,而后者则评估新模型与之前模型相比的性能。

部署

部署阶段涉及将必要的更改推送到生产环境。对于 DevOps,这意味着打包代码及其所有必要的配置和依赖项,并将它们传输到生产服务器。

MLOps 部署涉及设置持续集成 (CI)、持续部署 (CD) 和持续培训 (CT) 管道。 CT 管道收集新数据、应用转换并重新训练模型。这些新模型是使用 CI/CD 管道结构部署的。

生产

这两种范例的生产阶段都涉及健康检查和应用程序监控。 DevOps 监视应用程序是否出现意外错误和崩溃。它还监视服务器的运行状况,检查资源利用率以防止停机。

相比之下,MLOps 监控涉及监控模型性能以检查其是否符合生产标准。此外,它还监视数据管道是否有任何故障。

常见 MLOps 挑战

尽管 MLOps 程序具有诸多优点和优势,但它也面临着一系列独特的挑战。其中许多挑战都与数据和模型管理有关。

随着训练和部署管道的每次迭代,管道组件的先前版本都将得到有效维护。

  1. 数据和模型版本控制:作为 数据和模型随每次训练例程进行更新,之前的版本必须保留以供将来参考,以便轻松回滚。这需要高效且强大的存储基础设施。
  2. 数据安全问题用于训练的数据必须保存在安全的环境中,安全免受恶意攻击。
  3. 模型指标跟踪模型指标必须被跟踪以监控性能。这些指标描述了模型是否按预期运行或者是否需要更改基础架构。
  4. 数据漂移监控数据漂移在其分布发生变化时发生。必须根据预定义的指标不断监控数据,以检测任何异常变化。如果检测到漂移,则必须重新训练模型以保持准确性。

从更大的角度来看,很明显 MLOps 并不是一个全新的概念。相反,它是原始 DevOps 范式的扩展。它添加了额外的步骤和功能来适应数据科学的原理。因此,新的 MLOps 文化通过简化数据管道的创建、特征工程、模型训练和部署,使数据科学家受益。

结论

DevOps 文化旨在自动化软件产品开发、测试和部署。然而,传统的 DevOps 并不适合数据科学实践,这就需要 MLOps 范式的概念。

MLOps 借鉴了 DevOps 的一些方面,但包含了一些用于自动化数据科学和机器学习项目的元素。它包括更广泛的技能,例如数据工程师、数据科学家和机器学习工程师。

此外,DevOps 集成了软件应用程序,而 MLOps 则对数据管道以及机器学习模型训练和部署实施质量检查和测试。

这些实现使组织能够构建可靠的数据基础设施,并为机器学习模型应用持续的实现、部署和培训。

Comments are closed.