《Kubeflow:雲計算和機器學習的橋樑》由電子工業出版社於2020年8月出版,由何金池、李峰、劉光亞、劉侯剛編著。
基本介紹
- 中文名:Kubeflow:雲計算和機器學習的橋樑
- 作者:何金池、李峰、劉光亞、劉侯剛
- 出版社:電子工業出版社
- 出版時間:2020年8月
- 頁數:248 頁
- 定價:79 元
- 開本:16 開
- ISBN:9787121392771
內容簡介,圖書目錄,作者簡介,
內容簡介
當前的IT界有兩大“高速列車”,一個是以Kubernetes為標桿技術的雲計算,另一個是以TensorFlow、PyTorch等為代表的機器學習。如何使二者結合起來,成為近期IT界討論的熱點。Kubeflow的橫空出世,有效地連線起了Kubernetes和各個機器學習框架,提供了機器學習在Kubernetes雲平台上實現端到端的解決方案。
《Kubeflow:雲計算和機器學習的橋樑》主要講解Kubeflow及其社區的技術棧,包括機器學習的流程編排技術Pipelines、並行模型訓練技術TFJob和PyTorchJob等、超參調優技術Katib、服務發布KFServing、機器學習的Python SDK Fairing等,涉及機器學習的各個方面。本書結合理論和實戰,詳細闡述了Kubeflow社區的新技術和新方案,並且展望了Kubeflow的前景和AI Hub的發展趨勢。
本書主要面向雲計算和機器學習領域的研發人員和維護工程師,也適合用於雲計算和機器學習相關的培訓和學習。
圖書目錄
第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
作者簡介
何金池,高級軟體工程師,負責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聯合創始人。