Argo Workflows 加速在 Kubernetes 上构建机器学习 Pipelines

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Argo Workflows 是 Kubernetes 上的工作流引擎,支持机器学习、数据处理、基础设施自动化及 CI/CD 等场景。作为 CNCF 毕业项目,其扩展性强、云原生轻量化,受到广泛采用。近期更新包括性能优化、调度策略增强、Python SDK 支持及 AI/大数据任务集成,助力企业高效构建 AI、ML、Data Pipelines。

本文整理自 KubeCon China 2025(Argo Workflows:Intro、Updates and Deep Dive)


640 - 2025-07-11T163136.668.png


Argo 是首屈一指的开源 MLOps 和 GitOps CNCF 项目。它的目标是扩展 Kubernetes 的边界,让 Kubernetes 做更多的事情。

在 2024 年的 Kuberntees 开源十周年之际,CNCF 进行了一次用户调查。Argo 被选为了最广泛采用的 Top 5 个毕业项目,毕业意味着符合用户使用的最高标准,而 Top 5 的毕业项目凸显了终端用户对 Argo 的喜爱。

与此同时,Argo 社区也在蓬勃发展,在 2024 年,Argo 吸引了超过 890 个贡献者作出贡献,在整个 CNCF 排名第三,仅次于 Kubernetes 和 Opentelemetry,可见 Argo 社区的繁荣与健康。

可以看到,Argo 不管在对终端用户、还是贡献者方面,都有着极大吸引力。显示了 Argo 在 Kubernetes 中独特的一个生态地位。


640 - 2025-07-11T163535.376.png


接下来着重来介绍下,Argo Project 的核心项目,也是 Argo Project 开源的首个项目 - Argo Workflows。

Argo Workflows 是专为 Kubernetes 设计的工作流引擎。能够在 Kubernetes 上编排不同类型的 Job。主要的使用场景包括,机器学习的 Pipeline(比如数据预处理、训练、离线推理等)、批量数据处理(数据清洗,数据收集)、基础设施的自动化(集群自动化升级、迁移等)、以及 CI/CD(比如应用自动化、构建、发布)等。

覆盖了需要提升效率,自动化的各种场景,是企业研发提升效率的利器。

左图是一个数据处理 map reduce 的示例,每个绿色的圆圈,代表一个任务。中间的四个代表并行执行。当提交完任务之后,就可以在控制台来观测任务的执行情况。


640 - 2025-07-11T163630.684.png


接下来看一下 Argo Workflows 的部署架构,如图所示,主要有两个部分:Argo UI 和 Workflow-Controller,Argo UI 用于接收请求和观测任务的运行。 用户可以通过 Argo CLI、Python 的 SDK、或者 Argo UI 直接提交任务。

任务定义为 Kubernetes 的一个 CRD,当 Watch 到任务提交后,Workflow-Controller 即会根据逻辑关系,逐步的创建每个 Pod,每个 pod 中包含三个 Container,InitContainer 来收集前面步骤的输出,MainContainer 来执行真正的任务,waitContainer 来观测 MainContainer 执行任务的状态,上报任务执行是否成功,和收集 MainContainer 的输出。

这样的架构使得每个任务的状态上报、输出文件收集等从中心的 controller 中解耦出来,相比传统的 DAG 引擎,更容易扩展。 加上其本身具有的云原生、轻量化的特点,受到了广大用户的喜爱。


640 - 2025-07-11T163734.004.png


这里是一个仿真 workflow 的定义,Kind 是 Workflow,Spec 主要由两个方面组成,一个是依赖关系,可以是串行的 Steps 或者复杂的 DAG,另一个是任务的 Template 的定义,其中包括使用的镜像、启动参数等,对应一个真实的 Pod。

比如这个例子,提交任务之后首先会找工作流入口 entrypoint:main,然后从 main template 执行任务,首先执行 data-process,调用的模板是下边的实际定义。 由于 run-simulate 依赖第一步的任务,所以 run-simlation 第二步执行,调用 simulation template。依次类推,执行完这个 Workflow 的每个任务。

接下来看下最近的更新:


640 - 2025-07-11T164239.737.png


首先是扩展性和性能上有了长足的进步。

有了以下一些增强:

  • 可以使用 Multiple Mutexes and Semaphores,更好的控制并发策略。
  • 在持久化时增加队列,减小压力。并行的 Pod 清理,在 retry 超大的 workflow 时非常有用。
  • 并行的 Artifacts 解析,加速任务执行。支持超大参数的执行,在复杂科学计算场景下非常有效。
  • 提供是否传送 events 的选项,减少压力。支持 namespace 级别的并发控制。

这是在性能和规模上的增强。


640 - 2025-07-11T164347.215.png


第二个增强是 Cron Workflows 方面,是 Argo Workflows 使用非常广泛的能力之一。

  • 支持了多个 cron scheduler 调度:可以在单个 Cron Workflow 中集成多个定时调度策略来进行工作流调度。
  • 增加停止策略:可以设定策略在特定情况下停止调度,可以避免定时工作流持续失败,导致集群中失败工作流积压。
  • When 表达式:在每次调度之前检查表达式是否为 true,提供了和 cron scheduler 更灵活的组合机制。

这个增强给用户提供了更灵活的调度策略。


640 - 2025-07-11T164524.717.png


第三个重要的更新是,PythonSDK Hera 正式被 Argo Workflows 社区接受为官方推荐的 Python 项目,意味着 Argo Workflows 的 Python 语言支持来到了新的阶段。

使用 Python 可以让数据科学家、研究员等熟悉 Python 的用户直接构建 Python Native 的工作流,提升研发效率和运维效率。

根据今年首次的用户报告,使用 Hera 的用户中超过 50% 是机器学习工程师和研发工程师,使用的场景中,批量数据处理和机器学习的 Pipeline 超过 70%,这进一步促进了 Argo Workflows 在 AI、MLPipeline 中的采用率。

下边是一个简单使用 Python 语言编写 Argo Workflows 的例子:


640 - 2025-07-11T164619.930.png


如上所示,可以用 Python 原生的方式构建 workflow,其中 echo 是原生的 python 函数,代表一个任务,用户可以在这里定义自己的数据处理、训练逻辑。

在 DAG 里面可以用这种双箭头构建逻辑关系。提交之后,即可在控制台看到如上的 workflow。

640 - 2025-07-11T164713.381.png

第四个重要的更新的是关于 AI、Bigdata 的。

通常,基于 Argo Workflows 构建机器学习 Pipelines 有三种方式。原生方式,(将数据处理、训练任务打报到镜像)最常使用的方式,第二种是通过 ResourceTemplate(将 ML 的任务定义嵌入到 tempate 中),第三种就是 Plugin 方式。

Plugin 是扩展 Argo Workflows 一种方式,用户可以不用等待社区的发布,自己定义和其他系统的集成。 在 AI、大数据场景,我们增加了多个 Plugin,包括 Spark、Ray、Pytorch 等,实现通过 Plugin 方式对主要 AI 任务类型进行编排。

接下来我们看一个编排 PytorchJob 的示例。


640 - 2025-07-11T164848.733.png


如图所示,用户使用 Argo Workflows 构建了一个机器学习的流水线,包括数据预处理、训练、分析等。其中,训练部分可以采用 Pytorch Job,这个时候 Argo 会在集群中创建一个 PytorchJob,并持续 watch 这个 PytorchJob 的状态。在集群中的 Train-Operator 观测到 PytorchJob 创建之后,即会创建相应的 pod 完成任务的训练,更新 Job 状态。

Argo 感知到这个 PytorchJob 完成后,就会开始后续的分析操作。从而完成整个的端到端的数据处理、训练和推理等。

右边是一个实际的例子,在 Argo Workflows 的模板里面写入采用 pytorch 的 plugin、并写入 PytorchJob 的具体定义,即可完成对 PytorchJob 任务的编排。


640 - 2025-07-11T165011.501.png

Argo Workflows 在全球有超过 200+ 的大型组织采用,其中包括大的互联网公司、制造业巨头、通信设备商、软件提供商等,覆盖了各行各业。

与此同时,我们也观测到,一些新兴的行业、场景,采用 Argo Workflows 的企业在极速上升。包括自动驾驶仿真、复杂的科学计算、金融量化回测、大模型的微调、无人机/机器人仿真、芯片研发、具身智能等新兴行业。

Argo Workflows 帮助这些新兴产业用户构建高效的 AI、ML、Data Pipelines,加速并行,提升产品研发和迭代效率。


640 - 2025-07-11T165119.549.png


Argo Workflows 通过在性能优化、调度策略、Python 场景拓展及 AI/ML 任务的集成,进一步提升在大规模机器学习、数据处理场景的能力。在自动驾驶、科学计算、大模型等多种新兴行业的大范围采用,显示了其在仿真、模拟、训练、数据处理等多个AI场景受到了用户的青睐。可以看出:Argo Workflows 正在帮助各行各业用户加速在 Kubernetes 上构建 Al、ML、Data Pipelines


Argo Workflows 项目

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3月前
|
存储 人工智能 运维
企业级MLOps落地:基于PAI-Studio构建自动化模型迭代流水线
本文深入解析MLOps落地的核心挑战与解决方案,涵盖技术断层分析、PAI-Studio平台选型、自动化流水线设计及实战构建,全面提升模型迭代效率与稳定性。
127 6
|
3月前
|
机器学习/深度学习 数据采集 分布式计算
阿里云PAI AutoML实战:20分钟构建高精度电商销量预测模型
本文介绍了如何利用阿里云 PAI AutoML 平台,在20分钟内构建高精度的电商销量预测模型。内容涵盖项目背景、数据准备与预处理、模型训练与优化、部署应用及常见问题解决方案,助力企业实现数据驱动的精细化运营,提升市场竞争力。
471 0
|
4月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
|
10月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1018 6
|
5月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
206 6
|
7月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
8月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
1372 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
8月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
207 14