架构
本指南介绍了Kubeflow生态系统,并解释了Kubeflow组件如何适应机器学习生命周期。
阅读介绍指南以了解有关Kubeflow、独立的Kubeflow组件和Kubeflow平台的更多信息。
Kubeflow 生态系统
下图概述了Kubeflow生态系统及其与更广泛的Kubernetes和AI/ML领域的关系。
Kubeflow 基于 Kubernetes 作为一个系统,用于部署、扩展和管理 AI/ML 基础设施。
介绍机器学习生命周期
当您开发和部署一个 AI 应用程序时,机器学习生命周期通常包括几个阶段。开发一个机器学习系统是一个迭代的过程。您需要评估机器学习生命周期各个阶段的输出,并在必要时对模型和参数进行更改,以确保模型持续产生您所需的结果。
下图按顺序显示了机器学习生命周期的各个阶段:
更详细地查看各个阶段:
在数据准备步骤中,您会摄取原始数据,执行特征工程以提取离线特征库的机器学习特征,并为模型开发准备训练数据。通常,这一步骤与数据处理工具如Spark、Dask、Flink或Ray相关联。
在模型开发步骤中,您选择一个机器学习框架,开发您的模型架构,并探索现有的预训练模型以进行微调,例如BERT或Llama。
在模型优化步骤中,您可以优化模型超参数,并使用各种AutoML算法(例如神经网络架构搜索和模型压缩)优化您的模型。在模型优化期间,您可以将ML元数据存储在模型注册表中。
在模型训练步骤中,您在大规模计算环境中训练或微调您的模型。如果单个GPU无法处理您的模型大小,则应使用分布式训练。模型训练的结果是您可以存储在模型注册表中的训练模型工件。
在模型服务步骤中,您为在线或批量推理提供模型工件。您的模型可以根据用例执行预测或生成AI任务。在模型服务步骤中,您可以使用在线特征库提取特征。您监控模型性能,并将结果反馈到机器学习生命周期的前一步骤中。
生产和开发阶段的机器学习生命周期
人工智能应用的机器学习生命周期可以在概念上分为 开发 和 生产 阶段,这个图表探讨了哪些阶段适合每个阶段:
Kubeflow 在机器学习生命周期中的组件
下图展示了Kubeflow组件在机器学习生命周期每个阶段的使用情况:
有关每个Kubeflow组件的更多信息,请参见以下链接:
Kubeflow Spark Operator 可用于数据准备和特征工程步骤。
Kubeflow Notebooks 可以用于模型开发和交互式数据科学,以实验您的 ML 工作流。
Kubeflow Katib 可用于模型优化和超参数调整,使用各种 AutoML 算法。
Kubeflow Trainer 可用于大规模分布式训练或LLM微调。
Kubeflow Model Registry 可以用来存储 ML 元数据、模型工件,以及为生产服务准备模型。
KServe 可以用于在线和批量推理 在模型服务步骤中。
Feast 可用作特征存储,并管理离线和在线特征。
Kubeflow Pipelines 可用于构建、部署和管理机器学习生命周期中的每个步骤。
您可以将大多数 Kubeflow 组件作为 独立工具 使用,并将它们集成到您现有的 AI/ML 平台中,或者您可以部署完整的 Kubeflow 平台 以获取所有 Kubeflow 组件,实现端到端的 ML 生命周期。
Kubeflow 接口
本节介绍您可以用来与Kubeflow交互以及在Kubeflow上构建和运行机器学习工作流的接口。
Kubeflow 用户界面 (UI)
Kubeflow中央仪表板看起来是这样的:

Kubeflow平台包含Kubeflow Central Dashboard,它充当您的机器学习平台和工具的中心,展示运行在集群中的组件的用户界面。
Kubeflow API和SDK
Kubeflow的各种组件提供API和Python SDK。
请参见以下参考文档:
- Pipelines 参考文档 适用于 Kubeflow Pipelines API 和 SDK,包括 Kubeflow Pipelines 特定领域语言 (DSL)。
- Kubeflow Python SDK与Kubeflow Trainer API交互并管理TrainJobs。
- Katib Python SDK 通过Python API管理Katib超参数调优实验。
下一步
- 按照 安装 Kubeflow 的步骤设置您的环境并安装 Kubeflow。