新書推薦:
《
量子网络的构建与应用
》
售價:NT$
500.0
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:NT$
500.0
《
大唐名城:长安风华冠天下
》
售價:NT$
398.0
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:NT$
403.0
《
中国年画 1950-1990 THE NEW CHINA: NEW YEAR PICTURE 英文版
》
售價:NT$
1100.0
《
革命与反革命:社会文化视野下的民国政治(近世中国丛书)
》
售價:NT$
435.0
《
画楼:《北洋画报》忆旧(年轮丛书)
》
售價:NT$
1573.0
《
大国脊梁:漫画版
》
售價:NT$
374.0
|
編輯推薦: |
在现代分布式系统上部署机器学习应用时,我们逐渐将关注焦点转向了可靠性、性能、安全性以及解决这些问题所带来的运维挑战。在这本深入指南中,Argo 和 Kubeflow 的项目负责人Yuan Tang分享了将机器学习模型从单机环境迁移到复杂的分布式集群中的模式、示例和所积累的宝贵经验。
|
內容簡介: |
《分布式机器学习模式》将详细介绍数十种设计和部署分布式机器学习系统的技术。你将使用各种模式解决如下问题:如何进行分布式模型训练、如何应对突发的系统故障,以及如何部署动态的模型服务。本书为每种模式都配备了实际的案例分析,以及基于 Kubernetes 实现分布式模型训练和弹性推理的完整项目。
主要内容
● 数据摄取、分布式训练、模型服务等概念
● 使用 Kubeflow 和 Argo 工作流在 Kubernetes 上实现 TensorFlow 的自动化部署
● 管理和监控大规模机器学习工作负载
|
關於作者: |
唐源是 Akuity 的创始工程师,致力于为开发者构建企业级平台。他曾带领阿里巴巴和 Uptake 公司的数据科学与工程团队,专注于构建 AI 基础设施和AutoML平台。他是Argo和Kubeflow项目的负责人、TensorFlow和XGBoost 的维护者以及众多开源项目的作者。此外,他还撰写了三本有关机器学习的书籍以及多篇有影响力的论文。他经常在不同的技术会议上发言,并在多个公司和开源组织担任技术顾问、团队领导和导师。
|
目錄:
|
第I部分 基本概念和背景
第1章 了解开发环境 3
1.1 大规模机器学习 4
1.1.1 不断扩大的规模 4
1.1.2 解决方案 5
1.2 分布式系统 6
1.2.1 分布式系统基本概念 7
1.2.2 复杂性和模式 7
1.3 分布式机器学习系统 8
1.3.1 分布式机器学习系统基本概念 8
1.3.2 类似的模式 9
1.3.3 分布式机器学习系统的应用场景 10
1.3.4 不适合使用分布式机器学习系统的场景 11
1.4 本书涵盖的内容 11
1.5 本章小结 12
第II部分 分布式机器学习系统模式
第2章 数据摄取模式 17
2.1 数据摄取的基本概念 18
2.2 Fashion-MNIST数据集 19
2.3 批处理模式 22
2.3.1 问题:在内存有限的情况下对 Fashion-MNIST数据集执行耗费资源的操作 22
2.3.2 解决方案 24
2.3.3 讨论 26
2.3.4 练习 27
2.4 分片模式:在多台机器之间分割极大的数据集 28
2.4.1 问题 28
2.4.2 解决方案 29
2.4.3 讨论 32
2.4.4 练习 34
2.5 缓存模式 34
2.5.1 问题:重新访问之前使用过的数据以进行高效的多轮模型训练 35
2.5.2 解决方案 36
2.5.3 讨论 38
2.5.4 练习 39
2.6 习题答案 39
2.7 本章小结 40
第3章 分布式训练模式 41
3.1 分布式训练的基本概念 42
3.2 参数服务器模式:800万样本的实体标记 43
3.2.1 问题 45
3.2.2 解决方案 45
3.2.3 讨论 50
3.2.4 练习 50
3.3 集合通信模式 51
3.3.1 问题:当参数服务器成为瓶颈时提高性能 52
3.3.2 解决方案 52
3.3.3 讨论 58
3.3.4 练习 59
3.4 弹性与容错模式 59
3.4.1 问题:使用有限的计算资源处理训练时的意外故障 59
3.4.2 解决方案 60
3.4.3 讨论 62
3.4.4 练习 63
3.5 习题答案 63
3.6 本章小结 64
第4章 模型服务模式 65
4.1 模型服务的基本概念 66
4.2 副本服务模式:处理不断增长的服务请求 67
4.2.1 问题 69
4.2.2 解决方案 69
4.2.3 讨论 72
4.2.4 练习 72
4.3 分片服务模式 73
4.3.1 问题:处理包含高分辨率视频的大型模型服务请求 74
4.3.2 解决方案 74
4.3.3 讨论 76
4.3.4 练习 77
4.4 事件驱动处理模式 77
4.4.1 问题:基于事件响应模型服务请求 79
4.4.2 解决方案 80
4.4.3 讨论 84
4.4.4 练习 85
4.5 习题答案 85
4.6 本章小结 86
第5章 工作流模式 87
5.1 工作流的基本概念 88
5.2 扇入和扇出模式:组成复杂的机器学习工作流 91
5.2.1 问题 92
5.2.2 解决方案 93
5.2.3 讨论 97
5.2.4 练习 98
5.3 同步和异步模式:通过并发加速工作流 98
5.3.1 问题 99
5.3.2 解决方案 99
5.3.3 讨论 102
5.3.4 练习 103
5.4 步骤记忆化模式:通过使用缓存跳过重复冗余的步骤 103
5.4.1 问题 105
5.4.2 解决方案 105
5.4.3 讨论 107
5.4.4 练习 108
5.5 习题答案 108
5.6 本章小结 109
第6章 运维模式 111
6.1 机器学习系统中运维的基本概念 112
6.2 调度模式:在共享集群中有效分配资源 113
6.2.1 问题 114
6.2.2 解决方案 115
6.2.3 讨论 121
6.2.4 练习 122
6.3 元数据模式:合理处理故障,最小化对用户的负面影响 122
6.3.1 问题 123
6.3.2 解决方案 124
6.3.3 讨论 128
6.3.4 练习 129
6.4 习题答案 129
6.5 本章小结 129
第III部分 构建分布式机器学习工作流
第7章 项目概述及系统架构 133
7.1 项目概况 134
7.1.1 项目背景 134
7.1.2 系统组件 135
7.2 数据摄取 135
7.2.1 问题 137
7.2.2 解决方案 137
7.2.3 练习 139
7.3 模型训练 140
7.3.1 问题 140
7.3.2 解决方案 140
7.3.3 练习 142
7.4 模型服务 142
7.4.1 问题 143
7.4.2 解决方案 143
7.4.3 练习 145
7.5 端到端工作流 145
7.5.1 存在的问题 145
7.5.2 解决方案 146
7.5.3 练习 148
7.6 习题答案 148
7.7 本章小结 149
第8章 相关技术概述 151
8.1 TensorFlow:机器学习框架 151
8.1.1 基础知识 152
8.1.2 练习 158
8.2 Kubernetes:分布式容器编排系统 158
8.2.1 基础知识 159
8.2.2 练习 165
8.3 Kubeflow:在Kubernetes上运行机器学习工作负载 165
8.3.1 基础知识 168
8.3.2 练习 172
8.4 Argo Workflows:容器原生工作流引擎 173
8.4.1 基础知识 174
8.4.2 练习 182
8.5 习题答案 182
8.6 本章小结 183
第9章 完整实现 185
9.1 数据摄取 185
9.1.1 单节点数据流水线 187
9.1.2 分布式数据流水线 188
9.2 模型训练 189
9.2.1 模型定义和单节点训练 190
9.2.2 分布式模型训练 193
9.2.3 模型选择 198
9.3 模型服务 200
9.3.1 单服务器模型推理 200
9.3.2 副本模型服务器 205
9.4 端到端工作流 208
9.4.1 顺序步骤 208
9.4.2 步骤记忆化 213
9.5 本章小结 216
|
內容試閱:
|
关于本书
《分布式机器学习模式》是一本关于在云端分布式 Kubernetes 集群中运行机器学习系统的实用模式的书籍。其中每个模式都旨在帮助解决构建分布式机器学习系统时遇到的常见难题,包括支持分布式模型训练、处理意外故障和动态模型服务流量。通过真实场景的示例,本书清晰地展示了如何应用每个模式,以及每种方法的利弊权衡。一旦掌握了这些前沿技术,你就能将其应用于实践,并最终构建一个全面的分布式机器学习系统。
本书读者对象
本书适合熟悉机器学习算法基础和在生产环境中运行机器学习系统的数据分析师、数据科学家和软件工程师阅读。读者应该具备基本的 Bash、Python 和 Docker知识。
本书的组织方式:路线图
本书内容分为三个部分,共9章。
第Ⅰ部分介绍有关分布式机器学习系统的背景和概念。我们将讨论随着机器学习应用程序规模的不断增长,分布式系统所呈现出的复杂性,并介绍一些常见的分布式系统和分布式机器学习系统中采用的模式。
第Ⅱ部分介绍机器学习系统各个组件所面临的一些挑战,并讲解行业中广泛采用的一些既定模式,以应对这些挑战:
第2章介绍数据摄取模式,包括批处理、分片和缓存,以便高效处理大型数据集。
第3章包括分布式模型训练中常见的三种模式,其中涉及参数服务器、集合通信、弹性与容错。
第4章演示副本服务、分片服务和事件驱动处理在模型服务中的实用性。
第5章描述几种工作流模式,包括扇入和扇出模式、同步和异步模式以及步骤记忆化模式,这些模式常用于创建复杂的分布式机器学习工作流。
第6章以调度和元数据模式结束了这一部分,这些模式对于运维非常有用。
第Ⅲ部分深入探讨一个端到端的机器学习系统,以应用我们之前学到的知识。在这个机器学习系统项目中,读者将获得实现之前学到的许多模式的实践经验:
第7章介绍项目背景和系统组件。
第8章涵盖我们将在项目中使用的技术的基础知识。
第9章通过实现一个完整的端到端机器学习系统来结束本书。
一般来说,如果读者已经知道什么是分布式机器学习系统,就可以直接跳过第Ⅰ部分。第Ⅱ部分中的每章都可以独立阅读,因为每章描述分布式机器学习系统的视角不同。
第7章和第8章是我们在第9章中构建项目的先决条件。如果读者已经熟悉第8章介绍的技术,可以直接跳过这一章。
关于代码的下载
你可以从本书的liveBook(在线)版本获取可执行代码片段:https://livebook. manning.com/book/distributed-machine-learning-patterns。书中示例的完整代码可以从GitHub 代码仓库 https://github.com/terrytangyuan/distributed-ml-patterns下载,也可通过扫描本书封底的二维码下载。
|
|