

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

# 你为什么要使用 MLOps？
<a name="sagemaker-projects-why"></a>

当你从运行个人人工智能和机器学习（AI/ML) projects to using AI/ML to transform your business at scale, the discipline of ML Operations (MLOps) can help. MLOps accounts for the unique aspects of AI/ML projects in project management, CI/CD以及质量保证）转变时，可以帮助你缩短交付时间、减少缺陷并提高数据科学的工作效率。 MLOps 指一种基于将 DevOps 实践应用于机器学习工作负载的方法。有关 DevOps 原理的讨论，请参阅白皮书《[ DevOps on 简介》 Amazon](https://docs.amazonaws.cn/whitepapers/latest/introduction-devops-aws/welcome.html?did=wp_card)。要了解有关使用 Amazon 服务实现的更多信息，请参阅[实践 Amazon和 CI/CD 基础](https://d1.awsstatic.com/whitepapers/DevOps/practicing-continuous-integration-continuous-delivery-on-AWS.pdf)[架构即代码](https://d1.awsstatic.com/whitepapers/DevOps/infrastructure-as-code.pdf)。

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

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

## 面临的挑战 MLOps
<a name="sagemaker-projects-why-challenges"></a>

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

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

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



**一切即代码**
+ 在开发活动中使用生产数据，延长实验生命周期，依赖数据管道，再训练部署管道，以及在评估模型性能方面采用独特指标。
+ 模型通常会有生命周期，该生命周期独立于与这些模型集成的应用程序和系统。
+ 整个 end-to-end系统可通过版本控制的代码和工件进行复制。 DevOps 项目使用 Infrastructure-as-Code (IaC) 和 Configuration-as-Code (CaC) 来构建环境，并使用 Pipelines-as-Code (PaC) 来确保模式一致 CI/CD 。这些管道必须与大数据和机器学习训练工作流集成。这通常意味着管道是传统 CI/CD 工具和另一个工作流程引擎的组合。许多机器学习项目都存在重要的策略问题，因此管道可能还需要强制执行这些策略。有偏差的输入数据会产生有偏差的结果，这是业务利益相关者日益关注的问题。

**CI/CD**
+ 在中 MLOps，源数据与源代码一起是第一类输入。这就是为什么当源数据或推理数据发生变化时， MLOps 需要对源数据进行版本控制并启动管道运行的原因。
+ 管道也必须对机器学习模型以及输入和其他输出进行版本控制，以便提供可追溯性。
+ 自动测试必须包括在构建阶段和模型投入生产时对机器学习模型进行适当验证。
+ 构建阶段可能包括模型训练和再训练，这是一个耗时且资源密集型的过程。管道必须足够精细，以便只有在源数据或机器学习代码发生变化时，而不是在相关组件发生变化时，才执行完整的训练周期。
+ 由于机器学习代码通常只占整体解决方案的一小部分，因此部署管道还可能包含打包模型（以作为 API 供其他应用程序和系统使用）所需的额外步骤。

**监控和日志记录**
+ 捕获模型训练指标和模型实验所需的特征工程和模型训练阶段。优化机器学习模型需要操作输入数据的形式以及算法超参数，并系统地捕获这些实验。实验跟踪可以帮助数据科学家更有效地工作，并提供他们工作的可重现快照。
+ 部署的机器学习模型需要监控传递给模型以进行推理的数据，以及标准的端点稳定性和性能指标。监控系统还必须捕获模型输出的质量，并根据相应的机器学习指标进行评估。

## 的好处 MLOps
<a name="sagemaker-projects-benefits"></a>

采用 MLOps 实践可以带来以下好处，从而加快 time-to-market机器学习项目的速度。
+ **工作效率**：提供可访问精选数据集的自助服务环境，可让数据工程师和数据科学家加快工作进度，减少因数据缺失或无效而浪费的时间。
+ **可重复性**：自动执行 MLDC 中的所有步骤有助于确保流程的可重复性，包括模型的训练、评估、版本控制和部署方式。
+ **可靠性**：采用 CI/CD 实践不仅可以快速部署，还可以提高质量和一致性。
+ **可审核性**：对所有输入和输出（从数据科学实验到源数据再到经过训练的模型）进行版本控制，这样我们就可以准确演示模型的构建方式及部署位置。
+ **数据和模型质量**： MLOps 让我们强制执行防止模型偏差的政策，并跟踪数据统计属性和模型质量随时间推移而发生的变化。