当前的IT界有两大“高速列车”,

一个是以Kubernetes为标杆技术的云计算,另一个是以TensorFlow、PyTorch等为代表的机器学习

二者相辅相成、相互促进,共同引领IT技术飞速发展。

如何使机器学习更好地在基于Kubernetes的云平台上运行,成了近年IT行业的热点话题,也是各大IT公司试图解决的重要问题。在这样的背景下Kubeflow横空出世!

Kubeflow的诞生为Kubernetes生态系统画上了绚丽的一笔,对机器学习工程师来说,可谓雪中送炭。其有效地连接起了机器学习和云计算两大领域,一时之间成了“兵家必争之地”

01 Kubeflow是什么?

Kubeflow并不是一种技术,它实际上是一些技术的组合,涉及机器学习的方方面面。

Kubeflow从2017年开始在Google内部使用,于2018年初开源,只用了一年时间,就发展成了能够运行整个机器学习Pipelines的多架构、多云框架。

官方对Kubeflow的定义如下:Kubeflow 是 Kubernetes 的机器学习工具包,是一个为Kubernetes构建的简单、可组合、便携式、可扩展的机器学习技术栈,作用是方便机器学习的工作流部署。

简而言之,Kubeflow犹如一座桥梁,连接起了云计算的标杆技术Kubernetes和机器学习的主流框架。

02 Kubeflow名字从何而来?

在最初命名时,Kubeflow的前半部分来自Kubernetes,后半部分来自Tensor**Flow**。

但目前看来,flow代表的不止是TensorFlow,而是所有AI平台,包括PyTorch、MXNet、XGBoost等,因为Kubeflow社区支持大部分机器学习框架,所以我们可以将flow理解为“流”技术的统称。

03Kubeflow能做什么?

Kubeflow能够发展这么迅速,正是因为这份“桥梁”的作用提供了AI在Kubernetes云平台上实现端到端的解决方案,给云计算增加了一个重要的应用场景,使机器学习可以更加迅速地发力,大大缩短了机器学习的周期,极大地提高了机器学习的效率,降低了数据科学家和机器学习工程师的维护成本。

Kubeflow的出现,为数据科学家和机器学习工程师节省了搭建平台和处理流程等工作,使用者只需将主要的精力放到自己的业务逻辑上,如编写机器学习代码(Kubeflow可以协助节省部分精力)、进行特殊数据处理等,对于其他工作,如与平台相关的工作,都可以交给Kubeflow完成。除了平台部署的相关工作,Kubeflow还会做一些如Katib可以负责超参调优、KFServing可以负责模型发布和模型解释等工作,对机器学习有很大的辅助和促进作用。

那么有人会问:机器学习不就是模型训练吗,为什么需要在Kubernetes云平台上运行呢,在一台性能比较好、带有GPU或TPU的机器上直接训练模型不就行了?

在真实的生产环境中,模型训练只是机器学习流程中一个很小的模块,而大部分工作是模型训练之外的工作,如平台的搭建和配置、数据收集、数据检查、数据转换、模型分析、监控、日志收集和分析、服务发布和更新、迁移训练等。Kubeflow可以辅助完成节省模型训练之外的工作。

机器学习的组成模块

比如在进行模型训练时,如果仅仅使用性能比较好的机器进行模型训练,则只能满足实验室阶段的要求,在真实的生产环境中,模型较大,并且层析较深,很难通过单机在有效的时间内完成模型训练或迁移,需要集群“作战”,进行分布式训练,集群一般部署在云计算平台上,Kubeflow社区中的tf-operator项目正是负责在Kubernetes云平台上进行分布式模型训练的。

从上图我们也可以看出,机器学习要经过多个步骤才能完成,而后面的步骤需要前面步骤的结果。例如,模型训练需要经过数据检验和数据转换的数据,而服务发布需要训练好的模型,一环套一环。Kubeflow Pipelines项目可以有效地将以上步骤连接起来。

Kubeflow现在已经有三十多个项目,其中比较活跃的核心项目有近二十个,并且不断有新的项目产生。

Kubeflow的核心组件

04怎样学习Kubeflow

博文视点新书《Kubeflow:云计算和机器学习的桥梁》现已上市,全面介绍了Kubeflow社区的各项技术,并浓缩了大量的开发知识和实战经验,是一本非常有参考价值的图书!

何金池 李峰 刘光亚 刘侯刚 编著

主要讲解Kubeflow及其社区的技术栈,包括机器学习的流程编排技术Pipelines、并行模型训练技术TFJob和PyTorchJob等、超参调优技术Katib、服务发布KFServing、机器学习的Python SDK Fairing等,涉及机器学习的各个方面。

本书结合理论和实战,详细阐述了Kubeflow社区的新技术和新方案,并且展望了Kubeflow的前景和AI Hub的发展趋势。

本书是基于Kubeflow 0.7编写的,由于Kubeflow社区的高速发展,本书后期会有技术和方案上的改动,在阅读本书的过程中,还需要参考Kubeflow社区的最新资讯。此外,作者会通过GitHub更新一些书中过期的方案和技术给读者作为参考。

▊关于本书作者

何金池,高级软件工程师,负责IBM Data & AI系统研发,Kubeflow社区Maintainer。

李峰,高级软件工程师,负责IBM 认知系统研发,Kubeflow社区Maintainer。

刘光亚,IBM Cloud Pak for Multicloud Management的STSM(Senior Technical Staff Member),资深架构师,负责IBM多云管理的研发与AI集成。

刘侯刚,高级软件工程师, 负责IBM私有云研发,Kubeflow社区Maintainer,Katib联合创始人。

▊ 业内力荐

高策 / 才云科技机器学习平台团队Technical Leader & Kubeflow Maintainer

孙丹 / KFServing联合创始人& Maintainer

朱杰 / 华为AIOps构架师

▊ 本书结构

第1篇  IT两大“高速列车”:云计算和机器学习

第1章  云计算和KUBERNETES

1.1  云计算

1.2  虚拟化使云计算轻松落地

1.3  KUBERNETES——云计算的新标杆

第2章  机器学习

2.1  人工智能的第三次“冲击波”

2.2  机器学习在生活中的应用

2.3  机器学习的主流框架

2.4  机器学习的“HELLO WORLD”

第2篇  KUBEFLOW:连接云计算和机器学习的“桥梁”

第3章  KUBEFLOW概述

3.1  KUBEFLOW是什么

3.2  KUBEFLOW的发展

3.3  KUBEFLOW的核心组件

第4章  KUBEFLOW的部署与应用

4.1  KUBEFLOW的安装与部署

4.2  KUBEFLOW的用户故事

4.3  KUBEFLOW端到端的用户案例

4.4  KUBEFLOW对IBM POWER平台的支持

第5章  KUBEFLOW PIPELINES流水线式机器学习

5.1  KUBEFLOW PIPELINES是什么

5.2  KUBEFLOW PIPELINES的基本概念

5.3  KUBEFLOW PIPELINES的架构

5.4  PIPELINES SDK

5.5  动手构建自己的PIPELINES

5.6  KUBEFLOW PIPELINES的实际应用

第6章  KUBEFLOW OPERATOR自定义资源

6.1  KUBERNETES CRD简述

6.2  TENSORFLOW OPERATOR

6.3  PYTORCH OPERATOR

6.4  其他OPERATOR

第7章  KUBEFLOW KATIB超参调优

7.1  机器学习中的超参调优

7.2  什么是KATIB

7.3  KATIB的安装方法

7.4  KATIB的架构

7.5  KATIB的业务流程

7.6  使用KATIB进行一次超参调优

第8章  KFSERVING解决机器学习“最后一公里”的问题

8.1  KFSERVING是什么

8.2  ISTIO简介

8.3  KNATIVE简介

8.4  KFSERVING的架构分析

8.5  KFSERVING PYTHON SDK

8.6  KFSERVING的应用实例

第9章  KUBEFLOW FAIRING带机器学习“飞”

9.1  KUBEFLOW FAIRING是什么

9.2  KUBEFLOW FAIRING的安装方法

9.3  KUBEFLOW FAIRING的架构分析

9.4  KUBEFLOW FAIRING的源码分析

9.5  KUBEFLOW FAIRING的应用实例

第10章  KUBEFLOW METADATA

10.1  KUBEFLOW METADATA简述

10.2  KUBEFLOW METADATA的架构与设计

10.3  METADATA支持的元数据和数据表

10.4  KUBEFLOW METADATA实战

第11章  KUBEBENCH机器学习哪家强

11.1  先从BENCHMARK说起

11.2  KUBEBENCH的安装方法

11.3  KUBEBENCH的架构

11.4  KUBEBENCH的实践

第12章  KUBEFLOW中的JUPYTER NOTEBOOK HUB

12.1  JUPYTER NOTEBOOK简述

12.2  JUPYTER NOTEBOOK的架构及其运行原理

12.3  KUBEFLOW JUPYTER NOTEBOOK的组件及其使用方法

第3篇  KUBEFLOW的应用和展望

第13章  KUBEFLOW的应用实战

13.1  在云平台上进行机器学习

13.2  基于KUBEFLOW的SEQ2SEQ机器学习案例

第14章  KUBEFLOW前景展望和AI HUB

14.1  KUBEFLOW 1.0的功能和计划

14.2  基于KUBEFLOW的AI HUB新模式

14.3  智能云中的AIAAS(AI服务)


更多科技资讯请见微信公众号:博文视点Broadview(微信号:bvbooks)

Kubeflow:连接云计算和机器学习的“桥梁”相关推荐

  1. 因果表征学习最新综述:连接因果科学和机器学习的桥梁

    来源:集智俱乐部 作者:蔡心宇 审校:龚鹤扬.陆超超 编辑:邓一雪 论文题目: Towards Causal Representation Learning 论文地址: https://arxiv.o ...

  2. 5G:连接 AI 与 IoT 的桥梁

    责编 | 黄浩然 出品 | CSDN(ID:CSDNnews) 9月5日- 7日,一年一度的 AI 开发者大会( AI ProCon 2019 )在北京隆重召开,来自业界近百位中美顶尖 AI 专家.知 ...

  3. 连接统计学、机器学习与自动推理的新兴交叉领域——因果科学读书会再起航...

    导语 哥伦比亚大学 CausalAI 实验室主任 Elias Bareinboim 在其 ACM 邀请文章中提到:"如果我们希望下一代人工智能系统是安全的,稳健的,与人类兼容的,提升人类社会 ...

  4. Kubeflow使用Kubernetes进行机器学习GPU分布式训练

    Kubeflow使用Kubernetes进行机器学习 Kubeflow是Google推出的基于kubernetes环境下的机器学习组件,通过Kubeflow可以实现对TFJob等资源类型定义,可以像部 ...

  5. 扩展坞可以把手机投到显示器吗_连接手机与屏幕的桥梁,ORICO多功能扩展坞体验...

    ​​随着近几年来手机行业的发展以及手机厂商的推动,Type-C接口已经逐渐成为了手机的标配.相比于传统的Micro USB接口来讲,Type-C不仅可以正反面插入,同时它能够承载的数据传输量也有成倍的 ...

  6. SLAM Cartographer(8)连接前端与后端的桥梁

    SLAM Cartographer(8)连接前端与后端的桥梁 1. CreateGlobalTrajectoryBuilder2D 2. 轨迹生成器接口类 3. 接口实现 3.1. 加载点云数据 3. ...

  7. 人工智能、大数据、云计算、机器学习和深度学习,主要有什么关系?

    这些概念是当下的热点,它们本身并不复杂.相信我的回答能让你对这些概念以及它们之间的联系有一个清晰的了解. 我的主要研究方向是大数据和人工智能,所以机器学习.深度学习.云计算等技术也都接触过.这些概念之 ...

  8. 手把手教你搭建Kubeflow——基于K8s的机器学习平台

    文章有些长,建议先关注.收藏再阅读: 简介 Kubeflow是在k8s平台之上针对机器学习的开发.训练.优化.部署.管理的工具集合,内部集成的方式融合机器学习中的很多领域的开源项目,比如Jupyter ...

  9. 基于功能连接的认知机器学习预测模型:特征权重可靠吗?

    文章来源于微信公众号(茗创科技),欢迎有兴趣的朋友搜索关注. 利用机器学习方法,可以从个人的功能性大脑连接中预测认知表现.但是预测模型在支持认知的神经生物学加工方面仍存在争议,目前的见解也比较有限.特 ...

  10. 前沿分享:连接统计学,机器学习与自动推理的新兴交叉领域

    导语 什么是因果科学?它是如何发展的?本文将从以下3个部分介绍:第一部分是因果科学的基本定义及其哲学基础,第二部分是统计领域中的因果推断,第三个部分是因果结合机器学习. 因果革命和以数据为中心的第一次 ...

最新文章

  1. mysql 连接 查询 连表查询
  2. 语音识别系统wav2letter++简介
  3. Linux源码安装步骤
  4. ajax分页实现(php)
  5. vuepress 代码高亮支持的语言
  6. .NET斗鱼直播弹幕客户端(下)
  7. easyui获取下拉框选中的文本值_Word中文本显示不全的常见3种情况及解决方法
  8. Qt DLL总结-创建及调用QT的 DLL
  9. linux内核的一些常识介绍
  10. PRML-系列一之1.5.1~1.5.3
  11. 移植wpa_supplicant 2.5 实现rtl8188可以无线上网
  12. 【NOIP校内模拟】T2 字胡串(分治)
  13. tensorflow精进之路(十七)——python3网络爬虫(上)
  14. gRPC框架学习:6、Java+gRPC+maven+idea实例测试并打jar包
  15. OpenAI怎么写作「谷歌小发猫写作」
  16. 查看Mac上已连接WiFi的密码?
  17. 云免停机卡免流服务器监控
  18. 小米总监说软件测试分为这及类
  19. 使用ZEGO SDK零基础搭建Android语音聊天应用
  20. html中对复选框验证,验证HTML中的复选框

热门文章

  1. 设计模式——装饰模式和代理模式
  2. 在同一台服务器上安装两个数据库
  3. 关于jstl EL用法的注意点(java.lang.NumberFormatException: For input string: userName)
  4. ios FMDB 更新二进制图片数据
  5. 二扩域元素与整数的转换
  6. maven项目转换成dynamic项目
  7. PHP-Header缓存策略
  8. iconfont-矢量图标字体的运用
  9. [SAP ABAP开发技术总结]选择屏幕——各种屏幕元素演示
  10. vc listview 大图标间距设置