架构

Kubeflow 架构概览

本指南介绍 Kubeflow 生态系统,并解释 Kubeflow 组件如何融入 ML 生命周期。

阅读介绍指南,详细了解 Kubeflow、独立 Kubeflow 组件和 Kubeflow 平台。

Kubeflow 生态系统

以下图表概述了 Kubeflow 生态系统及其与更广泛的 Kubernetes 和 AI/ML 领域的关联。

Kubeflow Ecosystem Diagram

Kubeflow 构建在Kubernetes之上,后者是用于部署、扩展和管理 AI/ML 基础设施的系统。

ML 生命周期简介

开发和部署 AI 应用时,ML 生命周期通常包含多个阶段。开发 ML 系统是一个迭代过程。您需要评估 ML 生命周期各个阶段的输出,并在必要时修改模型和参数,以确保模型持续产生所需的结果。

以下图表按顺序展示了 ML 生命周期的各个阶段

ML Lifecycle

更详细地查看这些阶段

  • 数据准备步骤中,您摄取原始数据,执行特征工程以为离线特征存储提取 ML 特征,并准备用于模型开发的训练数据。通常,此步骤与数据处理工具(如 Spark、Dask、Flink 或 Ray)相关联。

  • 模型开发步骤中,您选择一个 ML 框架,开发您的模型架构,并探索现有预训练模型进行微调,例如 BERT 或 Llama。

  • 模型优化步骤中,您可以使用各种 AutoML 算法(如神经架构搜索和模型压缩)优化模型超参数并优化您的模型。在模型优化期间,您可以将 ML 元数据存储在模型注册表中。

  • 模型训练步骤中,您在大型计算环境中训练或微调您的模型。如果单个 GPU 无法处理您的模型大小,您应该使用分布式训练。模型训练的结果是经过训练的模型工件,您可以将其存储在模型注册表中。

  • 模型服务步骤中,您将模型工件用于在线或批量推理。根据用例,您的模型可以执行预测或生成式 AI 任务。在模型服务步骤中,您可以使用在线特征存储来提取特征。您监控模型性能,并将结果反馈到 ML 生命周期中的前几个步骤。

生产和开发阶段的 ML 生命周期

AI 应用的 ML 生命周期可以在概念上分为开发生产阶段,此图表探讨了哪些阶段适合每个阶段

ML Lifecycle with Development and Production

ML 生命周期中的 Kubeflow 组件

下图展示了 Kubeflow 组件在 ML 生命周期各个阶段的应用

Kubeflow Components in the ML Lifecycle

有关每个 Kubeflow 组件的更多信息,请参阅以下链接

  • Kubeflow Spark Operator可用于数据准备和特征工程步骤。

  • Kubeflow 笔记本可用于模型开发和交互式数据科学,以便试验您的 ML 工作流。

  • Kubeflow Katib可用于模型优化和超参数调优,支持各种 AutoML 算法。

  • Kubeflow 训练器可用于大规模分布式训练或 LLM 微调。

  • Kubeflow 模型注册表可用于存储 ML 元数据、模型工件,并准备模型用于生产服务。

  • KServe可用于模型服务步骤中的在线和批量推理。

  • Feast可用作特征存储,并管理离线和在线特征。

  • Kubeflow 流水线可用于构建、部署和管理 ML 生命周期中的每个步骤。

您可以将大多数 Kubeflow 组件用作独立工具并将其集成到您现有的 AI/ML 平台中,或者您可以部署完整的Kubeflow 平台来获取所有 Kubeflow 组件以实现端到端的 ML 生命周期。

Kubeflow 接口

本节介绍可用于与 Kubeflow 交互以及在 Kubeflow 上构建和运行 ML 工作流的接口。

Kubeflow 用户界面 (UI)

Kubeflow 中央仪表盘如下所示

Kubeflow Central Dashboard - Homepage

Kubeflow 平台包含Kubeflow 中央仪表盘,它通过暴露集群中运行的组件 UI,作为 ML 平台和工具的中心。

Kubeflow API 和 SDK

Kubeflow 的各种组件提供 API 和 Python SDK。

请参阅以下参考文档集

下一步

反馈

此页面是否有帮助?


最后修改日期:2025 年 3 月 29 日:website: Add dark theme (#3981) (4f092f1)