气流和Kubeflow管道之间有什么区别?

时间:2019-11-26 08:03:29

标签: machine-learning workflow airflow kubeflow-pipelines

机器学习平台是商业流行语之一,目的是促进ML或深度学习的发展。

有一个工作流程协调器工作流程调度程序的共同部分,可以帮助用户构建DAG,安排和跟踪实验,作业和运行。

有许多具有工作流程协调器的机器学习平台,例如Kubeflow pipelineFBLearner FlowFlyte

我的问题是气流与Kubeflow管道或其他ML平台工作流程协调器之间的主要区别是什么?

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

2 个答案:

答案 0 :(得分:1)

您绝对可以使用Airflow来安排机器学习任务,但是您可能想与操作员远程执行ML任务。

例如,Dailymotion使用KubernetesPodOperator缩放ML任务的气流。

如果您没有资源来自己设置Kubernetes集群,则可以使用具有Airflow运算符的ML平台,例如Valohai

在生产中进行ML时,理想情况下,您还希望对模型进行版本控制,以跟踪每次执行的数据,代码,参数和度量。

您可以在Scaling Apache Airflow for Machine Learning Workflows

上找到有关此文章的更多详细信息

答案 1 :(得分:0)

<块引用>

我的问题是气流和气流之间的主要区别是什么 Kubeflow 管道或其他 ML 平台工作流编排器?

Airflow 管道在 Airflow 服务器中运行(如果任务资源过于密集,则存在将其关闭的风险),而 Kubeflow 管道在专用的 Kubernetes pod 中运行。此外,Airflow 管道定义为 Python 脚本,而 Kubernetes 任务定义为 Docker 容器。

<块引用>

并且气流支持不同语言的API并且拥有庞大的社区, 我们可以使用气流来构建我们的机器学习工作流程吗?

是的,您可以,例如,您可以使用 Airflow DAG 在 Kubernetes pod 中启动训练作业,以运行模拟 Kubeflow 行为的 Docker 容器,您将错过 Kubeflow 的一些 ML 特定功能,例如模型跟踪或实验。