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