为什么要使用 MLOP? - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为什么要使用 MLOP?

当您从运行个人工智能和机器学习 (AI/ML) 项目转变为使用 AI/ML 大规模转型业务时,ML 运营 (MLOP) 的学科可以提供帮助。MLOP 考虑了 AI/ML 项目在项目管理、CI/CD 和质量保证方面的独特方面,帮助客户缩短交付时间、减少缺陷并提高数据科学家的工作效率。MLOP 是一种基于将 DevOps 实践应用于机器学习工作负载的方法。您可以查看DevOps 简介Amazon白皮书,了解有关 DevOps 原则的讨论。练习 CI/CDAmazon基础设施即代码更深入地实现使用Amazon服务。

与 DevOps 一样,MLOP 依靠协作和简化的机器学习开发生命周期方法,其中人员、流程和技术的交叉优化了开发、构建和运行机器学习工作负载所需的端到端活动。

MLOP 重点关注数据科学和数据工程结合现有 DevOps 实践,以简化整个机器学习开发生命周期的模型交付。MLOP 是将 ML 工作负载集成到发布管理、CI/CD 和操作中的学科。MLOP 需要软件开发、运营、数据工程和数据科学的集成。

MLOP 的挑战

项目管理

  • ML 项目涉及数据科学家,这是一个相对较新的角色,而且经常不会整合到跨职能团队中。这些新团队成员通常讲的技术语言与产品所有者和软件工程师不同,这使得将业务要求转化为技术要求的常见问题更加复杂。

沟通和协作

  • 构建 ML 项目的可见性,实现数据工程师、数据科学家、ML 工程师和 DevOps 等不同利益相关者之间的协作。

一切都是代码

  • 在开发活动中使用生产数据、更长的试验生命周期、对数据管道的依赖性、再培训部署管道以及评估模型性能的独特度量。

  • 模型的生命周期通常独立于与这些模型集成的应用程序和系统。

  • 整个端到端系统可通过版本化代码和工件重现。DevOps 项目使用基础架构即代码 (IAC) 和配置即代码 (CAC) 来构建环境,并使用管道即代码 (PAC) 来确保一致的 CI/CD 模式。管道必须与大数据和 ML 培训工作流程集成。这通常意味着我们的管道是传统的 CI/CD 工具和另一个工作流引擎的组合。许多 ML 项目都存在着重要的政策问题,因此我们的管道可能还需要强制执行这些策略。有偏见的输入数据会产生偏差的结果,这是商业利益攸关方日益关注的问题。

CI/CD

  • 在 MLOP 中,源数据与源代码一起是一流的输入。这就是为什么 MLOP 要求对源数据进行版本控制,并在源数据或推断数据发生更改时启动管道运行的原因。

  • 管道还必须对 ML 模型及其输入和其他输出进行版本,以便提供可追溯性。

  • 自动测试必须包括在构建阶段和模型处于生产阶段时对 ML 模型进行正确的验证。

  • 建设阶段可能包括模型培训和再培训,这是一个耗时和耗费资源的过程。管道必须足够细化,以便仅在源数据或 ML 代码更改时执行完整的训练周期,而不是在相关组件发生更改时。

  • 由于机器学习代码通常是整体解决方案的一小部分,因此部署管道还可能包含将模型打包以供其他应用程序和系统作为 API 使用所需的附加步骤。

监控和日志记录

  • 在特征工程和模型培训阶段,我们需要捕获模型训练指标以及模型实验。调整 ML 模型需要操作输入数据的形式以及算法超参数,我们需要系统地捕获这些实验。实验跟踪可帮助数据科学家更有效地工作,并为我们提供可重复的工作快照。

  • 部署的 ML 模型需要监控传递给模型以进行推断的数据,以及标准端点稳定性和性能指标。监测系统还必须捕获模型输出的质量,这是由适当的 ML 衡量指标评估的。

MLOP 的优势

采用 MLOP 实践可提供以下优势,从而加快 ML 项目的上市速度。

  • 生产力:通过提供可访问精选数据集的自助服务环境,数据工程师和数据科学家可以更快地移动,减少丢失或无效数据的浪费时间。

  • 重复性:自动执行 MLDC 中的所有步骤可帮助您确保可重复的流程,包括如何训练、评估、版本化和部署模型。

  • 可靠性:通过采用 CI/CD 做法,不仅能够快速部署,而且能够提高质量和一致性。

  • 审计:对所有输入和输出进行版本控制,从数据科学实验到源数据再到训练模型,这意味着我们可以准确地演示模型是如何构建的,以及模型的部署位置。

  • 数据和模型质量:通过 MLOP,我们可以强制执行防范模型偏差的策略,并跟踪随时间推移对数据统计属性和模型质量的更改。