本文作为数据科学博客马拉松的一部分发表。
介绍
在本文中,我们将学习 MLOps 如何为组织增加价值。它包括定义 MLOps、最近的趋势、相关的挑战、需求和好处、MLOps 的组成部分、MLOps 实施失败的原因、说明以及过程本身。那么,让我们首先了解 MLOps 的含义。
MLOps 代表机器学习操作,它正在成为部署成功的企业数据科学项目的关键组成部分。这是一个新概念,使组织能够产生长期价值并降低与数据科学、机器学习和人工智能相关的风险。

来源:https://anotherreeshu.wordpress.com/2021/03/07/an-introduction-to-mlops/
MLOps-最近的趋势和相关挑战
MLOps 被定义为机器学习生命周期管理的标准化和简化(Treveil,2020)。机器学习生命周期涉及将业务问题转化为高级机器学习模型。企业环境中的典型机器学习生命周期如下图所示,
资料来源:特雷维尔,2020
对于这一趋势,与 ModelOPs 和 AIOPs 相比,MLOps 正在呈现指数趋势。下图说明了 MLOps 的增长,
与大规模管理机器学习生命周期相关的挑战是 -
1. 依赖关系——在数据和业务中都可以看到许多具有活力的依赖关系。为了使生产数据与预期保持一致,企业必须不断地将生产数据转发回。
2. 可变沟通——尽管机器学习生命周期涉及来自商业、数据科学和 IT 的人员,但这些小组使用不同的工具和基本技能。
3. 部署或运营方面——已经看到数据科学家是模型构建和评估方面的专家,但他们缺乏部署或运营方面。因此,兼顾角色对数据科学家来说是一个挑战。
MLops 的好处
1.它降低了机器学习模型在生产中的风险。
2. 跟踪版本控制。
3. 给出新模型是否比以前模型更好的想法。
4.保证模型的性能一致性。
5. MLops 限制了 ML 周期的实验、迭代和定期改进,而效率、可扩展性和降低风险是其最大的好处。
MLops 的组成部分
MLops 涉及从数据管道到模型生产的方方面面。MLops 的部署涉及 EDA、数据准备和特征工程、模型训练和调整、模型审查和治理、模型推理和服务、模型监控和自动模型再训练 (https://www.databricks.com/glossary/mlops)。该过程的图形表示如下所示,
资料来源:https://www.databricks.com/glossary/mlops
更详细的阶段说明是-
1. EDA(探索性数据分析) ——它是为机器学习生命周期探索、共享和准备数据的过程。
2.数据准备和特征工程——部分数据准备是在 EDA 期间完成的。其他数据准备包括转换、聚合和重复数据删除。特征工程使特征可见和可共享。
3.模型训练和超参数调优– 模型训练涉及为 ML 算法提供训练数据。为控制 ML 算法的行为而进行的调整是超参数。最常用的超参数是学习率、时期数、隐藏层、单元和激活函数。sci-kit learn 和 hyperopt 等流行库通常用于训练和调整模型。
4.模型审查和治理——在整个生命周期中维护模型沿袭、模型版本和转换的记录。像 MLflow 这样的开源 MLOps 平台可用于跨 ML 模型查找、共享和协作。
5. 模型推理和服务– 模型刷新频率和推理请求时间在测试和保证中进行管理。诸如 repos 和编排器之类的 CI/CD 工具被用于自动化预生产工作流程。
6. 模型部署和监控—— 为了将注册模型投入生产,权限和集群的生成是自动化的。REST API 模型端点已启用。
7. 自动模型再训练——如果模型因训练和推理数据差异而漂移,则会创建警报和自动化以采取纠正措施。
MLops 平台
MLOps 平台为数据科学家和软件工程师提供了一个通用阶段,包括迭代数据探索、用于实验跟踪的实时协同工作能力、特征工程、模型管理、模型转换、部署和监控。有四个重要的流程阶段:跟踪、项目、模型和注册。跟踪涉及记录和查询实验;项目涉及包装格式以复制模型;模型都是关于生成模型格式的;Registry 涉及模型生命周期管理。
资料来源:https://www.databricks.com/glossary/mlops
需要机器学习工程
越来越需要以良好的频率进行大规模的相关预测。因此,ML Engineering 的主要目标是增加将 ML 项目投入生产、持续维护和必要跟进的机会。ML 工程师所需的技能是,
1. 能够编写模块化代码和实施单元测试的标准软件开发技能。
2.
模型有足够的数据工程技能来拥有特征数据集。
3. 用于创建图表的可视化技能,以使沟通清晰。
4. 定义、范围和控制项目的项目管理经验。
机器学习项目失败的原因
目前,许多公司都在全力投入机器学习,通过投入大量各种形式的资源来招聘数据科学家。尽管如此,项目最终以惊人的速度失败。可以在下面看到表示 ML 项目失败的主要原因的饼图形式的图像,
资料来源:https://www.databricks.com/glossary/mlops
从上图中可以看出,规划、范围界定和技术对项目失败的贡献分别为 30%、25% 和 15%。这些问题源于
大多数 ML 项目都极具挑战性和复杂性。有如此多的活动部件和一个异构的世界试图在这场以
数据为中心的新军备竞赛中获胜并从 ML 中获利,因此大规模进行相关预测如此频繁地失败也就不足为奇了。
项目失败的例证
在本节中,我们将研究欺诈检测问题的研究和范围界定方面。这将比较两个从事 ML 项目的数据科学团队。团队 A 将由一组应用数据科学工程师组成,而团队 B 将由学术研究人员组成。描述这两个团队作案手法的流程图是,
范围界定和研究的方法都有失败的可能性。团队“A”找到了比他们提到的例子更具挑战性的解决方案。'B' 队,即使是准确的,也永远不会有足够的资源来构建这样一个有风险的解决方案。这两个团队的结果证明,为 ML 确定项目范围是一项艰巨的任务。结构化的范围界定将平衡团队“A”和团队“B”的理念和其他方面。
全面的机器学习开发过程
下图描绘了正确的 ML 开发的各个级别。
资料来源:https://towardsdatascience.com/a-gentle-introduction-to-mlops-7d64a3e890ff
基于敏捷的 ML 项目是一种可行的方法。它非常注重协作和沟通。这两者都是在外部和内部的基础上。下面显示了描述协作式 ML 开发过程的各个阶段的流程图,
以上是一个基于敏捷的 ML 项目开发。它基于持续的沟通、定期的反馈和协作。这些使项目工作非常成功。
结论
MLOps 扩展到机器学习操作。它被定义为机器学习生命周期管理的标准化和简化。EDA、数据准备和特征工程、模型训练和调优、模型审查和治理、模型推理和服务、模型监控和自动模型再训练是 MLOps 的关键组成部分。所以,关键的要点是,
- 我们已经了解 MLOps 的定义、趋势、相关挑战和好处。
- 我们已经了解了 MLOps 项目失败的原因。
- 说明项目如何失败。
- 最后,我们了解了 MLOps 的整个过程是如何工作的。




