2 kubeflow系统架构 学习笔记

1 Kubeflow生态系统

在这里插入图片描述

2 生态系统说明

2.1. Hardware(硬件层)

  • 提供计算资源的底层硬件支持。GPU(如NVIDIA)通常用于加速机器学习和深度学习的计算任务,而Intel和AMD则可能提供CPU计算资源。

2.2. Infrastructure(基础设施层)

  • Kubernetes : Kubeflow的核心基础设施,负责容器编排和管理,使得分布式系统的管理变得更简单和自动化。
  • Istio : 服务网格技术,提供微服务间的流量管理、安全、监控和服务治理功能。
  • Dex : 用于身份认证管理,确保用户和服务之间的安全交互。
  • Kaptain : 一种AI/ML平台,用于简化和加速AI模型的开发、训练和部署。
  • AWS, Azure, Google Cloud, Local, Self Hosted, Public Cloud : 提供部署环境。

2.3. 组件和外部插件

  • Kubeflow Pipelines : 用于定义、管理和执行机器学习工作流。帮助用户中创建、共享和复用机器学习工作流。
  • Kubeflow Notebooks : 提供了互动式环境(如Jupyter Notebooks),用于数据科学家和研究人员执行探索性数据分析和模型开发。
  • Central Dashboard : 提供一个中心化的用户界面,帮助用户管理和监控Kubeflow的各种组件和工作流。
  • Training Operator : 支持分布式训练的操作组件,帮助用户在集群中并行训练模型。
  • Katib : 用于自动超参数调优,帮助用户找到最优的模型参数配置。
  • MPI Operator : 支持分布式计算中的MPI(Message Passing Interface)任务,通常用于大规模并行计算。
  • KServe : 以前称为KFServing,用于部署和管理机器学习模型的推理服务,确保模型能够被可靠地服务和扩展。
  • Model Registry : 模型注册组件,用于存储、版本化和管理模型,便于模型的重用和协作。
  • Spark Operator : 使用户能够在Kubernetes集群上运行Apache Spark任务,支持大规模数据处理和分析。
  • External Add-Ons(外部插件) :
    - Feast : 特征存储,用于管理和服务机器学习模型所需的特征数据。
    - Elyra : 提供了用于数据科学项目的开发工具,如图形化的工作流编辑器和代码笔记本的管理。
    - BentoML : 一个开源平台,帮助用户将机器学习模型打包为可部署的服务,并简化部署过程。

2.4. Integrations(集成层)

  • JupyterLab, RStudio, VSCode : 提供机器学习开发的集成开发环境(IDE),方便用户编写、测试和调试代码。
  • PyTorch, TensorFlow, XGBoost, etc. : 这些是常用的机器学习框架,Kubeflow与这些框架深度集成,支持用户在这些框架上开发和部署模型。
  • Optuna, Hyperopt : 用于超参数优化,帮助用户更快地找到最佳模型配置。
  • Horovod, MPI, etc. : 提供分布式训练支持,使得大规模机器学习任务能够在多个节点上高效运行。

3 机器学习生命周期

当开发和部署 AI 应用程序时,ML 生命周期通常包含多个阶段。开发 ML 系统是一个迭代过程,需要评估 ML 生命周期各个阶段的输出,并在必要时对模型和参数进行更改,以确保模型持续产生您需要的结果。
在这里插入图片描述

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

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

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

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

e. 在模型服务步骤中,为在线或批量推理提供模型工件。您的模型可能会根据用例执行预测性或生成性 AI 任务。在模型服务步骤中,您可以使用在线特征存储来提取特征。您可以监控模型性能,并将结果输入到 ML 生命周期中的先前步骤中。

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

在这里插入图片描述

5 ML生命周期中的Kubeflow组件

在这里插入图片描述

  1. Kubeflow Spark Operator可用于数据准备和特征工程步骤。
  2. Kubeflow Notebooks可用于模型开发和交互式数据科学,以试验您的 ML 工作流程。
  3. Kubeflow Katib可用于使用各种 AutoML算法进行模型优化和超参数调整。
  4. Kubeflow Training Operator可用于大规模分布式训练或微调。
  5. Kubeflow 模型注册表可用于存储 ML 元数据、模型工件以及准备用于生产服务的模型。 KServe可用于模型服务步骤中的在线和批量推理。
  6. Feast可以用作功能商店并管理离线和在线功能。
  7. Kubeflow Pipelines可用于构建、部署和管理 ML生命周期中的每个步骤。

6 Kubeflow用户界面

在这里插入图片描述

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值