kubeflow文档-介绍与架构

1. kubeflow介绍

     Kubeflow项目致力于使机器学习(ML)工作流在Kubernetes上的部署变得简单、可移植和可扩展。目标不是重新创建其他服务,而是提供一种直接的方法,将ML的开源系统部署到不同的基础设施中。无论在哪里运行Kubernetes,都能够运行Kubeflow。

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

1.1 What is Kubeflow?

     Kubeflow是用于Kubernetes的机器学习工具包。要使用Kubeflow,基本工作流程是:

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

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

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

     可以选择在本地或云环境中部署Kubernetes工作负载。

1.2 Kubeflow任务

        目标是通过让Kubernetes做擅长的事情,扩展机器学习(ML)模型并尽可能简单将其部署到生产中:

  • 在多样化的基础设施上可以简单、可重复、可移植的部署(例如,在笔记本电脑上进行实验,然后移到本地集群或云)
  • 部署和管理松散耦合的微服务
  • 根据需求进行扩展

        由于ML从业者使用各种各样的工具,其中一个关键目标是根据用户需求(在合理的范围内)定制堆栈,并让系统处理“无聊的东西”。虽然开始时使用的技术范围很窄,但是我们正在处理许多不同的项目,以包括额外的工具。

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

2. 架构

        该文档介绍了 Kubeflow 作为开发和部署机器学习(ML)系统的平台。Kubeflow是一个可以为想要构建和实验ML流水线的数据科学家提供的平台。Kubeflow 也为机器学习工程师和运营团队提供服务,将机器学习系统部署到不同的环境中进行开发、测试和生产级服务。

        Kubeflow是Kubernetes的ML工具包。
        下图显示了Kubeflow作为一个平台,用于在Kubernetes上部署ML系统的组件:

        Kubeflow 构建于 Kubernetes 之上,作为部署、扩展和管理复杂系统的系统。使用Kubeflow配置接口(见下文),您可以指定工作流所需的ML工具。然后,您可以将工作流部署到各种云、本地和内部平台,以便进行试验和生产使用。


2.1 介绍ML工作流

        在开发和部署机器学习系统时,机器学习工作流通常由几个阶段组成。开发机器学习系统是一个迭代的过程。您需要评估机器学习工作流程各个阶段的输出,并在必要时对模型和参数应用更改,以确保模型持续产生您需要的结果。

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

        在机器学习工作流程中包含实验阶段和生产阶段。

  A. 在实验阶段,基于初始假设开发模型,并反复测试和更新模型以产生你想要的结果:

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

  B. 在生产阶段,您部署了一个执行以下过程的系统:

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

2.2 ML工作流的Kubeflow组件

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

        要了解更多信息,请阅读以下 Kubeflow 组件指南:

  • Kubeflow 包括用于生成和管理  Jupyter notebooks 的服务。使用 noteboks 进行交互式数据科学和机器学习工作流的实验。
  • Kubeflow Pipelines 是一个基于 Docker 容器构建、部署和管理多步骤 ML 工作流的平台。
  • Kubeflow 提供了几个组件,您可以使用它们来构建机器学习培训、超参数调优和跨多个平台服务工作负载。

2.3 ML工作流的例子

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

3. 安装 kubeflow

        无论您在哪里运行Kubernetes,都应该能够运行Kubeflow。安装Kubeflow主要有两种方法:

  1. Packaged Distributions
  2. Raw Manifests (advanced users)

 3.1 Install with a single command

GitHub - kubeflow/manifests at v1.8-branch

        while ! kustomize build example | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 10; done

参考:

  https://www.kubeflow.org/docs/started/introduction/  

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

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

相关文章

【408真题】2009-10

“接”是针对题目进行必要的分析,比较简略; “化”是对题目中所涉及到的知识点进行详细解释; “发”是对此题型的解题套路总结,并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材(2025版&…

【数据结构】-- 相交链表-环形链表

交叉链表 . - 力扣(LeetCode) 如果链表的两条链的长度一样,链表两端对齐,解决这个问题将会变得非常简单,直接分别遍历两个链表,想等时的节点即为所求。我们想办法让链表对齐--分别从a和b遍历链表&#xff…

群晖NAS本地搭建Bitwarden密码管理服务并实现远程同步密码托管

文章目录 1. 拉取Bitwarden镜像2. 运行Bitwarden镜像3. 本地访问4. 群晖安装Cpolar5. 配置公网地址6. 公网访问Bitwarden7. 固定公网地址8. 浏览器密码托管设置 Bitwarden是一个密码管理器应用程序,适用于在多个设备和浏览器之间同步密码。自建密码管理软件bitwarde…

数字人解决方案——AniTalker声音驱动肖像生成生动多样的头部说话视频算法解析

1.概述 AniTalker是一款先进的AI驱动的动画生成工具,它超越了简单的嘴唇同步技术,能够精准捕捉并再现人物的面部表情、头部动作以及其他非言语的微妙动态。这不仅意味着AniTalker能够生成嘴型精准同步的视频,更重要的是,它还能够…

增强型植被指数EVI、ndvi数据、NPP数据、GPP数据、土地利用数据、植被类型数据、降雨量数据

引言 多种卫星遥感数据反演增强型植被指数(EVI)产品是地理遥感生态网推出的生态环境类数据产品之一,产品包括1986-2021年度月度数据,数据类型tif栅格数据。该产品经过专家组验证,质量良好。 正文 栅格数据源 数据名…

CentOS使用Docker搭建Nacos结合内网穿透实现无公网IP远程登录本地管理平台

文章目录 1. Docker 运行Nacos2. 本地访问Nacos3. Linux安装Cpolar4. 配置Nacos UI界面公网地址5. 远程访问 Nacos UI界面6. 固定Nacos UI界面公网地址7. 固定地址访问Nacos Nacos是阿里开放的一款中间件,也是一款服务注册中心,它主要提供三种功能:持久化…

Windows 11 下 kafka 的安装踩坑

安装 windows系统kafka小白入门篇——下载安装,环境配置,入门代码书写(推荐) kafka在windows下安装和使用入门教程 问题1 参考链接 运行kafka集成的zookeeper时,命令:bin\windows\zookeeper-server-star…

计算机毕业设计Python+Spark知识图谱课程推荐系统 课程预测系统 课程大数据 课程数据分析 课程大屏 mooc慕课推荐系统 大数据毕业设计

1 绪 论 1.1 课题研究背景 在线教育学习平台是学生用来进行校内或校外拓展课程学习的平台,平台需要具备在线视频观看,作业提交,形成性考核等功能。在学生学习的过程中,学校的管理者或负责教师需要了解学生的学习情况和学习状态&…

Python | Leetcode Python题解之第87题扰乱字符串

题目: 题解: class Solution:def isScramble(self, s1: str, s2: str) -> bool:cachedef dfs(i1: int, i2: int, length: int) -> bool:"""第一个字符串从 i1 开始,第二个字符串从 i2 开始,子串的长度为 le…

百面算法工程师 | 正则优化函数——BN、LN、Dropout

本文给大家带来的百面算法工程师是正则优化函数,文章内总结了常见的提问问题,旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中,我们将总结一些BN、LN、Dropout的相关知识,并提供参考的回答及其理论基础,以…

git使用及github

文章目录 操作命令基本组成框架在开发中git分支的重要性 github的使用将本地仓库关联到远程仓库将远程仓库关联到本地和拉取指定分支、切换远程分支提交本地仓库到远程仓库修改分支名称 保存当前工作切换分支将别的分支修改转移到自己的分支远程删除分支后本地git branch -a依然…

Qt-FFmpeg开发-打开摄像头直接显示YUYV422图像(12)

Qt-FFmpeg开发-打开摄像头直接显示YUYV422图像📀 文章目录 Qt-FFmpeg开发-打开摄像头直接显示YUYV422图像📀1、概述📸2、实现效果💽3、主要代码🔍4、完整源代码📑 更多精彩内容👉个人内容分类汇…