Python分布式机器学习
将Python开发知识用于启动和运行分布式机器学习的实现,包括多节点机器学习系统。

作者:[美]冠华·王 著 姜大为 译

定价:99元

印次:1-1

ISBN:9787302633112

出版日期:2023.04.01

印刷日期:2023.04.18

图书责编:贾小红

图书分类:零售

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

《Python分布式机器学习》本书详细阐述了与分布式机器学习相关的基本解决方案,主要包括拆分输入数据、参数服务器和All-Reduce、构建数据并行训练和服务管道、瓶颈和解决方案、拆分模型、管道输入和层拆分、实现模型并行训练和服务工作流程、实现更高的吞吐量和更低的延迟、数据并行和模型并行的混合、联合学习和边缘设备、弹性模型训练和服务、进一步加速的高级技术等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。

冠华·王是加州大学伯克利分校 RISELab 的计算机科学博士(导师为Ion Stoica教授)。他的研究主要集中在机器学习系统领域,包括快速集体通信、高效并行模型训练和实时模型服务等。他的研究得到了学术界和工业界的广泛关注。他曾受邀在**大学(麻省理工学院、斯坦福大学、卡内基梅隆大学和普林斯顿大学)和大型科技公司(Facebook/Meta和微软)进行演讲。他在香港科技大学获得硕士学位,在中国东南大学获得学士学位。他在无线网络方面还有一些很好的研究。他喜欢踢足球,并且曾在加州湾区跑过多次半程马拉松。

前 言 降低机器学习的时间成本可以缩短模型训练的等待时间,加快模型更新周期。分布式机器学习使机器学习从业者能够将模型训练和推理时间缩短几个数量级。在本书的帮助下,你应该能够将你的Python开发知识用于启动和运行分布式机器学习的实现,包括多节点机器学习系统。 本书将首先探索分布式系统如何在机器学习领域工作,以及分布式机器学习如何应用于最先进的深度学习模型。 随着你的进步,你将了解如何使用分布式系统来提高机器学习模型的训练和服务速度。在优化本地集群或云环境中的并行模型训练和服务管道之前,你还需要掌握应用数据并行和模型并行的方法。 到学习本书结束时,你将获得构建和部署高效数据处理管道所需的知识和技能,用于以分布式方式进行机器学习模型训练和推理。 本书读者 本书适用于学术界和工业界的数据科学家、机器学习工程师和机器学习从业者。本书假设你对机器学习概念和Python编程的工作知识有基本的了解。如果你拥有使用TensorFlow或PyTorch实现机器学习/深度学习模型的经验,则对理解本书内容非常有益。 此外,如果你对使用分布式系统来提高机器学习模型训练和服务速度感兴趣,则会发现这本书很有用。 内容介绍 本书内容分为3篇,共12章。具体内容如下。 ? 第1篇为“数据并行”,包括第1~4章。 ? 第1章“拆分输入数据”,介绍如何在输入数据维度上分配机器学习训练或服务工作负载,这称为数据并行。 ? 第2章“参数服务器和All-Reduce”,描述数据并行训练过程中被广泛采用的两种模型同步方案。 ? 第3章“构建数据并行训练和服务管道”,说明如何实现数据并行训练...

目录
荐语
查看详情 查看详情
目    录

第1篇  数 据 并 行

第1章  拆分输入数据 3

1.1  单节点训练太慢 3

1.1.1  数据加载带宽和模型训练带宽之间的不匹配 5

1.1.2  流行数据集的单节点训练时间 5

1.1.3  使用数据并行加速训练过程 7

1.2  数据并行 8

1.2.1  随机梯度下降 11

1.2.2  模型同步 12

1.3  超参数调优 14

1.3.1  全局批次大小 14

1.3.2  学习率调整 14

1.3.3  模型同步方案 15

1.4  小结 16

第2章  参数服务器和All-Reduce 17

2.1  技术要求 18

2.2  参数服务器架构 18

2.2.1  参数服务器架构中的通信瓶颈 19

2.2.2  在参数服务器之间分片模型 21

2.3  实现参数服务器 23

2.3.1  定义模型层 23

2.3.2  定义参数服务器 24

2.3.3  定义工作节点 25

2.3.4  在参数服务器和工作节点之间传递数据 26

2.4  参数服务器的问题 27

2.4.1  情况1—更多参数服务器 28

2.4.2  情况2—更多工作节点 28

2.4.3  参数服务器架构为从业者带来了很高的编码复杂度 28

2.5  All-Reduce架构 29

2.5.1  Reduce 29

2.5.2  All-Reduce 30

2.5.3  Ring All-Reduce 31

2.6  集体通信 33

2.6.1  Broadcast 33

2.6.2  Gather 34... 查看详情

降低机器学习的时间成本可以缩短模型训练的等待时间,加快模型更新周期。分布式机器学习使机器学习从业者能够将模型训练和推理时间缩短几个数量级。在本书的帮助下,你应该能够将你的Python开发知识用于启动和运行分布式机器学习的实现,包括多节点机器学习系统

查看详情