技术指南

Kubeflow 和 ML 管道编排

Kubeflow 是一个开源工具包,可在 Kubernetes 上运行机器学习工作流程,将模型训练和部署转变为可重复的容器化管道。

阅读时间:2分钟最后更新

概述

It matters because it lets teams scale ML the same way they scale modern cloud software.

深入探讨

Kubeflow 最初是作为在 Kubernetes 上运行 TensorFlow 的一种方式 Google 开始的,然后发展成为一个更广泛的平台。其核心思想是机器学习工作流程的每个步骤(例如数据准备、训练、评估和服务)作为 Kubernetes Pod 内的容器化组件运行。 Kubeflow Pipelines (KFP) 允许您将这些步骤表达为有向无环图 (DAG):每个节点都是一个独立的容器,边定义数据依赖性。由于 Kubernetes 处理调度、扩展和资源分配,因此管道可以请求 GPU 进行训练并在之后释放它们。其他组件包括用于超参数调整的 Katib、用于模型服务的 KServe 和笔记本服务器。回报是可重复性、跨云的可移植性以及独立扩展各个步骤的能力。

技术洞察

Kubeflow 管道将 Python DSL 编译为 Argo Workflows YAML 规范。每个组件都成为一个容器,它读取输入并将输出作为工件写入,并通过 MinIO 或 S3 等共享对象存储在步骤之间传递。 Kubernetes 调度每个 Pod,根据组件的请求附加 GPU 或 CPU 资源。控制平面缓存步骤输出,因此在重新运行时会跳过未更改的步骤,从而节省计算并使大型 DAG 变得高效。

战略影响

成本与预算

多年来,架构决策决定着性能和运营成本。

更清晰的判决

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。

质量控制

更好的工程选择可以减少生产中的可靠性事故。

Kubeflow 和 ML Pipeline Orchestration 的未来

Kubeflow 正在围绕 KFP v2 进行整合,并与用于服务的 KServe 和用于调整的 Katib 进行更紧密的集成,并更好地支持跨多个 GPU 的大型模型的分布式训练。期待对特征存储、模型注册和 LLM 微调工作流程有更深入的了解。随着 CNCF 下项目的成熟,趋势是更简单的安装、团队的多租户以及在本地和主要云提供商之间干净移植的标准化管道定义。

现实世界的实施

一家零售商安排了一条每晚的 Kubeflow 管道,用于提取销售数据、重新训练需求预测模型,并将其推送到 KServe 进行推理。

研究实验室使用 Katib 在 GPU 集群上运行数百个并行超参数试验,自动选择最佳配置。

银行构建了一个可重复的欺诈检测管道,其中每次合规审计都可以从缓存的工件中重新运行确切的训练步骤。

一家初创公司在 Kubeflow 上使用笔记本服务器,因此数据科学家可以制作原型模型,无需重写代码即可直接进入生产管道。

风险与防护栏

优化一项基准测试可以隐藏更广泛的系统弱点。

基础设施和维护成本常常被低估。

随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

实施路线图

1

在实施之前定义延迟、质量和成本目标。

2

在实际负载和数据条件下进行基准测试。

3

仪器监控错误、漂移和用户影响。

4

在扩展之前准备回滚和事件响应路径。

不断探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Kubeflow and ML Pipeline Orchestration quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

开始测验

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

下一个指南

GPU调度和集群编排

常见问题

What is Kubeflow and ML Pipeline Orchestration?

Kubeflow 是一个开源工具包,可在 Kubernetes 上运行机器学习工作流程,将模型训练和部署转变为可重复的容器化管道。这很重要,因为它可以让团队像扩展现代云软件一样扩展机器学习。

Kubeflow 在什么底层平台上运行机器学习工作流程?

Kubeflow 是专门为在 Kubernetes 上运行 ML 工作流程而构建的,利用其调度和扩展功能。

在 Kubeflow Pipelines 中,工作流程的每个步骤通常是如何打包的?

每个管道步骤都是一个独立的容器,在 Kubernetes Pod 内运行,输入和输出作为工件传递。

Kubeflow 管道使用什么结构来表达步骤的顺序和依赖关系?

管道表示为 DAG,其中节点是组件,边表示它们之间的数据依赖关系。

哪个 Kubeflow 组件专用于自动超参数调整?

Katib 是 Kubeflow 的超参数优化和神经架构搜索组件,可并行运行许多试验。

为什么 Kubeflow 管道在重新运行时可以有效地跳过某些步骤?

控制平面缓存输出,因此输入未更改的步骤将被跳过,从而节省重新运行时的计算量。