Kubeflow文档1:介绍与架构

news2024/11/24 16:42:07

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的文档。

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

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

相关文章

【Hello,PyQt】QTextEdit和QSplider

PyQt5 是一个强大的Python库,用于创建图形用户界面(GUI)。其中,QTextEdit 控件作为一个灵活多用的组件,常用于显示和编辑多行文本内容,支持丰富的格式设置和文本操作功能。另外,QSlider 控件是一…

java数据结构与算法刷题-----LeetCode1091. 二进制矩阵中的最短路径

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 广度优先双分裂蛇 广度优先双分裂蛇 双分裂蛇:是求二…

上门家政按摩H5小程序源码

《服务器环境配置》 1、服务器环境:CentOS7 宝塔 Nginx php 2、环境:PHP7.2 MySQL5.6 3、安装扩展:fileinfo、redis 《程序安装配置》 1、新建站点及数据库,然后申请创建SSL证书,配置到站点,开启强…

LeetCode Python - 84. 柱状图中最大的矩形

目录 题目描述解法方法一方法二 运行结果方法一方法二 题目描述 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights …

“崖山数据库杯”深圳大学程序设计竞赛(正式赛)M题 一图秒

“崖山数据库杯”深圳大学程序设计竞赛(正式赛)_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com) —————— 可以去牛客看题解: 题解 | #暂时没想法#_牛客博客 (nowcoder.net) —————— 上面的就是题解了。…

CKS之安全沙箱运行容器:gVisor

目录 一、gVisor介绍 二、gVisor架构 三、gVisor使用前置条件 四、Docker中使用gVisor 五、containerd中使用gVisor 六、Kubernetes结合gVisor使用 一、gVisor介绍 gVisor是Google开源的一种容器沙箱技术,其设计初衷是在提供较高安全性的同时,尽量…

文本文件操作

大家好&#xff1a; 衷心希望各位点赞。 您的问题请留在评论区&#xff0c;我会及时回答。 文件操作 程序运行时&#xff0c;产生的数据都是临时数据&#xff0c;程序一旦运行结束都会被释放。通过文件可以将数据持久化。 C中对文件进行操作需要包含头文件<fstream> 文件…

语音识别:基于HMM

HMM语音识别的解码过程 从麦克风采集的输入音频波形被转换为固定尺寸的一组声学向量&#xff1a; 其中是维的语音特征向量&#xff08;例如MFCC&#xff09;。 解码器尝试去找到上述特征向量序列对应的单词&#xff08;word&#xff09;的序列&#xff1a; 单词序列的长度是。…

是德科技keysight N9000B 信号分析仪

181/2461/8938产品概述&#xff1a; 工程的内涵就是将各种创意有机地联系起来&#xff0c;并解决遇到的问题。 CXA 信号分析仪具有出色的实际性能&#xff0c;它是一款出类拔萃、经济高效的基本信号表征工具。 它的功能十分强大&#xff0c;为一般用途和教育行业的用户执行测试…

罗永浩直播阿里云服务器是哪款?ECS经济型e实例性能如何?

罗永浩直播卖阿里云&#xff0c;带货爆款云服务器ECS经济型e实例是什么&#xff1f;阿里云服务器ECS经济型e实例的使命是什么&#xff1f;一般来讲&#xff0c;学生、开发者和小微企业主要使用云服务器主要开展网站建设、开发测试和业务灾备、搭建小程序后端服务、Web应用、云上…

量化交易入门(三十三)BIAS指标实现和回测

接下来我们还是用苹果股票2020年1月1日到2023年12月30日的历史数据进行回测&#xff0c;看看这个指标的效果如何&#xff0c;具体回测结果如下&#xff1a; 策略运行结果及解读 执行的结果&#xff1a; Starting Portfolio Value: 100000.00 Final Portfolio Value: 186723.0…

git基本操作二(小白快速上手)

1、前言 接上篇我们接着来继续讲 2、.gitignore忽略文件 创建一个.gitignore文件&#xff0c;并将其置于项目的根目录下&#xff0c;Git将自动识别并根据该规则忽略相应的文件和目录。 # 忽略所有的 .log 文件 *.log# 但跟踪所有的 build.log 文件 !build.log# 忽略所有的 /lo…

Visual Studio 2022 中 Qt 开发环境的搭建

Visual Studio 2022 中 Qt 开发环境的搭建 Visual Studio 2022 中 Qt 开发环境的搭建 Visual Studio 2022 中 Qt 开发环境的搭建 点击扩展&#xff0c;并选择管理扩展。 搜索qt&#xff0c;下载并安装 Qt Visual Studio Tools。 安装完成后&#xff0c;点击扩展&#xff0c;会…

pytorch常用的模块函数汇总(1)

目录 torch&#xff1a;核心库&#xff0c;包含张量操作、数学函数等基本功能 torch.nn&#xff1a;神经网络模块&#xff0c;包括各种层、损失函数和优化器等 torch.optim&#xff1a;优化算法模块&#xff0c;提供了各种优化器&#xff0c;如随机梯度下降 (SGD)、Adam、RMS…

基于SpringBoot的“校园台球厅人员与设备管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“校园台球厅人员与设备管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 系统首页界面图…

信息工程大学第五届超越杯程序设计竞赛(同步赛)题解

比赛传送门 博客园传送门 c 模板框架 #pragma GCC optimize(3,"Ofast","inline") #include<bits/stdc.h> #define rep(i,a,b) for (int ia;i<b;i) #define per(i,a,b) for (int ia;i>b;--i) #define se second #define fi first #define e…

YOLOv8算法改进【NO.111】利用shift-wise conv对顶会提出EMO中的iRMB进行二次创新

前 言 YOLO算法改进系列出到这&#xff0c;很多朋友问改进如何选择是最佳的&#xff0c;下面我就根据个人多年的写作发文章以及指导发文章的经验来看&#xff0c;按照优先顺序进行排序讲解YOLO算法改进方法的顺序选择。具体有需求的同学可以私信我沟通&#xff1a; 首推…

Vue + .NetCore前后端分离,不一样的快速发开框架

摘要&#xff1a; 随着前端技术的快速发展&#xff0c;Vue.NetCore框架已成为前后端分离开发中的热门选择。本文将深入探讨Vue.NetCore前后端分离的快速开发框架&#xff0c;以及它如何助力开发人员提高效率、降低开发复杂度。文章将从基础功能、核心优势、适用范围、依赖环境等…

Qt for WebAssembly 环境搭建 - Windows新手入门

Qt for WebAssembly 环境搭建 - Windows新手入门 一、所需工具软件1、安装Python2、安装Git2.1 注册Github账号2.2 下载安装Git2.2.1配置Git&#xff1a;2.2.2 配置Git环境2.2.3解决gitgithub.com: Permission denied (publickey) 3 安装em编译器 二、Qt配置编译器三、参考链接…

wireshark 使用

wireshark介绍 wireshak可以抓取经过主机网卡的所有数据包&#xff08;包括虚拟机使用的虚拟网卡的数据包&#xff09;。 环境安装 安装wireshark: https://blog.csdn.net/Eoning/article/details/132141665 安装网络助手工具&#xff1a;https://soft.3dmgame.com/down/213…