MLOps的角色是什么?

你有兴趣成为一名 MLOps 工程师吗?今天详细了解 MLOps 工程师角色。

所以已经建立了一个机器学习模型。它在验证数据集上达到了预期的性能。很高兴能够应用数据科学和机器学习技能来构建此模型。但是,意识到该模型在 Jupyter notebook 中在本地计算机上运行良好(目前)并不是很有帮助。

为了让用户从模型中受益并让企业利用机器学习,必须将模型部署到生产环境中。然而,部署和维护机器学习模型并非没有挑战。在开发环境中表现良好的模型在生产环境中可能会惨败。这可能是由于数据和概念漂移以及其他导致性能下降的因素造成的。

所以意识到:要使机器学习模型有用,必须超越模型构建。这就是 MLOps 发挥作用的地方。今天,将了解 MLOps 以及MLOps 工程师在组织中的角色。

什么是 MLOps?

通常,会发现 MLOps 被定义为将 DevOps 原则应用于机器学习。

随着 DevOps 实践简化了开发和运营团队之间的跨职能协作,软件开发生命周期 (SDLC) 已经变得更好。如果认识从事 DevOps 工作的人,会听过他们谈论 CI/CD 管道、自动化 CI/CD 管道、应用程序监控等。

尽管这可以转移到机器学习应用程序中,但机器学习系统存在一些特定的挑战。构建和运行机器学习机器学习系统是一个更复杂的过程。

所以一般来说,可以将 MLOps 视为构建、部署和维护机器学习系统的一组最佳实践。

有了这个想法,继续了解组织中的 MLOps 工程师的工作。

MLOps 工程师做什么?

可以将 DevOps 实践应用于机器学习系统。如果那是 MLOps,那么 MLOps 工程师就有责任做到这一点!

这是什么意思?一旦数据科学团队构建了模型,MLOps 工程师就会通过以下方式使模型成功运行:

  • 自动化机器学习模型部署
  • 为 ML 管道设置监控
  • 自动化 CI/CD 管道以处理数据、代码和模型更改
  • 设置自动模型再训练
  • 确定所需的自动化水平

与 MLOps 相关的一些挑战

设置监控只能帮助识别何时出现问题。为了获得有关模型不同版本性能的更详细信息,MLOps 工程师经常使用模型版本控制和实验跟踪。

我\提到过 MLOps 工程师会设置具有所需自动化水平的模型再训练。尝试了解与之相关的挑战。

一旦将应用程序部署到生产环境中,模型在生产环境中使用的数据可能与训练它的数据截然不同。结果,这样的模型会表现得很差,经常不得不重新训练。

MLOps 工程师还通过考虑性能下降、数据更改频率和模型再训练成本来处理再训练和再训练过程的自动化。

在一些初创公司中,可能拥有机器学习工程师,也戴着 MLOps 工程师的帽子。而在其他一些公司中,拥有身兼数职的 DevOps 和后端工程师。

一家大型科技公司的 MLOps 可能与早期初创公司的 MLOps 大不相同。MLOps 自动化水平也可能因组织而异。

如果一直在一家初创公司工作,拥有端到端机器学习管道(从模型训练到监控和维护机器学习系统)的所有权,那么也已经是一名 MLOps 工程师了。

对探索 MLOps 工程师这一具有挑战性的角色感到兴奋吗?总结一下需要的技能。

MLOps 技能集和工具:概述

MLOps 工程师通常具有很强的 ML、DevOps 和数据工程技能。

MLOps的角色是什么?

MLOps 工程师在组织中的角色

  • 机器学习技能:编程、机器学习算法和框架的工作知识以及领域知识
  • 软件工程技能:查询和使用数据库、测试 ML 模型、Git 和版本控制、FastAPI 等框架
  • DevOps基础:熟练掌握Docker、Kubernetes等工具
  • 实验跟踪:熟悉MLflow等实验跟踪框架
  • 编排数据管道:使用 Prefect 和 Airflow 等工具设置和自动化数据管道
  • 云基础设施:熟悉 AWS、GCP 等云基础设施提供商和 Terraform 等基础设施即代码工具 (IaC)

学习 MLOps

如果您有兴趣了解有关 MLOps 的更多信息,可以使用以下资源列表来帮助您入门:

  • DataTalks.Club 的 MLOps Zoomcamp:DataTalks.Club 的 MLOps zoomcamp 是一门免费课程,用于学习 MLOps 的所有内容——从模型构建到部署和监控的最佳实践。将通过构建一个项目来学习,将学到的所有知识组合在一起。
  • Coursera 上的 MLOps 专业化:DeepLearning.AI 的机器学习工程生产 (MLOps) 专业化。该专业(包含四门课程)将教如何构建生产级机器学习系统。
  • MLOps GitHub 存储库:一个精选的存储库列表,用于在 MLOps 中升级。

总结

在本文中,介绍了 MLOps 工程师在组织中的首要职责以及关键的 MLOps 技能。

如前所述,并非所有执行 MLOps 的工程师都称为MLOps 工程师。还讨论了 MLOps 自动化水平和实际日常工作的依赖程度如何因组织而异。

与任何其他角色一样,作为一名成功的 MLOps 工程师需要软技能,例如有效的沟通、协作和战略性问题解决。也就是说,如果想尝试成为一名 MLOps 工程师,祝 MLOps 快乐!

© 版权声明

相关文章