评估 MLOps 平台
MLOps 平台的目标是自动化与开发支持机器学习的系统相关的任务,并简化利用机器学习的过程。构建机器学习模型并从中获取价值需要多个阶段,例如调查和清理数据、执行长时间的训练过程以及部署和监控模型。MLOps 平台可以被认为是一组用于执行从机器学习中获益所需任务的工具。
并非所有从机器学习中受益的企业都使用 MLOps 平台。在没有平台的情况下,完全可以将模型投入生产。为特定项目选择和引入平台有时可能是多余的支出。在有多个项目的情况下,平台往往最有用,因为这使得共享技能和知识变得更容易。
如何评估这些平台?
绝大多数将自身作为端到端 MLOps 平台进行营销的工具(包括 ClearML、Censius、neptune.ai、Dataiku、Datarobot、Iguazio、Sagemaker、Valohai 等)涵盖了跟踪、版本控制、机器学习管道和模型部署这三个领域。虽然 MLflow、Flyte、Metaflow 和 Seldon 各专注于模型生命周期的特定阶段,但端到端 MLOps 平台将模型生命周期的大部分内容集成到一个过程中。
比较功能是比较 MLOps 平台的一种方法。虽然许多这些平台的顶级功能几乎相同,但这些功能的实际实现方式差异很大。因此,可以根据平台的呈现方式进行对比。另一种方法是确定是否应该从头开始构建或购买现有的 MLOps 平台。最佳答案将取决于您的用例和团队。
MLOPs 平台比较因素
以下是 MLOPs 平台比较的各种因素
基于传统机器学习和深度学习
专注于传统机器学习的产品是为结构化数据创建的。另一方面,深度学习的 MLOps 平台旨在处理海量非结构化数据,例如照片、视频或音频。我们有像 Metaflow 这样的解决方案,它擅长处理表格数据,以及 Valohai,一个以机器编排为重点的深度学习平台。
基于支持的库
为了创建机器学习模型,数据科学家使用各种计算机语言、库和框架。因此,我们需要一个与项目库兼容的 MLOps 平台。让我们选择机器学习的顶级库,然后列出与该库兼容的平台。
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 平台专注于需要较少工程知识来开发和部署机器学习模型的功能。它们专注于 GUI,这是一种可通过 Web 客户端访问的可视化工具。其他平台则迎合具有工程背景的资深数据科学家。在将这些平台与预先存在的工具连接时,它们通常使用命令行界面 (CLI) 或 API;对于熟练用户来说,Web 用户界面 (UI) 可能并不重要。
以下是部分以 GUI 或 CLI 为导向的 MLOps 平台列表:
GUI − Dataiku、H2O、DataRobot、Iguazio
CLI − Kubeflow、Valohai
基于端到端平台和专门平台
本文中提到的大多数 MLOps 平台都采用端到端的方法来处理 MLOps,这意味着用户应该能够在一个平台上自动训练、测试和部署模型。
在此比较中,Seldon、Flyte 和 Metaflow 因其在管道或部署方面的更高专业化而脱颖而出。除 AutoML 用例外,Datarobot 并非真正的端到端,而 MLFlow 才刚刚开始向端到端方法过渡。
结论
有许多平台可用于创建、训练、使用和管理机器学习模型。虽然大多数平台共享许多方面并且彼此密切相关,但存在重大差异。
对于初学者来说,一些平台非常简单。每个平台都有优点和缺点。这是一个个人选择,因为无论您使用哪个平台,您的模型准确性都将相似。虽然有多种工作流程,但您可以导入您的算法。价格在这里是一个关键问题,因为它们中的大多数都提供按需付费选项,让您只需为实际使用的功能付费。