架构

Kubeflow架构概述

本指南介绍了Kubeflow生态系统,并解释了Kubeflow组件如何适应机器学习生命周期。

阅读介绍指南以了解有关Kubeflow、独立的Kubeflow组件和Kubeflow平台的更多信息。

Kubeflow 生态系统

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

An architectural overview of Kubeflow on Kubernetes

Kubeflow 基于 Kubernetes 作为一个系统,用于部署、扩展和管理 AI/ML 基础设施。

介绍机器学习生命周期

当您开发和部署一个 AI 应用程序时,机器学习生命周期通常包括几个阶段。开发一个机器学习系统是一个迭代的过程。您需要评估机器学习生命周期各个阶段的输出,并在必要时对模型和参数进行更改,以确保模型持续产生您所需的结果。

下图按顺序显示了机器学习生命周期的各个阶段:

ML Lifecycle

更详细地查看各个阶段:

  • 数据准备步骤中,您会摄取原始数据,执行特征工程以提取离线特征库的机器学习特征,并为模型开发准备训练数据。通常,这一步骤与数据处理工具如Spark、Dask、Flink或Ray相关联。

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

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

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

  • 模型服务步骤中,您为在线或批量推理提供模型工件。您的模型可以根据用例执行预测或生成AI任务。在模型服务步骤中,您可以使用在线特征库提取特征。您监控模型性能,并将结果反馈到机器学习生命周期的前一步骤中。

生产和开发阶段的机器学习生命周期

人工智能应用的机器学习生命周期可以在概念上分为 开发生产 阶段,这个图表探讨了哪些阶段适合每个阶段:

ML Lifecycle with Development and Production

Kubeflow 在机器学习生命周期中的组件

下图展示了Kubeflow组件在机器学习生命周期每个阶段的使用情况:

Kubeflow Components in ML Lifecycle

有关每个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 Central Dashboard - Homepage

Kubeflow平台包含Kubeflow Central Dashboard,它充当您的机器学习平台和工具的中心,展示运行在集群中的组件的用户界面。

Kubeflow API和SDK

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

请参见以下参考文档:

下一步

反馈

此页面有帮助吗?