Kubeflow文档1:介绍与架构

Kubeflow 2024/3/19版本的文档

此专栏用来展示相关的内容翻译,重点关注本地部署,关于运营商的方案,请自行查阅

文档地址https://www.kubeflow.org/docs/

开始编辑时间:2024/3/27;最后编辑时间2024/3/27

Kubeflow文档1:介绍与架构


介绍

Kubeflow介绍

Kubeflow项目致力于在Kubernetes上简化、可移植和扩展机器学习(ML)工作流的部署。我们的目标不是重新创建其他服务,而是为ML部署最佳开源系统提供直观的方式,以适应不同的基础设施。只要您在运行Kubernetes,您就应该能够运行Kubeflow。

下图显示了主要的Kubeflow组件,涵盖了在Kubernetes上每个ML生命周期步骤的过程。

在这里插入图片描述

什么是kubeflow

Kubeflow是用于Kubernetes的机器学习工具包。

要使用Kubeflow,基本工作流程如下:

  1. 下载并运行Kubeflow部署二进制文件。
  2. 自定义生成的配置文件。
  3. 运行指定的脚本将您的容器部署到您的特定环境中。

您可以调整配置以选择用于ML工作流每个阶段的平台和服务:

  • 数据准备
  • 模型训练
  • 预测服务
  • 服务管理

您可以选择在本地、本地设备上,或者云环境中部署您的Kubernetes工作负载。

kubeflow的任务

我们的目标是尽可能简化机器学习(ML)模型的扩展和部署到生产环境中,通过让 Kubernetes 发挥其优势:

  1. 在多样化的基础设施上进行简单、可重复、可移植的部署(例如,在笔记本上进行实验,然后移动到本地集群或云端)
  2. 部署和管理松耦合的微服务
  3. 根据需求进行扩展 由于 ML 从业者使用各种各样的工具,其中一个关键目标是根据用户需求(在合理范围内)定制堆栈,并让系统处理“无聊的事情”。虽然我们已经开始使用一套狭窄的技术,但我们正在与许多不同的项目合作,以包含更多的工具。

最终,我们希望拥有一组简单的清单,让您能够在任何已经运行 Kubernetes 的地方轻松使用 ML 堆栈,并且可以根据部署的集群自动配置。

历史

Kubeflow起初是将Google内部运行TensorFlow的方式开源化的一种方式,基于一个名为TensorFlow Extended的流水线。它最初只是一种在Kubernetes上运行TensorFlow作业的简单方式,但现已扩展为一个多架构、多云的框架,用于运行端到端的机器学习工作流程。

路线图

Kubeflow的未来路线图,参考Kubeflow roadmap.

下面的组件也有路线图:

  • Kubeflow Pipelines
  • KF Serving
  • Katib
  • Training Operator

架构

架构章节的内容过时了,但是官方还没有更新,我会在更新后及时更新博客内容

Kubeflow架构一览

Kubeflow 是一个用于开发和部署机器学习系统的平台。对于想要构建和测试机器学习流水线的数据科学家来说,Kubeflow 是一个很好的选择。同时,对于机器学习工程师和运维团队来说,Kubeflow 也适用于将机器学习系统部署到各种环境中,包括开发、测试和生产级别的服务。

概念一览

Kubeflow是针对Kubernetes的机器学习工具包。

以下图表显示了Kubeflow作为一个平台,用于在Kubernetes上安排机器学习系统的组件:

在这里插入图片描述

Kubeflow基于Kubernetes构建,用于部署、扩展和管理复杂系统。使用Kubeflow配置界面(见下文),您可以指定工作流程所需的ML工具。然后,您可以将工作流程部署到各种云端、本地和本地平台上,用于实验和生产用途。

介绍ML工作流

当您开发和部署机器学习系统时,机器学习工作流通常包括几个阶段。开发机器学习系统是一个迭代过程。您需要评估机器学习工作流的各个阶段的输出,并在必要时对模型和参数进行更改,以确保模型能够产生您需要的结果。

为简单起见,以下图表显示了工作流阶段的顺序。工作流的末端箭头指向回流,表示这个过程的迭代性质。

在这里插入图片描述

在机器学习工作流程中,有两个主要阶段:实验阶段和生产阶段。

实验阶段的详细步骤如下:

  1. 确定要让机器学习系统解决的问题。
  2. 收集和分析训练机器学习模型所需的数据。
  3. 选择一个机器学习框架和算法,并编写模型的初始版本。
  4. 对数据进行实验,并训练模型。
  5. 调整模型的超参数,以确保处理最有效率并获得最准确的结果。

生产阶段的详细步骤如下:

  1. 将数据转换成训练系统所需的格式。为了确保模型在训练和预测过程中行为一致,转换过程在实验阶段和生产阶段必须相同。
  2. 训练机器学习模型。
  3. 将模型提供给在线预测或批处理运行。
  4. 监控模型的性能,并将结果反馈到调整或重新训练模型的过程中。

ML工作流中的Kubeflow组件

下面的图将Kubeflow添加到工作流中,显示了在每个阶段哪些Kubeflow组件是有用的:

在这里插入图片描述

Kubeflow包含用于生成和管理Jupyter笔记本的服务。使用笔记本进行交互式数据科学和实验机器学习工作流程。

Kubeflow Pipelines是一个基于Docker容器构建、部署和管理多步骤机器学习工作流程的平台。

Kubeflow提供了几个组件,您可以使用这些组件在多个平台上构建机器学习训练、超参数调整和模型服务工作负载。

特定ML工作流的例子

以下图表展示了一个简单的特定机器学习工作流程示例,您可以使用它来训练并提供一个在MNIST数据集上训练的模型:

在这里插入图片描述

Kubeflow接口

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

Kubeflow用户接口 (UI)

如下所示:

在这里插入图片描述

UI 提供了一个中央仪表板,您可以使用它来访问您的 Kubeflow 部署的组件。

Kubeflow APIs和SDKs

Kubeflow提供了各种组件的API和Python SDK参考文档,包括以下内容:

  1. Pipelines reference docs:涵盖Kubeflow Pipelines API和SDK,包括Kubeflow Pipelines领域特定语言(DSL)的文档。
  2. Fairing reference docs:涵盖Kubeflow Fairing SDK的文档。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

记录echarts各种地图json文件下载地址

今日绘图需要用到echarts的地图json文件,但是github上已经找不到了,后发现伟大的网友提供了地址如下:Index of /examples/data/asset/geohttps://echarts.apache.org/examples/data/asset/geo/ 免费下载实时更新的geoJson数据、行政区划边界…

【正点原子FreeRTOS学习笔记】————(4)FreeRTOS中断管理

这里写目录标题 一、什么是中断?(了解)二、中断优先级分组设置(熟悉)三、中断相关寄存器(熟悉)四、FreeRTOS中断管理实验(掌握) 一、什么是中断?(…

leetCode刷题 20. 有效的括号

目录 题目: 1. 思路 2. 解题方法 3. 复杂度 4. Code 题目: 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型…

docker部署音乐播放下载器

可播放及下载音乐的工具 musicn 下载镜像 docker pull ghcr.m.daocloud.io/wy580477/musicn-container:latest创建数据目录 mkdir -p /data/musicdocker-compose部署 vim docker-compose.yml version: 3 services:musicn:container_name: musicnimage: ghcr.io/wy580477/m…

短信系统后台搭建要注意什么|网页版短信平台开发

在搭建短信系统后台时,需要注意以下几个关键方面,以确保系统的稳定性、安全性和高效性: 选择合适的技术栈:根据项目需求和团队实际情况选择合适的后端开发语言和框架,如Java Spring、Node.js、Python Django等。 系统…

深入理解React的setState机制

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

耳目一新的滑块版登录注册界面~

又到了毕业季,大家做毕设的时候总会参考已有的案例,不过大多产品的样式非常单一雷同。本帖博主给大家分享一个比较别树一帜的登录界面,如下: 如果没有账号,点击“去注册”,则会产生如下的效果: …

【Linux 08】进程概念

文章目录 🌈 01. 基本概念🌈 02. 描述进程 PCB🌈 03. 使用 ./ 的方式创建进程🌈 04. ps 查看进程🌈 05. getpid / getppid 获取进程标识符🌈 06. kill 终止指定进程🌈 07. fork 创建子进程&…

设置asp.net core WebApi函数输入和返回类型中的属性名称开头大小写格式

以下列类型定义为例创建简单的ASP.NET Core的WebApi函数,此时输入参数和返回结果的属性名称开头默认为小写,如下图所示。 public class UserInfo { public string UserName { get; set; }public string UserSex { get; set; }public string UserP…

利用瑞士军刀netcat建立连接并实现文件上传

实验环境: Kali:192.168.117.129 Windows10:192.168.135.142 第一步:建立连接 在Windows上下载netcat(官网搜索) 下载好之后在netcat目录打开cmd进入小黑屏 实验一:建立虚拟机与主机的连接 命令: Kali:nc 192.168.135.144…

观成科技:白象组织BADNEWS木马加密通信分析总结报告

概述 白象,又名Hangover、Patchwork、摩诃草等,该组织主要针对中国、巴基斯坦等亚洲地区国家进行网络间谍活动,攻击目标以政府机构、科研教育领域为主。 自16年起,该APT组织一直持续使用攻击武器BADNEWS开展攻击活动&#xff0c…

C++:变量和常量(3)

变量 什么是变量:变量就是一个装东西的盒子 通俗:变量是用于存放数据的容器。我们通过变量名获取数据,甚至数据可以修改 变量的作用:给指定的内存空间起名,后期通过起的名字就可以调用整个内存空间 定义变量的格式 &a…

Jenkins--在Linux上使用Docker安装

一、Jenkins 简介 Jenkins是一个流行的开源自动化服务器,用于持续集成和持续交付(CI/CD)。Jenkins的核心功能主要包括以下几点: 持续集成:Jenkins可以监控版本控制系统(如Git、SVN)中的代码变…

pytorch+tensorboard

安装依赖 pip install teorboard pip install torch_tb_profiler了解teorboard 记录并可视化标量[组]、图片[组]。 如何使用 第一步:构建模型,记录中间值,写入summarywriter 每次写入一个标量add_scalar 比如: from torch.utils.tensorboard import SummaryWriter wr…

三、阅读器开发--4、阅读器目录、全文搜索功能开发

1、阅读器目录 1.1、实现目录 先实现目录的布局 定义一个蒙版,充满整个屏幕浮在阅读器上方,左侧为目录右侧为背景,目录下方包含一个tab,点击后会切换不同的内容,这里tab是目录、书签,这里可以通过如下的…

华为设备配置攻击防范

组网需求 如图1所示,如果局域网内存在Hacker向RouterA发起畸形报文攻击、分片报文攻击和泛洪攻击,将会造成RouterA瘫痪。为了预防这种情况,管理员希望通过在RouterA上部署各种攻击防范措施来为用户提供安全的网络环境,保障正常的…

【Canvas与艺术】模拟八一电影制片厂电影片头效果

【缘起】 八一厂每部电影前都有其专有开头&#xff0c;如&#xff1a;https://www.ixigua.com/6799821997258834440?logTag2eacce76401e13f9efe7 这个片头可以用canvas模拟下来。 【关键点】 线型放射状粒子系统的运作。 立体感五角星的绘制。 【图例】 【代码】 <!D…

springBoot+ureport报表引擎

UReport是一款基于单元格迭代模型的纯Java中式报表引擎。它架构于Spring之上&#xff0c;因此与企业应用具有良好的集成能力。UReport提供了基于Eclipse插件与基于网页的两种报表模版设计方式&#xff0c;采用类Excel报表模版设计风格&#xff0c;简单、易上手&#xff0c;可在…

Nginx配置静态代理/静态资源映射时root与alias的区别,带前缀映射用alias

场景 Nginx搭建静态资源映射实现远程访问服务器上的图片资源&#xff1a; Nginx搭建静态资源映射实现远程访问服务器上的图片资源_nginx 当作图片资源访问 博客-CSDN博客 以上在配置静态资源映射时使用的如下配置 location / {root D:/pic_old/;try_files $uri $uri/ /ind…

游戏开发笔记:游戏海外版本时区问题(解释时区问题,分解为js写法和lua写法来分析记录,整理出对应语言的相关函数方法。)

对于海外游戏而言,与时间相关的功能,都不能忽略时区的计算。根据 ‘ 服务端资源是有限的,客户端资源是无穷无尽的 ’的定义来说,基本上时区包括时间的计算都是由客户端来进行计算,今天内容也是围绕客户端来展开。 时区算法常见的时间描述时区需要计算的点在lua语言中的写…