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

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

为何要使用 MLOps?

当您从运行各个人工智能和机器学习 (AI/ML) 项目转向使用 AI/ML 大规模实现业务转型时,机器学习运营 (MLOps) 学科可以为您提供帮助。MLOps 考虑到了 AI/ML 项目在项目管理、CI/CD 和质量保证方面的独特性,可帮助您缩短交付时间,减少缺陷并提高数据科学的工作效率。MLOPs 是指一种基于将 DevOps 实践应用于机器学习工作负载的方法。有关 DevOps 原理的讨论,请参阅白皮书《 DevOps on 简介》 Amazon。要了解有关使用 Amazon 服务实现的更多信息,请参阅 “实践 CI/CD” Amazon和 “基础设施即代码”。

比如 DevOps,MLOP 依赖于机器学习开发生命周期的协作和简化方法,在这种方法中,人员、流程和技术的交汇优化了开发、构建和操作机器学习工作负载所需的 end-to-end 活动。

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

MLOps 面临的挑战

尽管 MLOps 可以提供有价值的工具来帮助您扩展业务,但在将 MLOps 集成到机器学习工作负载中时,您可能会遇到一些问题。

项目管理

  • 机器学习项目涉及数据科学家,这是一个相对较新的角色,并不经常整合到跨职能团队中。这些新团队成员使用的技术语言通常与产品拥有者和软件工程师使用的技术语言截然不同,这使得将业务需求转换为技术需求的常见问题更加复杂。

沟通与协作

  • 提高机器学习项目的知名度,促进数据工程师、数据科学家、机器学习工程师等不同利益相关者之间的协作, DevOps 对于确保取得成功结果变得越来越重要。

一切即代码

  • 在开发活动中使用生产数据,延长实验生命周期,依赖数据管道,再训练部署管道,以及在评估模型性能方面采用独特指标。

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

  • 整个 end-to-end 系统可通过版本控制的代码和工件进行复制。 DevOps 项目使用基础架构即代码 (IaC) 和配置即代码 (CaC) 来构建环境,使用管道即代码 (PaC) 来确保一致的 CI/CD 模式。这些管道必须与大数据和机器学习训练工作流集成。这通常意味着管道是传统的 CI/CD 工具和另一个工作流引擎的组合。许多机器学习项目都存在重要的策略问题,因此管道可能还需要强制执行这些策略。有偏差的输入数据会产生有偏差的结果,这是业务利益相关者日益关注的问题。

CI/CD

  • 在 MLOps 中,源数据和源代码都是一类输入。这就是 MLOps 要求对源数据进行版本控制,并在源数据或推理数据发生变化时启动管道运行的原因。

  • 管道也必须对机器学习模型以及输入和其他输出进行版本控制,以便提供可追溯性。

  • 自动测试必须包括在构建阶段和模型投入生产时对机器学习模型进行适当验证。

  • 构建阶段可能包括模型训练和再训练,这是一个耗时且资源密集型的过程。管道必须足够精细,以便只有在源数据或机器学习代码发生变化时,而不是在相关组件发生变化时,才执行完整的训练周期。

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

监控和日志记录

  • 捕获模型训练指标和模型实验所需的特征工程和模型训练阶段。优化机器学习模型需要操作输入数据的形式以及算法超参数,并系统地捕获这些实验。实验跟踪可以帮助数据科学家更有效地工作,并提供他们工作的可重现快照。

  • 部署的机器学习模型需要监控传递给模型以进行推理的数据,以及标准的端点稳定性和性能指标。监控系统还必须捕获模型输出的质量,并根据相应的机器学习指标进行评估。

MLOps 的优势

采用 MLOPs 实践可以带来以下好 time-to-market 处,从而加快机器学习项目的速度。

  • 工作效率:提供可访问精选数据集的自助服务环境,可让数据工程师和数据科学家加快工作进度,减少因数据缺失或无效而浪费的时间。

  • 可重复性:自动执行 MLDC 中的所有步骤有助于确保流程的可重复性,包括模型的训练、评估、版本控制和部署方式。

  • 可靠性:采用 CI/CD 实践不仅可以快速部署,还可以提高质量和一致性。

  • 可审核性:对所有输入和输出(从数据科学实验到源数据再到经过训练的模型)进行版本控制,这样我们就可以准确演示模型的构建方式及部署位置。

  • 数据和模型质量:利用 MLOps,我们能够强制执行防止模型偏差的策略,并跟踪数据统计属性和模型质量随时间推移而发生的变化。