【问题标题】:What are the differences between airflow and Kubeflow pipeline?气流和 Kubeflow 管道有什么区别?
【发布时间】:2020-03-21 14:18:39
【问题描述】:

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

workflow orchestratorworkflow scheduler 有一个通用部分,可帮助用户构建 DAG、安排和跟踪实验、作业和运行。

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

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

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

【问题讨论】:

    标签: machine-learning workflow airflow kubeflow-pipelines


    【解决方案1】:

    您绝对可以使用 Airflow 来编排机器学习任务,但您可能希望通过操作员远程执行 ML 任务。

    例如,Dailymotion 使用 KubernetesPodOperator 为 ML 任务扩展 Airflow。

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

    在生产环境中进行机器学习时,理想情况下,您还希望对模型进行版本控制,以跟踪每次执行的数据、代码、参数和指标。

    您可以在Scaling Apache Airflow for Machine Learning Workflows找到有关本文的更多详细信息

    【讨论】:

    • 谢谢你的回复,看来我需要升级我的中号了,有没有其他的链接,可以参考一下。如何在 hadoop 上构建我们的 ML 管道
    • 抱歉链接。我更新了一个 Medium 朋友链接,以便您现在可以访问它。 Airflow 有利于创建工作流程,但随后可以远程完成工作。您可以使用不同的执行器和操作员来执行此操作,以便在其他平台(spark...)或基础架构(kubernetes 集群...)上启动工作
    【解决方案2】:

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

    Airflow 管道在 Airflow 服务器中运行(如果任务过于占用资源,可能会导致其停机),而 Kubeflow 管道在专用的 Kubernetes pod 中运行。此外,Airflow 管道被定义为 Python 脚本,而 Kubernetes 任务被定义为 Docker 容器。

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

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

    【讨论】:

    • Kubernetes 组件可以直接在 python / jupyter 中指定 - 而不仅仅是容器。也就是说,用户无需担心后台发生的 docker。虽然我想他们可以,如果他们愿意的话。
    猜你喜欢
    • 2021-07-31
    • 2020-03-11
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 2018-08-25
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多