机器学习(ML)被宣传为第四次工业革命的关键推动力之一。近年来,企业在不损害客户服务的情况下探索了新的方法来最大化其利润和影响范围。机器学习帮助他们从相关来源中挖掘数据并进行分析以了解趋势和行为等。随着IT企业将机器学习驱动的见解集成到他们的组织框架中,MLOps被用来增强机器学习模型开发和使用生命周期中的操作和部署。
机器学习是人工智能的一类,它使人工智能模型或系统可以从提供的数据集中学习,并根据随时间推移进行的反馈和分析对其自身进行重新训练。随着大数据创新的涌入以及人工智能和计算能力的发展,机器学习的能力在过去几年中得到了极大的发展。然而,公司难以部署其产品,或者对于将其应用于何处一无所知。这是MLOps证明很方便的地方。
一般而言,MLOps是具有增强的机器学习功能的DevOps。它帮助数据科学家和IT团队管理生产机器学习生命周期。这可以在机器学习系统构建的所有步骤中实现自动化和监视,包括集成、测试、发布、部署和基础架构管理。此外,它通过强大的机器学习生命周期管理促进快速创新。根据IanHogarth和NathanBenaich的“人工智能状态”报告,MLOps占2020年GitHub增长最快的项目的25%。
有许多用于管理机器学习生命周期的MLOps框架。以下是一些MLOps平台:
MLFlow
它是一个开放源代码平台,用于管理端到端机器学习生命周期,包括实验,可重复性,部署和中央模型注册中心。它提供了三个主要功能:跟踪实验,打包ML代码(项目)以及管理和部署模型。这意味着用户可以跟踪实验,组织实验,为其他机器学习工程师描述实验并将其打包到机器学习模型中。
亚马逊SageMaker Studio
亚马逊提供的这种完全托管的集成环境,基于Web的工具使数据科学家能够管理整个机器学习生命周期,即从构建和培训到部署机器学习模型。人们还可以快速上传数据,创建新笔记本,训练和调整模型,在步骤之间来回移动以调整实验,比较结果以及将模型部署到一个地方,从而提高生产率。
Kubeflow
它是一款软件,其主要目标是运行流程,并使机器学习工作流程的部署(主要是在Kubernetes上更容易)。它包含用于创建和管理交互式Jupyter笔记本的服务。它可以帮助用户处理分布式TensorFlow培训作业。它还提供了多框架集成,例如伊斯蒂奥(Istio)和大使。
Algorithmia
它是一个企业MLOps平台,允许用户使用CPU和GPU按需(无服务器)部署,管理和扩展其机器学习产品组合。它可以在自己的云,用户房屋,VMware或公共云上运行。此外,它还可以在自己的Git存储库或GitHub中维护模型,自动管理模型版本控制,并可以实现流水线化。
Tensor Flow Extended(TFX)
它是一个基于TensorFlow的可扩展端到端平台,用于生产和部署机器学习管道。它提供了一个配置框架和共享库,以集成定义,启动和监视机器学习系统所需的通用组件。TFX基于管道概念,可帮助它定义通过多个组件的数据流,以实现特定的ML任务为目标。
HPE Ezmeral MLOps
它使用容器将类似于DevOps的敏捷性带入了企业级的整个机器学习生命周期。它支持机器学习生命周期的每个阶段-数据准备、模型构建、模型训练、模型部署、协作和监视。这种端到端的数据科学解决方案还提供了灵活性,使其可以在本地,多个公共云或混合模型中运行,并在各种用例中响应动态业务需求。
Seldon
它是一个开源平台,允许数据科学家和IT开发人员开发机器学习的核心构建块。Seldon的开源机器学习部署平台可帮助数据科学团队更快,更有效地解决问题。它旨在通过审核跟踪,高级实验,持续集成和部署,滚动更新,扩展,模型说明等来简化数据科学工作流程。
Azure机器学习
这是一个基于云的环境,公司可以用来训练,部署,自动化,管理和跟踪机器学习模型。它具有自己的开源MLOps环境。Azure机器学习还可以与流行的开源工具(例如PyTorch、TensorFlow、Scikit-learn、Git和MLflow平台)进行互操作,以管理机器学习生命周期。
数据版本控制(DVC)
它是用于数据科学和机器学习的开源工具。它的主要功能包括类似于Git的简单命令行,并且不需要任何数据库或专有的在线服务。它使数据科学家可以共享机器学习模型并使其可重现。DVC用户界面可以处理大量数据的版本控制和组织,并以组织良好,可访问的方式存储它们。