千家信息网

Kubeflow使用Kubernetes进行机器学习的方法

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本篇内容主要讲解"Kubeflow使用Kubernetes进行机器学习的方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Kubeflow使用Kubern
千家信息网最后更新 2025年02月03日Kubeflow使用Kubernetes进行机器学习的方法

本篇内容主要讲解"Kubeflow使用Kubernetes进行机器学习的方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Kubeflow使用Kubernetes进行机器学习的方法"吧!

女主宣言

Kubeflow是Google推出的基于kubernetes环境下的机器学习组件,通过Kubeflow可以实现对TFJob等资源类型定义,可以像部署应用一样完成在TFJob分布式训练模型的过程。本文简单的介绍了Kubeflow及其安装流程。

1

背景简介

在介绍Kubeflow之前, 先简单介绍下真正的机器学习模型服务上线都需要经历哪些阶段,如下图所示:

上图的每种颜色代表对一个阶段的处理,可以看出一个机器学习模型上线对外提供服务要经过:数据清洗验证,数据集切分, 训练,构建验证模型, 大规模训练,模型导出,模型服务上线, 日志监控等阶段。Tensorflow 等计算框架解决了最核心的部分问题,但是距离生产化,产品化,以及企业级机器学习项目开发,还有一段距离。比如: 数据收集, 数据清洗, 特征提取, 计算资源管理, 模型服务, 配置管理, 存储, 监控, 日志等等。

2

Kubeflow核心组件简介

  • jupyter 多租户NoteBook服务

  • Tensorflow/[PyTorch] 当前主要支持的机器学习引擎

  • Seldon 提供在Kubernetes上对机器学习模型的部署

  • TF-Serving 提供对Tensorflow模型的在线部署,支持版本控制及无需停止线上服务,切换模型等功能

  • Argo 基于Kubernetes的工作流引擎

  • Ambassador 对外提供统一服务的网关(API Gateway)

  • Istio 提供微服务的管理,Telemetry收集

  • Ksonnet Kubeflow使用ksonnet来向kubernetes集群部署需要的k8s资源

Kubeflow利用Kubernetes的优势

  • 原生的资源隔离

  • 集群化自动化管理

  • 计算资源(CPU/GPU)自动调度

  • 对多种分布式存储的支持

  • 集成较为成熟的监控,告警


将机器学习各个阶段涉及的组件以微服务的方式进行组合并以容器化的方式进行部署,提供整个流程各个系统的高可用及方便的进行扩展。

3

Kubeflow 部署安装

服务器配置

  • GPU卡型号: Nvidia-Tesla-K80

  • 网卡: 千兆(注意:在进行对大数据集进行训练时,千兆的网卡会是瓶颈)

cephfs服务配置

网卡:万兆(注意:通过ceph对数据存储时,ceph集群需要与Kubernetes同机房,否则延迟会对加载数据集的影响非常高)

软件环境

  • kubernetes version: v1.12.2(注意: 需要安装kube-dns)

  • kubeflow version: v0.3.2

  • jsonnet version: v0.11.2

安装ksonnet

安装Kubeflow


当上面的所有安装步骤都正常完成之后,先查看kubeflow在kubernetes集群deployment资源对象的启动状态:

通过状态我们发现现在服务启动正常,在查看下各个deployment下各个服务的pod的状态:

现在服务都是正常的,接下来让我们通过Ambassador来访问kubeflow部署到k8s集群中的各个组件。

访问Kubeflow UIs


由于Kubeflow使用Ambassador作为kubeflow统一的对外网关,其它的内部服务都是通过使用它来对外提供服务。具体如下图所示:

接下来我们使用kubectl的port-forwarding来对Ambassador Service进行端口转发,在本地对Kubeflow进行访问:

通过浏览器进行本地localhost:8080访问:

通过Kubeflow UIs可以针对不同的功能进行使用,如使用Jupyter Notebook进行对应用的全过程计算:开发、文档编写、运行代码和展示结果。也可以访问TF-operator来对基于Tensorflow的模型进行多机多卡的分布式训练。

4

总结

现在国外的Google,微软,亚马逊,Intel以及国内的阿里云,华为云等等公司都在发力Kubeflow,并结合kubernetes对多种机器学习引擎进行多机多卡的大规模训练,这样可以做到对GPU资源的整合,并高效的提高GPU资源利用率,及模型训练的效率。并实现一站式服务,将机器学习服务上线的整个workflow都在Kubernetes平台实现。减轻机器学习算法同学的其它学习成本,专心搞算法。这势必给Devops的同学带来更高的挑战。


到此,相信大家对"Kubeflow使用Kubernetes进行机器学习的方法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

服务 学习 机器 模型 资源 数据 训练 集群 方法 组件 阶段 对外 管理 分布式 引擎 状态 网卡 存储 支持 监控 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全监管员是什么职位 硕士论文知网查重的数据库范围 plc如何获取数据库数据 svg和sql数据库 数据库应用程序设计大赛作品 浅谈网络安全产品的分类 完善网络技术的牛鼻子是指 禹州网络安全进社区 派申网络技术有限公司 网络安全手抄报字少简单a4 深圳市城信鑫网络技术有限公司 数据库怎么卸载干净重新下载 互联网服务器由谁来管理 计算机网络技术项目体会 时空服务器沙雕图片 成都养老机构软件开发 医保药师代码数据库动态维护台 福建加厚图腾服务器机柜 华为国产服务器价格 数据库有多大 山东省网络技术 专科计算机网络技术单招题 sql数据库按时间先后排序 郑州网络安全管理培训 网络安全法指南 闵行区智能化软件开发专业服务 数据库数据类型括号里的数字 初中毕业了学网络技术 国家网络安全研究所负责人 access数据库数学模型
0