Kubeflow: 云计算和机器学习的桥梁
  • 推荐0
  • 收藏0
  • 浏览550

Kubeflow: 云计算和机器学习的桥梁

何金池 (作者) 

  • 书  号:978-7-121-39277-1
  • 出版日期:2020-08-10
  • 页  数:248
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:符隆美
电子书 ¥55.30
购买电子书
纸质版 ¥79.00
当前的IT界有两大高速列车,一是以“Kubernetes”为标杆技术的云计算,二是以“Tensorflow和PyTorch”等为代表的机器学习。如何使二者结合起来,成为近期IT界讨论的热点。Kubeflow的横空出世,有效的连接起了Kubernetes 和各个机器学习的框架,提供了机器学习在Kubernetes上的端到端的解决方案。
本书讲解Kubeflow以及其社区的技术栈,包括机器学习的流程编排技术Pipelines、并行模型训练技术TFJob和PyTorchJob等、超参调优技术Katib、服务发布KFServing,机器学习的Python SDK Fairing等,涉及到机器学习的各个方面。本书结合理论和实战,详细阐述了Kubeflow社区的新技术和新方案。最后,展望了Kubeflow的前景和AI Hub的发展趋势。
云计算和机器学习是当前IT界最火热的两大领域,以Kubernetes为代表的云计算技术如日中天,以Tensorflow和PyTorch为代表的机器学习技术也如火如荼。Kuneflow的横空出世,犹如一座桥梁,有效的连接起了云计算和机器学习,一时之间成为了IT界的焦点。本书全面的介绍了Kubeflow社区的各项技术,涉及到机器学习的方方面面,语言通俗易懂,示例详尽,对于机器学习的初学者和从业人员来说,具有很高的参考价值。
第三次人工智能的“冲击波”提出了很多机器学习网络结构。卷积神经网络作为深度学习的代表之一,被广泛应用于计算机视觉识别系统、智能监控系统、社交网络图片标记,以及图像分类、机器人、无人机、自动驾驶汽车等场景。循环神经网络被广泛应用于自然语言理解、语音处理等场景。编/解码模型主要用于图像或序列生成,如机器翻译、文本摘要、图像描述问题等。胶囊网络作为深度神经网络的一种新兴形式,正在试图模仿人类大脑处理信息等。很多机器学习的成果已经成功落地,进入人们的工作和生活中。同时,随着时代的发展,机器学习面临的问题也越来越多。例如,大型的机器学习作业很难在本地完成,需要使用云端资源来提高模型训练的效率、降低服务维护的成本。
当前,云计算已经成为许多领域中必不可少的计算服务,机器学习也试图通过云计算来进行分布式训练,从而提高机器学习的模型训练效率,并且进一步扩展其应用范围。Kubernetes是云平台领域的标杆技术,广泛地应用于公有云、混合云和私有云的部署中。如何使机器学习更好地在基于Kubernetes的云平台上运行,是近年来IT行业的热点话题,也是各大IT公司试图解决的重要问题,Kubeflow就是在这样的背景下横空出世的。Kubeflow的诞生为Kubernetes生态系统画上了绚丽的一笔,对机器学习工程师来说,可谓雪中送炭。Kubeflow有效地连接起了机器学习和云计算两大领域,一时之间成了“兵家必争之地”。
本书在编写的过程中,得到了很多IBM同事和Kubeflow社区贡献者的帮助,特别是胡雷雷、寇潇、支阿龙、王占伟、台慧敏、贠振欧等,还得到了IBM经理王亮的大力支持,在此表示诚挚的感谢!
由于时间仓促,书中难免有不足之处,请读者勘正。本书是基于Kubeflow 0.7编写的,由于Kubeflow社区的高速发展,本书后期会有技术和方案上的改动,读者在阅读本书的过程中,还需要参考Kubeflow社区的最新资讯。此外,笔者会通过GitHub更新一些书中过期的方案和技术给读者作为参考。
何金池

目录

第1篇 IT两大“高速列车”:云计算和机器学习
第1章 云计算和KUBERNETES 2
1.1 云计算 2
1.1.1 云计算的历史和发展 2
1.1.2 为什么云计算会“飘”起来 5
1.2 虚拟化使云计算轻松落地 6
1.2.1 虚拟化为云计算“铺上了轻轨” 6
1.2.2 Docker的“燎原之火” 7
1.2.3 Docker的hello-world应用 9
1.3 KUBERNETES——云计算的新标杆 11
1.3.1 Kubernetes的横空出世 11
1.3.2 Kubernetes的基本概念和架构 12
1.3.3 Kubernetes集群的部署 16
1.3.4 Kubernetes的“Hello World”应用 18
第2章 机器学习 24
2.1 人工智能的第三次“冲击波” 24
2.2 机器学习在生活中的应用 28


2.3 机器学习的主流框架 30
2.3.1 TensorFlow 30
2.3.2 PyTorch 32
2.3.3 scikit-learn 33
2.3.4 XGBoost 34
2.3.5 ONNX 35
2.4 机器学习的“HELLO WORLD” 36
2.4.1 MNIST数据集 36
2.4.2 MNIST模型训练 37
第2篇 KUBEFLOW:连接云计算和机器学习的“桥梁”
第3章 KUBEFLOW概述 40
3.1 KUBEFLOW是什么 40
3.2 KUBEFLOW的发展 42
3.3 KUBEFLOW的核心组件 44
第4章 KUBEFLOW的部署与应用 48
4.1 KUBEFLOW的安装与部署 48
4.1.1 Kubeflow的部署工具Kfctl 48
4.1.2 Kubeflow Manifests与kustomize 49
4.1.3 Kubeflow与Kubernetes版本的兼容性 51
4.1.4 Kubeflow的安装过程 52
4.1.5 安装后检查 54
4.2 KUBEFLOW的用户故事 56
4.3 KUBEFLOW端到端的用户案例 58
4.4 KUBEFLOW对IBM POWER平台的支持 67


第5章 KUBEFLOW PIPELINES流水线式机器学习 69
5.1 KUBEFLOW PIPELINES是什么 69
5.2 KUBEFLOW PIPELINES的基本概念 71
5.3 KUBEFLOW PIPELINES的架构 73
5.4 PIPELINES SDK 74
5.4.1 安装Pipelines SDK 75
5.4.2 Pipelines SDK代码分析 75
5.5 动手构建自己的PIPELINES 79
5.6 KUBEFLOW PIPELINES的实际应用 82
第6章 KUBEFLOW OPERATOR自定义资源 94
6.1 KUBERNETES CRD简述 94
6.2 TENSORFLOW OPERATOR 96
6.2.1 TFJob的前世今生 96
6.2.2 TFJob CRD 96
6.2.3 故障定位 102
6.2.4 TFJob Python SDK 103
6.2.5 TFJob的应用实例 105
6.3 PYTORCH OPERATOR 107
6.3.1 PyTorchJob简介 108
6.3.2 PyTorchJob的实际应用 109
6.4 其他OPERATOR 111
6.4.1 XGBoost Operator 111
6.4.2 Caffe2 Operator 113
6.4.3 MPI Operator 114
6.4.4 MXNet Operator 115
6.4.5 Chainer Operator 116


第7章 KUBEFLOW KATIB超参调优 118
7.1 机器学习中的超参调优 118
7.2 什么是KATIB 120
7.3 KATIB的安装方法 120
7.4 KATIB的架构 121
7.5 KATIB的业务流程 123
7.6 使用KATIB进行一次超参调优 125
第8章 KFSERVING解决机器学习“最后一公里”的问题 133
8.1 KFSERVING是什么 133
8.2 ISTIO简介 135
8.2.1 Service Mesh的概念 135
8.2.2 Istio的架构 137
8.2.3 Istio的安装方法 138
8.3 KNATIVE简介 139
8.3.1 Knative的架构 139
8.3.2 Knative Serving 140
8.3.3 Knative Serving的安装方法 142
8.4 KFSERVING的架构分析 142
8.4.1 KFServing的架构 142
8.4.2 KFServing Data Plane 144
8.4.3 KFServing Control Plane 146
8.5 KFSERVING PYTHON SDK 148
8.5.1 KFServing Python SDK的安装方法 149
8.5.2 KFServing Python SDK Client支持的API 149
8.5.3 KFServing Python SDK的应用 153
8.6 KFSERVING的应用实例 156
8.6.1 使用PVC训练模型并发布服务 156
8.6.2 InferenceService Transformer的应用 157
第9章 KUBEFLOW FAIRING带机器学习“飞” 160
9.1 KUBEFLOW FAIRING是什么 160
9.2 KUBEFLOW FAIRING的安装方法 162
9.2.1 本地安装 162
9.2.2 在Kubeflow Jupyter Notebook中更新Kubeflow Fairing SDK 163
9.3 KUBEFLOW FAIRING的架构分析 165
9.4 KUBEFLOW FAIRING的源码分析 165
9.4.1 Kubeflow Fairing的入口程序文件Config.py 165
9.4.2 Kubeflow Fairing Preprocessor 166
9.4.3 Kubeflow Fairing Builder 168
9.4.4 Kubeflow Fairing Deployer 169
9.4.5 Kubeflow Fairing支持的High Level API 171
9.5 KUBEFLOW FAIRING的应用实例 171
第10章 KUBEFLOW METADATA 176
10.1 KUBEFLOW METADATA简述 176
10.2 KUBEFLOW METADATA的架构与设计 177
10.3 METADATA支持的元数据和数据表 180
10.4 KUBEFLOW METADATA实战 183
10.4.1 安装Kubeflow Metadata组件 183
10.4.2 Kubeflow Metadata的应用实例 184
10.4.3 Metadata的展示 186
第11章 KUBEBENCH机器学习哪家强 188
11.1 先从BENCHMARK说起 188
11.2 KUBEBENCH的安装方法 190
11.3 KUBEBENCH的架构 190
11.4 KUBEBENCH的实践 193
第12章 KUBEFLOW中的JUPYTER NOTEBOOK HUB 195
12.1 JUPYTER NOTEBOOK简述 195
12.2 JUPYTER NOTEBOOK的架构及其运行原理 196
12.3 KUBEFLOW JUPYTER NOTEBOOK的组件及其使用方法 197
第3篇 KUBEFLOW的应用和展望
第13章 KUBEFLOW的应用实战 205
13.1 在云平台上进行机器学习 205
13.2 基于KUBEFLOW的SEQ2SEQ机器学习案例 220
13.2.1 Seq2Seq模型简介 220
13.2.2 在Kubeflow平台上运行Seq2Seq案例 222
第14章 KUBEFLOW前景展望和AI HUB 233
14.1 KUBEFLOW 1.0的功能和计划 233
14.2 基于KUBEFLOW的AI HUB新模式 234
14.3 智能云中的AIAAS(AI服务) 237

读者评论

电子书版本

  • Epub

相关博文

  • Kubeflow:连接云计算和机器学习的“桥梁”

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

    陈晓猛 2020-08-28

    当前的IT界有两大“高速列车”, 一个是以Kubernetes为标杆技术的云计算,另一个是以TensorFlow、PyTorch等为代表的机器学习, 二者相辅相成、相互促进,共同引领IT技术飞速发展。 如何使机器学习更好地...

    陈晓猛 2020-08-28
    850 0 0 0