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

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

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

相关文章

毕设论文目录设置

添加目录 选择一种格式的自动目录 更新目录 发现该目录中只有1、2章,3、4章 然后再点击更新目录 对应的,小标题添加二级目录

数据库之MyBatisPlus详解

MyBatisPlus MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 官网地址:https://baomidou.com/ 一、入门案…

C++学习随笔(8)——模板初阶

本章我们来学习一下C的模版部分! 目录 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.1 函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3. 类模板 3.1 类模板的定义格式 3.2 类模板的实例化 1. 泛型编程 如何实现一个通…

精通Go语言文件上传:深入探讨r.FormFile函数的应用与优化

1. 介绍 1.1 概述 在 Web 开发中,文件上传是一项常见的功能需求,用于允许用户向服务器提交文件,如图像、文档、视频等。Go 语言作为一门强大的服务器端编程语言,提供了方便且高效的方式来处理文件上传操作。其中,r.F…

(完结)Java项目实战笔记--基于SpringBoot3.0开发仿12306高并发售票系统--(三)项目优化

本文参考自 Springboot3微服务实战12306高性能售票系统 - 慕课网 (imooc.com) 本文是仿12306项目实战第(三)章——项目优化,本篇将讲解该项目最后的优化部分以及一些压测知识点 本章目录 一、压力测试-高并发优化前后的性能对比1.压力测试相关…

探索C语言中的联合体和枚举:让处理数据更加得心应手

✨✨小新课堂开课了,欢迎欢迎~✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:http://t.csdnimg.cn/Oytke 小新的主页:编程版小新-CSDN博客 C语言中有内置类型, 比如&…

2024年云计算使用报告,89%组织用多云,25%广泛使用生成式AI,45%需要跨云数据集成,节省成本是云首要因素

备注:本文来自Flexera2024年的云现状调研报告的翻译。原报告地址: https://info.flexera.com/CM-REPORT-State-of-the-Cloud Flexera是一家专注于做SaaS的IT解决方案公司,有30年发展历史,5万名客户,1300名员工。Flex…

​数据结构—栈操作经典案例

括号匹配&#xff1a; 这是我最开始写的&#xff0c;运行有问题 对于输入的括号序列&#xff0c;建议使用标准的 C 字符串而不是字符数组。 #include<iostream> using namespace std;typedef char SelemType; typedef int Status; #define OK 1 #define MAXSIZE 100 #…

Qt5.14.2 程序的华丽开场,让Splash窗口释放无限可能!

作为一款有追求的优秀软件&#xff0c;启动时的那个小小的Splash窗口可谓是程序的形象大使&#xff0c;它展现着软件精雕细琢的品味和非凡的待客之道。今天&#xff0c;就让我们一同领略Qt对这个"开场小品"的深谙之道——Splash窗口设计&#xff0c;感受一番Qt大神们…

Python数据分析九

一、Python之列表操作方法remove和pop 在Python中&#xff0c;列表还提供了其他一些常用的操作方法&#xff0c;例如删除指定元素和弹出&#xff08;移除并返回&#xff09;指定位置的元素。其中&#xff0c;remove()方法用于删除列表中第一个匹配的元素&#xff0c;而pop()方…

python基础——异常捕获【try-except、else、finally】

&#x1f4dd;前言&#xff1a; 这篇文章主要介绍一下python基础中的异常处理&#xff1a; 1&#xff0c;异常 2&#xff0c;异常的捕获 3&#xff0c;finally语句 &#x1f3ac;个人简介&#xff1a;努力学习ing &#x1f4cb;个人专栏&#xff1a;C语言入门基础以及python入门…

【C++】右值引用

目录 前言&#xff1a;一、左值引用和右值引用1.1 什么是左值和左值引用1.2 什么是右值和右值引用 二、左值引用和右值引用比较三、右值引用使用场景3.1 传值返回使用场景3.2 移动构造3.3 移动赋值3.4 STL容器接口也增加右值引用3.5 完美转发 前言&#xff1a; 引用是给对象取…

HarmonyOS 应用开发之模型切换

本文介绍如何将一个FA模型开发的声明式范式应用切换到Stage模型&#xff0c;您需要完成如下动作&#xff1a; 工程切换&#xff1a;新建一个Stage模型的应用工程。 配置文件切换&#xff1a;config.json切换为app.json5和module.json5。 组件切换&#xff1a;PageAbility/Serv…

不同的batch_size对精度和损失的影响研究

1 问题 不同的batch_size对训练集和验证集的精度和损失的影响有多大&#xff1f; 2 方法 通过设置不同batch_size算出不同batch_size对应的训练集精度、训练集损失和验证集的精度和损失&#xff0c;通过数据可视化将精度和损失展示出来&#xff0c;比较出不同batch_size对他们的…

CTK插件框架学习-插件注册调用(03)

CTK插件框架学习-新建插件(02)https://mp.csdn.net/mp_blog/creation/editor/136923735 一、CTK插件组成 接口类&#xff1a;对外暴露的接口&#xff0c;供其他插件调用实现类&#xff1a;实现接口内的方法激活类&#xff1a;负责将插件注册到CTK框架中 二、接口、插件、服务…

文生视频大模型Sora的复现经验

大家好&#xff0c;我是herosunly。985院校硕士毕业&#xff0c;现担任算法研究员一职&#xff0c;热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名&#xff0c;CCF比赛第二名&#xff0c;科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的…

Web墨卡托投影和普通墨卡托投影是一样的吗?Web墨卡托投影与EPSG:3857坐标系的关系,EPSG:3857坐标系和EPSG:4326坐标系有什么区别?

Web墨卡托投影和普通墨卡托投影在本质上是相同的,但它们在坐标范围使用单位和应用领域上存在一些区别: 坐标范围: 普通墨卡托投影的坐标范围通常在整个地球表面上,由于使用浮点数表示,所以不限制其范围。Web墨卡托投影的坐标范围通常被限制在一个固定的范围内,以适应Web地…

BFS专题

1、BFS解决FloodFill算法 1、1图像渲染 733. 图像渲染 - 力扣(LeetCode) class Solution {typedef pair<int,int> PII;int dx[4] = {0,0,1,-1};int dy[4] = {1,-1,0,0}; public:vector<vector<int>> floodFill(vector<vector<int>>& i…

RIP环境下的MGRE 综合实验

实验题目及要求&#xff1a; 1.R5为ISP&#xff0c;只能进行IP地址配置&#xff0c;其所有地址均配为公有IP地址 2.R1和R5间使用PPP的PAP认证&#xff0c;R5为主认证方; R2于R5之间使用PPP的chap认证&#xff0c;R5为主认证方&#xff1b; R3于R5之间使用HDLC封装。 3.R1/…

python保存中间变量(学习笔记)

python保存中间变量 原因&#xff1a; 最近在部署dust3r算法&#xff0c;虽然在本地部署了&#xff0c;也能测试出一定的结果&#xff0c;但是发现无法跑很多图片&#xff0c;为了能够测试多张图片跑出来的模型&#xff0c;于是就在打算在autodl上部署算法&#xff0c;但是由…