评估MLOps平台
MLOps平台的目标是将与开发ML-enabled系统相关的任务自动化,并使其更简单地从ML中获益。构建ML模型并从中获得价值需要几个阶段,如调查和清理数据,进行漫长的训练过程,以及部署和监测模型。一个MLOps平台可以被认为是一组工具,用于执行必要的职责以获得ML的好处。
并非所有受益于机器学习的企业都使用MLOps平台。没有平台,绝对有可能将模型投入生产。为一个特定的项目选择和引入一个平台,偶尔可能是一笔不必要的开支。在有几个倡议的地方,平台往往是最有帮助的,因为分享人才和知识变得更简单。
你如何评价这些平台
绝大多数的工具,包括ClearML, Censius, neptune.ai, Dataiku, Datarobot, Iguazio, Sagemaker, Valohai等,都将自己作为端到端的MLOps平台进行销售,涵盖了跟踪、版本管理、ML管道和模型部署三个领域。MLflow、Flyte、Metaflow和Seldon各自专注于模型生命周期的一个特定阶段,而端到端MLOps平台则将模型生命周期的大部分整合到一个单一的过程中。
比较功能是比较MLOps平台的一种方法。虽然许多平台的顶层功能几乎是相同的,但这些功能的实际实现却大相径庭。因此,我们可以根据这些平台的展示方式来进行对比。一个不同的方法是确定你是否应该从头开始创建一些东西或购买一个现有的MLOps平台。最佳的反应将取决于你的用例和团队。
比较MLOPs平台的因素
以下是比较MLOPs平台的各种因素
基于传统的ML和深度学习
传统的以机器学习为重点的产品是为结构化数据创建的。另一方面,用于深度学习的MLOps平台被设计用来处理海量的非结构化数据,如照片、视频或音频。我们有像Metaflow这样的解决方案,它擅长处理表格数据,还有Valohai,一个非常强调机器协调的深度学习平台。
基于支持的库
为了创建ML模型,数据科学家使用各种计算机语言、库和框架。因此,我们需要一个与项目库兼容的MLOps平台。让我们挑选出ML的顶级库,然后列出与该库兼容的平台。
- Jupyter – Dataiku, KubeFlow, Valohai
-
Scikit-learn – Dataiku, DataRobot, KubeFlow
-
Tensorflow – Dataiku, H2O, DataRobot, KubeFlow, Valohai
-
Keras – Dataiku, DataRobot, Valohai
-
Pytorch – H2O, DataRobot, KubeFlow, Valohai
-
XGBoost – Dataiku, H2O, DataRobot, KubeFlow
基于生产化和探索的平台
更倾向于探索的平台更强调数据分析、实验跟踪和在笔记本中工作,而更倾向于产品化的平台则优先考虑机器学习管道、自动化和模型部署。Seldon、Flyte和Metaflow是面向生产的。
Flyte和Metaflow专注于创建生产管道,但Seldon只用于模型部署和版本管理,而不是模型训练。虽然Dataiku在数据分析方面有很多东西可以提供,但MLFlow主要集中在实验跟踪方面。
基于CLI(命令行界面)和GUI(图形用户界面)
一些MLOps平台专注于开发和部署ML模型所需的工程知识较少的功能。他们专注于GUI,一种能够通过网络客户端访问的可视化工具。其他平台则迎合了具有工程背景的高素质数据科学家。当把这些平台与已有的工具连接起来时,它们经常使用命令行界面(CLI)或API;对于熟练的用户来说,网络用户界面(UI)可能不是关键。
以下是一些面向GUI或CLI的MLOps平台的列表 –
- GUI – Dataiku, H2O, DataRobot, Iguazio
-
CLI – Kubeflow, Valohai
基于端到端平台和专业平台
本文提到的大多数MLOps平台都采取了端到端的方式,这意味着用户应该能够在一个平台上自动训练、测试和部署模型。
在这次比较中,Seldon、Flyte和Metaflow脱颖而出,因为它们在管道或部署方面更加专业化。除了AutoML的用例,Datarobot并不是真正的端到端,而MLFlow只是刚刚开始过渡到端到端的方法。
总结
有许多平台可以让你创建、训练、使用和管理机器学习模型。虽然大多数平台在许多方面都有共同点,并且彼此之间密切相关,但也有很大的区别。
对于初学者来说,一些平台是非常简单的。每个平台都有优势和劣势。这是一个个人的决定,因为无论你使用哪个平台,你的模型准确性都是相似的。虽然有几个工作流程,但你可以导入你的算法。定价是这里的一个关键问题,因为大多数都提供现收现付的选项,让你只为你实际利用的功能付费。