• 分布式机器学习
21年品牌 40万+商家 超1.5亿件商品

分布式机器学习

全新正版保证,电子发票

87.9 6.3折 139 全新

库存14件

湖北武汉
认证卖家担保交易快速发货售后保障

作者柳浩

出版社电子工业出版社

ISBN9787121458149

出版时间2023-06

装帧平装

开本其他

定价139元

货号9787121458149

上书时间2024-09-20

博益图书

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
柳浩,网名“罗西的思考”,浙江大学硕士。曾就职于多家世界500强企业,主导过多个大型项目,现就职于某新能源车企。技术栈广博,有丰富的各种大型软件开发和系统架构经验,对机器学习框架、微服务框架、大数据引擎、NoSQL、消息队列、分布式追踪系统、可观测系统、可靠性设计、移动开发方案和源码有着深刻的理解和认识。

目录
目    录

第1篇  分布式基础
第1章  分布式机器学习2
1.1  机器学习概念2
1.2  机器学习的特点3
1.3  分布式训练的必要性3
1.4  分布式机器学习研究领域6
1.4.1  分布式机器学习的目标6
1.4.2  分布式机器学习的分类6
1.5  从模型角度看如何并行8
1.5.1  并行方式8
1.5.2  数据并行9
1.5.3  模型并行10
1.5.4  流水线并行11
1.5.5  比对12
1.6  从训练并发角度看如何并行12
1.6.1  参数分布和通信拓扑13
1.6.2  模型一致性和通信模式14
1.6.3  训练分布19
1.7  分布式机器学习编程接口19
1.7.1  手动同步更新20
1.7.2  指定任务和位置20
1.7.3  猴子补丁优化器21
1.7.4  Python作用域21
1.8  PyTorch分布式22
1.8.1  历史脉络22
1.8.2  基本概念23
1.9  总结24
第2章  集合通信26
2.1  通信模式26
2.2  点对点通信26
2.3  集合通信28
2.3.1  Broadcast29
2.3.2  Scatter29
2.3.3  Gather30
2.3.4  All-Gather30
2.3.5  All-to-All30
2.3.6  Reduce31
2.3.7  All-Reduce31
2.3.8  Reduce-Scatter32
2.4  MPI_AllReduce32
2.5  Ring All-Reduce33
2.5.1  特点34
2.5.2  策略34
2.5.3  结构35
2.5.4  Reduce-Scatter35
2.5.5  All-Gather38
2.5.6  通信性能40
2.5.7  区别40
第3章  参数服务器之PS-Lite41
3.1  参数服务器41
3.1.1  概念41
3.1.2  历史渊源42
3.1.3  问题43
3.2  基础模块Postoffice44
3.2.1  基本逻辑44
3.2.2  系统启动45
3.2.3  功能实现47
3.3  通信模块Van51
3.3.1  功能概述51
3.3.2  定义51
3.3.3  初始化52
3.3.4  接收消息53
3.4  代理人Customer59
3.4.1  基本思路59
3.4.2  基础类61
3.4.3  Customer62
3.4.4  功能函数66
3.5  应用节点实现67
3.5.1  SimpleApp67
3.5.2  KVServer68
3.5.3  KVWorker68
3.5.4  总结70
第2篇  数据并行73
第4章  PyTorch DataParallel74
4.1  综述74
4.2  示例76
4.3  定义77
4.4  前向传播78
4.5  计算损失87
4.6  反向传播88
4.7  总结91
第5章  PyTorch DDP的基础架构93
5.1  DDP总述93
5.1.1  DDP的运行逻辑93
5.1.2  DDP的使用94
5.2  设计理念97
5.2.1  系统设计97
5.2.2  梯度归约98
5.2.3  实施99
5.3  基础概念101
5.3.1  初始化方法101
5.3.2  Store类102
5.3.3  TCPStore类104
5.3.4  进程组概念107
5.3.5  构建进程组109
5.4  架构和初始化111
5.4.1  架构与迭代流程111
5.4.2  初始化DDP114
第6章  PyTorch DDP的动态逻辑122
6.1  Reducer类122
6.1.1  调用Reducer类122
6.1.2  定义Reducer类122
6.1.3  Bucket类124
6.1.4  BucketReplica类126
6.1.5  查询数据结构128
6.1.6  梯度累积相关成员变量131
6.1.7  初始化135
6.1.8  静态图141
6.1.9  Join操作142
6.2  前向/反向传播143
6.2.1  前向传播143
6.2.2  反向传播149
第7章  Horovod161
7.1  从使用者角度切入161
7.1.1  机制概述161
7.1.2  示例代码162
7.1.3  运行逻辑163
7.2  horovodrun167
7.2.1  入口点167
7.2.2  运行训练Job168
7.2.3  Gloo实现169
7.2.4  MPI实现174
7.2.5  总结174
7.3  网络基础和Driver174
7.3.1  总体架构175
7.3.2  基础网络服务176
7.3.3  Driver服务177
7.3.4  Task服务178
7.3.5  总结180
7.4  DistributedOptimizer181
7.4.1  问题点181
7.4.2  解决思路182
7.4.3  TensorFlow 1.x183
7.5  融合框架191
7.5.1  总体架构191
7.5.2  算子类体系192
7.5.3  后台线程194
7.5.4  执行线程195
7.5.5  总结196
7.6  后台线程架构198
7.6.1  设计要点198
7.6.2  总体代码201
7.6.3  业务逻辑202
第3篇  流水线并行
第8章  GPipe210
8.1  流水线基本实现210
8.1.1  流水线并行210
8.1.2  GPipe概述211
8.1.3  计算内存213
8.1.4  计算算力213
8.1.5  自动并行214
8.2  梯度累积218
8.2.1  基本概念218
8.2.2  PyTorch实现219
8.2.3  GPipe实现223
8.3  Checkpointing225
8.3.1  问题225
8.3.2  解决方案225
8.3.3  OpenAI226
8.3.4  PyTorch实现228
8.3.5  GPipe实现240
第9章  PyTorch流水线并行243
9.1  如何划分模型243
9.1.1  使用方法244
9.1.2  自动平衡245
9.1.3  模型划分247
9.2  切分数据和Runtime系统249
9.2.1  分发小批量249
9.2.2   Runtime250
9.3  前向计算255
9.3.1  设计255
9.3.2  执行顺序260
9.4  计算依赖265
9.4.1  反向传播依赖266
9.4.2  前向传播依赖270
9.5  并行计算274
9.5.1  总体架构274
9.5.2  并行复制和计算276
9.5.3  重计算278
第10章  PipeDream之基础架构280
10.1  总体思路280
10.1.1  目前问题280
10.1.2  1F1B策略概述282
10.1.3  流水线方案283
10.2  profile阶段285
10.3  计算分区阶段288
10.3.1  构建图288
10.3.2  构建反链289
10.3.3  计算分区295
10.3.4  分析分区302
10.3.5  输出305
10.4  转换模型阶段305
10.4.1  分离子图306
10.4.2  转换模型307
10.4.3  融合模型308
第11章  PipeDream之动态逻辑312
11.1  Runtime引擎312
11.1.1  功能312
11.1.2  总体逻辑313
11.1.3  加载模型314
11.1.4  实现314
11.2  通信模块323
11.2.1  类定义324
11.2.2  构建325
11.2.3  发送和接收331
11.3  1F1B策略333
11.3.1  设计思路333
11.3.2  权重问题335
11.3.3  实现340
第4篇  模型并行
第12章  Megatron346
12.1  设计思路346
12.1.1  背景346
12.1.2  张量模型并行348
12.1.3  并行配置354
12.1.4  结论354
12.2  模型并行实现354
12.2.1  并行MLP355
12.2.2  ColumnParallelLinear358
12.2.3  RowParallelLinear363
12.2.4  总结367
12.3  如何设置各种并行367
12.3.1  初始化368
12.3.2  起始状态371
12.3.3  设置张量模型并行373
12.3.4  设置流水线并行375
12.3.5  设置数据并行378
12.3.6  模型并行组380
12.3.7  如何把模型分块到GPU上381
12.4  Pipedream的流水线刷新383
第13章  PyTorch如何实现模型并行387
13.1  PyTorch模型并行387
13.1.1  PyTorch特点387
13.1.2  示例387
13.2  分布式自动求导之设计389
13.2.1  分布式RPC框架389
13.2.2  自动求导记录390
13.2.3  分布式自动求导上下文391
13.2.4  分布式反向传播算法392
13.2.5  分布式优化器396
13.3  RPC基础396
13.3.1  RPC代理396
13.3.2  发送逻辑396
13.3.3  接收逻辑398
13.4  上下文相关399
13.4.1  设计脉络400
13.4.2  AutogradMetadata401
13.4.3  DistAutogradContainer403
13.4.4  DistAutogradContext403
13.4.5  前向传播交互过程408
13.5  如何切入引擎411
13.5.1  反向传播411
13.5.2  SendRpcBackward415
13.5.3  总结417
13.6  自动求导引擎417
13.6.1  原生引擎417
13.6.2  分布式引擎419
13.6.3  总体执行421
13.6.4  验证节点和边421
13.6.5  计算依赖422
13.6.6  执行GraphTask429
13.6.7  RPC调用闭环433
13.6.8  DistAccumulateGradCapture-
Hook436
13.6.9  等待完成442
第14章  分布式优化器443
14.1  原生优化器443
14.2  DP的优化器445
14.3  DDP的优化器446
14.3.1  流程446
14.3.2  优化器状态446
14.4  Horovod的优化器447
14.4.1  利用钩子同步梯度448
14.4.2  利用step()函数同步梯度449
14.5  模型并行的分布式问题450
14.6  PyTorch分布式优化器451
14.6.1  初始化452
14.6.2  更新参数453
14.7  PipeDream分布式优化器455
14.7.1  如何确定优化参数456
14.7.2  优化458
第5篇  TensorFlow分布式
第15章  分布式运行环境之静态架构462
15.1  总体架构462
15.1.1  集群角度462
15.1.2  分布式角度463
15.1.3  系统角度465
15.1.4  图操作角度467
15.1.5  通信角度468
15.2  Server469
15.2.1  逻辑概念469
15.2.2  GrpcServer471
15.3  Master的静态逻辑474
15.3.1  总述474
15.3.2  接口474
15.3.3  LocalMaster476
15.3.4  GrpcRemoteMaster478
15.3.5  GrpcMasterService478
15.3.6  业务实现Master类480
15.4  Worker的静态逻辑481
15.4.1  逻辑关系481
15.4.2  GrpcRemoteWorker483
15.4.3  GrpcWorkerService483
15.4.4  Worker487
15.4.5  GrpcWorker488
第16章  分布式运行环境之动态逻辑489
16.1  Session机制489
16.1.1  概述489
16.1.2  GrpcSession491
16.1.3  MasterSession492
16.1.4  WorkerSession494
16.2  Master动态逻辑495
16.2.1  Client如何调用495
16.2.2  Master业务逻辑495
16.3  Worker动态逻辑501
16.3.1  概述501
16.3.2  注册子图501
16.3.3  运行子图502
16.3.4  分布式计算流程总结504
16.4  通信机制505
16.4.1  协调机制505
16.4.2  发送流程508
16.4.3  接收流程508
16.4.4  总结509
第17章  分布式策略基础511
17.1  使用TensorFlow进行分布式训练511
17.1.1  概述511
17.1.2  策略类型511
17.2  DistributedStrategy基础515
17.2.1. StrategyBase515
17.2.2  读取数据518
17.3  分布式变量523
17.3.1  MirroredVariable523
17.3.2  ShardedVariable530
第18章  MirroredStrategy535
18.1  MirroredStrategy集合通信535
18.1.1  设计思路535
18.1.2  实现536
18.1.3  更新分布式变量538
18.2  MirroredStrategy分发计算540
18.2.1  运行540
18.2.2  mirrored_run541
18.2.3  Context544
18.2.4  通信协议546
18.2.5  EagerService547
18.2.6  在远端运行训练代码551
18.2.7  总结552
第19章  ParameterServerStrategy554
19.1  ParameterServerStrategyV1554
19.1.1  思路554
19.1.2  数据556
19.1.3  作用域和变量557
19.1.4  运行559
19.2  ParameterServerStrategyV2560
19.2.1  如何使用560
19.2.2  运行561
19.3  ClusterCoordinator561
19.3.1  使用561
19.3.2  定义563
19.3.3  数据565
19.3.4  Cluster566
19.3.5  Closure568
19.3.6  队列570
19.3.7  Worker类570
19.3.8  Failover573
19.3.9  总结574

内容摘要
本书主要讲解分布式机器学习算法和开源框架,读者既可以从宏观的设计上了解分布式机器学习的概念和理论,也可以深入核心技术的细节设计中,对分布式机器学习形成深刻而直观的认识,做到学以致用。 本书共分为5篇,第1篇是分布式基础,首先介绍了分布式机器学习的概念、基础设施,以及机器学习并行化技术、框架和软件系统,然后对集合通信和参数服务器PS-Lite进行了介绍。第2篇是数据并行,以PyTorch和Horovod为主对数据并行进行分析,读者可以了解在具体工程领域内实现数据并行有哪些挑战和解决方案。第3篇是流水线并行,讲解了除模型划分之外,还通过引入额外的流水线来提高效率,以GPipe / PyTorch / PipeDream为例进行分析。第4篇是模型并行,首先对NVIDIA Megatron进行分析,讲解如何进行层内分割模型并行,然后讲解PyTorch 如何支持模型并行,最后介绍分布式优化器。第5篇是TensorFlow分布式,前面几篇以PyTorch为纲,结合其他框架/库来穿插完成,本篇带领大家进入TensorFlow分布式领域。

主编推荐
"AI的黄金时代可能才刚刚开启,各行各业的生产力革命也会相继产生。OpenAI已经占据了领先位置,接下来的AI赛道会风起云涌,中国企业势必会在其中扮演极其重要的角色,也会在深度学习栈和基础设施领域奋起直追。
“弯道超车”需要建立在技术沉淀和产品实力之上,我们只有切实地扎根于现有的分布式机器学习技术体系,并对其进行深耕,才能为更好的创新和发展打下基础。
《分布式机器学习——系统、工程与实战》是作者在分布式机器学习领域学习和应用过程中的总结和思考,能起到抛砖引玉的作用,带领大家走入/熟悉分布式机器学习这个领域。"

媒体评论
"浙江大学计算机学院教授、博士生导师  童若锋
柳浩在分布式机器学习领域有着丰富的实践经验,对该领域的前沿知识理解深刻。本书很好地平衡了理论介绍和工程实践,不仅对概念、原理和算法进行了解读,而且结合开源框架的具体代码对其关键之处进行了详细剖析,帮助读者逐一击破难点。全书深入浅出,理论结合实践,让读者可以学以致用。

爱奇艺首席技术官 刘文峰
我一直知道我的大学同学柳浩在机器学习方面的造诣很深,但没想到他的写作能力也如此出类拔萃。他的新书《分布式机器学习——系统、工程与实战》极具深度和广度,覆盖了分布式机器学习的原理、基础、系统和多个框架下的实践等内容。本书易于理解又有很强的实践性,对初学者和专业人士都非常有益。如果你对分布式机器学习有兴趣,那么我强烈推荐你阅读这本书。

TCL实业CTO   孙力
分布式机器学习是提升大模型训练速度的必然方式。本书深入浅出地梳理了集合通信、参数服务器、数据并行、模型并行、流水线并行等分布式机器学习的几项关键技术,无论是对在校学生、行业新人,还是对资深开发者,都很适用。

北京三星研究院副总经理  史媛媛
尽管市面上关于分布式机器学习的书籍越来越多,但目前迫切需要一本书来帮助广大从业者,尤其是开发、部署和利用分布式机器学习技术、框架与系统的工程技术人员,深入理解分布式机器学习相关技术背后的设计思想、逻辑和操作实例。本书最鲜明的特点就是针对TensorFlow、PyTorch、Horovod等主流开源框架进行了深入解读,同时对大量源码进行了分析和设计反推。期待本书能够帮助读者在这一领域更上一层楼。

OneFlow创始人 袁进辉
分布式机器学习是近十年发展最快、最迷人的技术方向之一,多位传奇的技术领袖都投身其中,业界涌现了许多高质量开源项目,发表了大量论文和研究报告。这个方向的发展如此之快,以至于从业者无暇沉淀、总结和梳理相关进展。令人欣慰的是,一直有像“罗西的思考”这样的公众号稳定更新主流分布式深度学习开源项目,从概念、设计和实现等多个层次进行技术解析,甚至结集成书。随着ChatGPT的突破,预训练大模型成为焦点,越来越多的人开始关注大模型所需要的分布式技术,这本书可以说恰逢其时,既可以作为系统学习分布式机器学习的教材,也可以作为手边备查的手册,很高兴向读者推荐这本书。

阿里巴巴资深技术专家,计算平台事业部,PAI 机器学习平台   李永(九丰)
如果你是一名机器学习工程师,那么你一定不要错过《分布式机器学习——系统、工程与实战》这本书。作为一本针对分布式深度学习引擎的优秀著作,它提供了深度学习与神经网络的很好实践案例和使用技巧,同时详细阐述了各种分布式并行策略算法和实现。相信本书一定能让你对大模型分布式训练理解得更加透彻。"

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP