如何使用MLOps将机器学习自动推向生产环境? - kdnuggets

21-01-22 banq

由于MLOps是一个新生领域,因此可能很难掌握其含义和要求。实施MLOps的最大挑战之一是在ML管道上叠加DevOps实践的难度。这主要是由于根本差异:DevOps处理的是代码,而ML是既是代码又有数据。当涉及到数据时,不可预测性始终是一个主要问题。

由于代码和数据是独立且并行发展的,因此断开连接会导致ML生产模型变慢且经常不一致。此外,由于缺乏难以跟踪和版本化的海量数据的可再现性,可能无法应用简单的CI / CD方法。因此,对于生产中的机器学习,采用CI / CD / CT(连续培训)方法至关重要。

 

数据团队只需将MLOps视为独立于各个数据实例的代码工件即可。因此,将其分为两个不同的管道(训练管道和服务管道)可以帮助确保批处理文件的安全运行环境以及有效的测试周期。

培训流程涉及整个模型准备过程,该过程从收集和准备数据开始。一旦收集,验证和准备了数据,数据科学家就需要实施特征工程以分配用于培训和生产的数据值。同时,必须选择一种算法,该算法将定义模型如何识别数据模式。完成此操作后,该模型可以根据历史离线数据开始训练。然后,可以在通过模型注册表将其部署到生产管道之前,对经过训练的模型进行评估和验证。

完整模型准备过程的示意图

 

生产流程涉及使用部署的模型基于在线或现实数据集生成预测。这就是CI / CD / CT方法通过管道自动化进入完整周期的地方。数据是从端点收集的,并包含来自要素存储的其他数据。接下来是数据准备,模型训练,评估,验证以及最终生成预测的自动化过程。加强此自动化过程的一些组件包括元数据管理,管道触发器,功能存储以及独立的数据和模型版本控制。

一旦将模型部署到管道中,然后就可以将所得数据用于在训练管道中连续训练模型。这样,它关闭了数据/代码循环并简化了部署过程。

 

建立合适的团队

 理想情况下,MLOps团队应包括来自运营,IT和数据科学部门的成员。具有在机器学习中实现运维经验的企业领导者应领导该团队。

就协调团队而言,MLOps团队可以与IT下的企业体系结构团队保持一致,也可以与中央分析或数据科学团队集成。根据需求,MLOps团队可以与特定业务部门以及数据科学或IT团队一起管理复杂的模型。

MLOps团队负责人需要明确定义任务的角色,例如数据准备,训练ML模型,部署模型等。

 

MLOps的优势和前进的方向

利用MLOps的最大好处是快速,创新的ML生命周期管理。MLOps解决方案使数据团队可以更轻松地与IT工程师进行协作,并提高了模型开发的速度。此外,监视,验证和管理用于机器学习模型的系统的规定可加快部署过程。

除了通过快速的自动化工作流节省时间外,MLOps还支持资源的优化和可重用性。通过利用MLOps,IT团队可以创建一个自学习模型,该模型可以长期容纳数据漂移。

MLOps的快速崛起预示着未来,我们将看到它发展成为竞争必需品。随着ML从研究到应用的发展,它将需要与现代商业模型的敏捷性保持一致,并适应不断变化的环境。尽管这仍然是未来的某种方式,但企业将需要立即采取行动,抓住时机。

 

猜你喜欢