Airflow和Kubeflow Pipeline有什么区别?

14

机器学习平台是业务中的热门词汇之一,为了加速发展ML或Deep learning。

常见的部分包括工作流编排器工作流调度器,可帮助用户构建DAG,安排和跟踪实验、任务和运行。

许多机器学习平台都有工作流编排器,例如Kubeflow pipelineFBLearner FlowFlyte

我的问题是airflow与Kubeflow pipeline或其他ML平台工作流编排器之间的主要区别是什么?

而且airflow支持不同语言的API并拥有庞大的社区,我们可以使用airflow来构建我们的ML工作流吗?

2个回答

7
你绝对可以使用Airflow来编排机器学习任务,但你可能想要使用操作符远程执行ML任务。
例如,Dailymotion使用KubernetesPodOperator来扩展用于ML任务的Airflow。
如果你没有资源自己设置Kubernetes集群,你可以使用像Valohai这样具有Airflow操作符的ML平台。
在生产中进行ML时,理想情况下,你还希望对模型进行版本控制,以跟踪每次执行的数据、代码、参数和指标。
你可以在Scaling Apache Airflow for Machine Learning Workflows文章中找到更多详细信息。

谢谢您的回复,看来我需要升级我的中级账户。还有其他相关链接吗?这样我可以参考一下。关于在Hadoop上构建我们的ML管道,您有什么建议吗? - Kevin Su
很抱歉给您带来链接的不便。我已经更新为 Medium 的友情链接,以便您现在可以访问它了。Airflow 适用于创建工作流程,但是工作可以远程完成。您可以使用不同的执行器和运算符,在其他平台(如 Spark …)或基础设施(如 Kubernetes 群集…)上启动工作。 - arimbr

4
我的问题是Airflow和Kubeflow管道或其他ML平台工作流编排器之间的主要区别是什么?
Airflow管道在Airflow服务器上运行(如果任务过于资源密集,则有使其崩溃的风险),而Kubeflow管道在专用的Kubernetes pod中运行。此外,Airflow管道被定义为Python脚本,而Kubernetes任务被定义为Docker容器。
而且,Airflow支持不同语言API,并拥有庞大的社区,我们可以使用Airflow来构建我们的ML工作流吗?
可以,例如,您可以使用Airflow DAG在Kubernetes pod中启动训练作业,以运行模拟Kubeflow行为的Docker容器,但您将错过来自Kubeflow的某些特定于ML的功能,如模型跟踪或实验。

1
Kubernetes组件可以在纯python / jupyter中指定,而不仅仅是容器。也就是说,用户不需要担心发生在幕后的Docker。虽然我想如果他们愿意的话,他们也可以关注它。 - jtlz2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接