2 kubeflow系统架构 学习笔记

news2024/11/28 7:39:48

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用户界面

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2062570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

线程池【详解】

线程池 1、 线程池概念 如果有非常多的任务需要非常多的线程来完成,每个线程的工作时间不长,就需要创建很多线程,工作完又立即销毁[线程频繁创建和销毁线程] 频繁创建和销毁线程非常消耗性能,那么线程池,就是可以创建一些线程,放在"池子"中,用的时候去池子取一个线…

RJ45网口链接器和PCB板结构再生产上需要注意那些方面

华强盛电子导读:工程技术前面199中间2643后面0038 关于网口和PCB板板结合插件会出现几个问题 ...网口的尺寸结构,PCB板板的孔位小,这里强调,建议孔位开大一点,便于生产插件方便。 在插件生产过程中,RJ45网…

免费批量自动校正图片、PDF文档方向工具

功能介绍:批量自动识别图片和PDF文档页面方向,并校正为正确阅读方向(非倾斜纠偏) jpg校正演示 #修复exif信息导致的jpg图像显示和实际旋转不一致问题 #增加图像DPI选项,优先原图或者固定DPI,但这些只会对产生旋转的图…

qss的border-image和background-image和background-coloor和color

如果你的图片和按钮一样大,譬如40X40,那么两者都可以。 如果你的图片和按钮不一样大,用border-image会填充或者拉伸缩放以自适应按钮。 background-image则不会。 所以一般情况下,使用border-image会更合适。 border-image&…

深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)

目录 🍔 前言 🍔 图像基础知识 1. 像素和通道的理解 2. 小节 🍔 卷积层 1. 卷积计算 2. Padding 3. Stride 4. 多通道卷积计算 5. 多卷积核卷积计算 6. 特征图大小 7. PyTorch 卷积层 API 7. 小节 🍔 池化层 1. 池…

openlayers+vite+vue3加载离线地图并实现初始化(一)

前景提示:本文主要讲解使用vite工具构建的项目,利用openlayers实现离线地图的主要一些功能,包括初始化地图、打点、画线、弹窗等等,这些后续有时间会持续为大家更新,本文主要阐述如何实现其首要功能离线地图的初始化。…

linux系统删除文件后,可用率没变,磁盘还是满的

linux系统磁盘清理排查 前言排查解决 前言 某天更新服务时,发现服务怎么也上传不了,原因是磁盘空间不足,这很简单,直接找到大文件删除rm -rf 即可,但是我删除之后,df -h 发现磁盘空间一点变化都没有&#…

Unity XR Interaction Toolkit 通过两个手柄控制物体放大缩小

1:给物体添加 XR General Grab Transformer 脚本 2:XR Grab Interactable 的 select mode 选择 Multiple

基于Burp爆破验证码

目录 基于Burp爆破验证码 一、验证码识别 二、爆破 1、访问登录请求并发送至intruder模块 2、访问验证码url并将截取的请求发送至captcha-killer模块 3、intruder模块设置 3、爆破结果 4、使用burp完成上述操作,存在以下问题: 基于Burp爆破验证码…

Transformer系列-6丨LRNet和Stand-Alone Self-Attention网络解析

0. 前言 本次主要分享之前看的两篇将自注意力机制self-attention应用在视觉感知任务的文章,分别为LRNet和Stand-alone self-attention。为了深化读者的理解,本文提供了较为详细的中文注释的代码。 首先了解一下这两篇文章的背景,其都是在Vi…

【CSP:202309-1】坐标变换(其一)(Java)

题目链接 202309-1 坐标变换(其一) 题目描述 求解思路 直接暴力模拟即可。 实现代码 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);int n, m;n in.nextInt();m in.…

Python 实现自定义异常

在Python编程中,异常处理是保证程序健壮性的重要机制。Python提供了一些内置的异常类,如ValueError、TypeError、IndexError等,开发者可以直接使用这些类来捕获和处理程序运行中出现的各种错误。然而,某些场景下,内置的…

破晓之战:物流“三剑客”扬帆东南亚

【潮汐商业评论/原创】 70公里的曼谷至春武里省之旅,在日常或许只是一趟轻松的自驾。但对于“美美”服装的员工来说,这却成了一场午夜时分的紧急挑战。 忙碌了一整天的她,直到凌晨才猛然想起,VIP客户的货物必须在清晨前送达春武…

Android.bp和Android.mk文件有的区别

文章目录 1. 构建系统2. 语法和格式3. 可维护性和扩展性4. 编译效率5. 未来趋势 在Android的构建系统中, Android.mk和 android.bp是用于定义如何编译项目文件的两种文件类型,它们有一些显著的区别。 1. 构建系统 Android.mk:使用于基于GN…

软考高级考完了,怎么评职称?

首先祝贺您成功获得了软考高级证书,拥有了高级证书意味着具备了申请高级职称的资格!这样就不会因为缺乏资格而错失申请空缺岗位评职称的机会。接下来,我将帮助您处理申请高级职称的事宜!如果对您有帮助,请不要忘记点赞…

本地生活服务商系统如何利用本地推获得更多曝光?

随着本地生活赛道中的竞争愈演愈烈,越来越多的本地生活服务商和本地生活商家开始计划着通过在本地推等平台投放相关信息,以提高品牌店铺的曝光量和知名度。不过,就目前的情况来看,绝大多数人都陷入了一种“投入多,转化…

创客匠人标杆对话(上):她如何通过“特长+赛道”实现财富升级

老蒋创客圈第64期对话标杆直播连麦,本期我们邀请到【iAMU蒙特梭利翻转星球】平台创始人申晓慧老师。 为我们揭秘“如何挖掘人生首个百万,实现财富升级?”,深度分享如何提炼用户痛点,高效引流新用户?如何通…

构建基于LLM的应用程序——为您的应用程序选择合适的LLM

。 在本章中,将引导您完成为应用程序选择合适LLM的过程。我们将涵盖以下几个主题: 市场上最具前景的LLM概览比较LLM时应使用的主要标准和工具规模与性能之间的权衡 在本章结束时,您应该能够清楚地理解如何为您的应用程序选择合适的LLM&…

18款各具特色的项目管理系统软件,项目经理用过都说好!

项目管理是指在项目活动中运用专门的知识、技能、工具和方法,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望的过程。 简单来说,项目管理系统就像是交响音乐会指挥手中的乐谱,能为项目经理清晰地呈现出项目的各个音符…

第十二章 迁移学习-实战宝可梦精灵

文章目录 一、Pokemon数据集1.1 数据集收集1.2 数据集划分1.3 数据集加载1.4 数据预处理1.5 pytorch自定义数据库实现 二、ResNet网络搭建三、训练与测试四、迁移学习4.1 pytorch实现迁移学习 一、Pokemon数据集 1.1 数据集收集 # git下载 git lfs install git clone https://…