机器学习平台是商业中的流行语之一,以促进开发 ML 或深度学习。
有一个通用部分工作流编排器或工作流调度器,可帮助用户构建 DAG、调度和跟踪实验、作业和运行。
有很多机器学习平台都有工作流编排器,比如Kubeflow pipeline、FBLearner Flow、Flyte
我的问题是气流和 Kubeflow 管道或其他 ML 平台工作流编排器之间的主要区别是什么?
而且气流支持不同语言的 API 并且拥有庞大的社区,我们可以使用气流来构建我们的 ML 工作流吗?
机器学习平台是商业中的流行语之一,以促进开发 ML 或深度学习。
有一个通用部分工作流编排器或工作流调度器,可帮助用户构建 DAG、调度和跟踪实验、作业和运行。
有很多机器学习平台都有工作流编排器,比如Kubeflow pipeline、FBLearner Flow、Flyte
我的问题是气流和 Kubeflow 管道或其他 ML 平台工作流编排器之间的主要区别是什么?
而且气流支持不同语言的 API 并且拥有庞大的社区,我们可以使用气流来构建我们的 ML 工作流吗?
您绝对可以使用 Airflow 来编排机器学习任务,但您可能希望通过操作员远程执行 ML 任务。
例如,Dailymotion 使用 KubernetesPodOperator 为 ML 任务扩展 Airflow。
如果您没有资源自己设置 Kubernetes 集群,则可以使用具有 Airflow 操作员的Valohai等 ML 平台。
在生产环境中进行 ML 时,理想情况下,您还希望对模型进行版本控制,以跟踪每次执行的数据、代码、参数和指标。
我的问题是气流和 Kubeflow 管道或其他 ML 平台工作流编排器之间的主要区别是什么?
Airflow 管道在 Airflow 服务器中运行(如果任务过于占用资源,可能会导致其停机),而 Kubeflow 管道在专用的 Kubernetes pod 中运行。Airflow 管道也被定义为 Python 脚本,而 Kubernetes 任务被定义为 Docker 容器。
而且气流支持不同语言的 API 并且拥有庞大的社区,我们可以使用气流来构建我们的 ML 工作流吗?
是的,您可以,例如,您可以使用 Airflow DAG 在 Kubernetes pod 中启动训练作业以运行模拟 Kubeflow 行为的 Docker 容器,您会错过 Kubeflow 的一些 ML 特定功能,例如模型跟踪或实验。