机器学习任务编排工具比较( 三 )


如果您需要管理作为Kubernetes Pod运行的常规任务的DAG , 请使用Argo 。如果您想要更专注于机器学习解决方案的工具 , 请使用Kubeflow 。
Argo 对比 MLFlowArgo是一个任务编排工具 , 可让您将任务定义为Kubernetes Pod , 并将其作为DAG运行(使用YAML定义) 。MLFlow是一种更加专业的工具 , 它不允许您定义任意任务或它们之间的依赖关系 。相反 , 您可以将MLFlow作为Python库导入到现有的(Python)机器学习代码库中 , 并使用其助手功能记录工件和参数 , 以帮助进行分析和实验跟踪 。您还可以使用MLFlow的命令行工具来训练scikit学习模型 , 并将其部署到Amazon Sagemaker或Azure ML , 以及管理Jupyter笔记本 。
如果您需要管理常规任务并想在Kubernetes上运行它们 , 请使用Argo 。如果您希望采用一种自以为是的方法来使用托管云平台管理机器学习生命周期 , 请使用MLFlow 。
Kubeflow 对比 MLFlow与诸如Airflow或Luigi之类的通用任务编排平台相比 , Kubeflow和MLFlow都是更小的 , 更专业的工具 。Kubeflow依赖Kubernetes , 而MLFlow是一个Python库 , 可帮助您将实验跟踪添加到现有的机器学习代码中 。Kubeflow允许您构建完整的DAG , 其中每个步骤都是Kubernetes窗格 , 但是MLFlow具有内置功能 , 可以将scikit学习模型部署到Amazon Sagemaker或Azure ML 。
没有银弹尽管所有这些工具都有不同的重点和优势 , 但是没有任何一种工具可以使您立即摆脱头痛的困扰 。在着手选择哪种工具之前 , 通常重要的是要确保您拥有良好的流程 , 包括良好的团队文化 , 无可指责的回顾和长期目标 。如果您遇到任何机器学习问题 , 请与我们联系 。我们喜欢说话的商店 , 您可以安排与我们首席执行官的免费电话 。
(本文翻译自Markus Schmitt的文章《Airflow vs. Luigi vs. Argo vs. MLFlow vs. KubeFlow》 , 参考:)