MLOps部署机器学习管道
MLOps(机器学习运营)提供了一套标准化的流程和技术能力,以快速、可靠地开发、部署和运营ML系统。数据科学家、ML工程师和DevOps工程师协同工作,通过MLOps提供出色的结果。
有时会发生机器学习产品在制造过程中失败的情况,但MLOps通过加快机器学习管道的开发和发布,使许多团队有可能进行合作。许多企业越来越重视部署管道,并利用MLOps的最佳实践控制整个流程。
什么是管道
创建机器学习模型所需的工作流程可以使用机器学习管道进行管理和自动化。管道由几个连续的过程组成,处理从模型训练和部署到数据提取和预处理的一切。
迭代式机器学习管道重复每一个步骤,以提高模型的准确性并达到预期的结果。一个MLOps管道的目标是有效地、低成本地将机器学习模型应用于大规模的传入数据。通过提供标准的部署工具,它旨在减少ML工程师花在操作每个新模型上的时间。
机器学习管道的四大支柱
以下是ML管线的四大支柱
跟踪 - 在开发系统时,跟踪所有的代码、数据和模型是必不可少的。对于审计来说,记录哪些模型被应用于哪些数据集是至关重要的。
自动化 - ML专业人员可以通过使用持续集成/持续部署(CI/CD)更快地交付ML模型,并提高质量。单元测试、压力测试、集成测试和回归测试都应该作为CI/CD的一部分进行自动化。
监控 --MLOps需要通过有效的日志和警报来密切关注ML管道的情况。通过定期跟踪你的ML管道的有效性,你可以在它们变得严重之前发现问题。为确保模型按预期运行,MLOps管道应留意数据漂移和错误的预测。
可靠性 - 一个可靠的ML管道将按预期执行,并持续为企业提供价值。
机器学习管道的考虑因素
- 考虑到创建机器学习模型所涉及的每个步骤。从数据的收集和预处理开始,一路向上。
-
测试应该被看作是管道的一个重要组成部分。有了管道,你就有机会进行更彻底的测试,因为你不必每次都手动进行测试。
-
机器学习管道的协调可以通过各种方式进行,但基本原理始终保持不变。你指定管道的输入和输出,以及组件的执行顺序。
手动ML管线与自动ML管线的区别
以下是手动ML管道与自动ML管道的区别
手动ML管线 | 自动ML管线 |
---|---|
在这个管道中,模型被认为是产品。 | 在这个管道中,管道被认为是一个产品。 |
它有一个缓慢的迭代周期 | 它有一个快速的迭代周期 |
它是一个脚本驱动的过程 | 这是一个自动化的过程。 |
数据科学家和ML工程师的互动不多。 | 数据科学家和ML工程师之间有良好的沟通。 |
它不包括版本控制。 | 它包括版本控制。 |
构建机器学习管道的步骤
以下是构建机器学习管道的步骤
-
数据收集– 这是一个关键的阶段,能够为ML模型收集关键数据,以成功达到KPI(关键性能指标)。根据我们是要解决分类问题还是回归任务,这些标志会发生变化。
-
数据清理 – 从数据集中纠正或删除不准确、损坏、格式不当、重复或不完整的数据的做法被称为数据清理。
-
数据可视化– 现在是时候在获得预测所需的相关数据后,调查数据特征和输出变量之间是否存在任何关联。利用有用的视觉效果,如柱状图、散点图和计数图,极大地促进了对数据的理解和分析,使之能够与利益相关者进行清晰的沟通。工具。MATLAB、R和Python。
-
使用数据建模来提供预测– 以下任何一种方法都可以用来完成这个任务:强化学习、无监督学习、半监督学习和监督学习。
-
模型部署 – 现在是实时部署模型并评估其性能的时候了,因为我们已经训练了各种模型并调整了超参数。
-
模型监控– 工作流程的最后阶段将是持续检查模型的性能,以评估它的表现如何,是否达到了基于KPI的预期。