《分布式机器学习-系统、工程与实战》[95M]百度网盘|pdf下载|亲测有效
《分布式机器学习-系统、工程与实战》[95M]百度网盘|pdf下载|亲测有效

分布式机器学习-系统、工程与实战 pdf下载

出版社 社会出版社
出版年 2023-07
页数 390页
装帧 精装
评分 9.2(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供分布式机器学习-系统、工程与实战电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

内容简介

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

作者简介

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

内页插图

精彩书评

  ★柳浩在分布式机器学习领域有着丰富的实践经验,对该领域的前沿知识理解深刻。该书很好地平衡了理论介绍和工程实践,不仅对概念、原理和算法进行了解读,而且结合开源框架的具体代码对其关键之处进行了详细剖析,帮助读者逐一击破难点。全书深入浅出,理论结合实践,让读者可以学以致用。
  ——浙江大学计算机学院教授、博士生导师 童若锋
  
  ★我一直知道我的大学同学柳浩在机器学习方面的造诣很深,但没想到他的写作能力也如此出类拔萃。他的新书《分布式机器学习——系统、工程与实战》极具深度和广度,覆盖了分布式机器学习的原理、基础、系统和多个框架下的实践等内容。该书易于理解又有很强的实践性,对初学者和专业人士都非常有益。如果你对分布式机器学习有兴趣,那么我强烈推荐你阅读这本书。
  ——爱奇艺首席技术官 刘文峰
  
  ★分布式机器学习是提升大模型训练速度的必然方式。该书深入浅出地梳理了集合通信、参数服务器、数据并行、模型并行、流水线并行等分布式机器学习的几项关键技术,无论是对在校学生、行业新人,还是对资深开发者,都很适用。
  ——TCL实业CTO 孙力
  
  ★尽管市面上的关于分布式机器学习的书籍越来越多,但目前迫切需要一本书来帮助广大从业者,尤其是开发、部署和利用分布式机器学习技术、框架与系统的工程技术人员,深入理解分布式机器学习相关技术背后的设计思想、逻辑和操作实例。该书鲜明的特点就是针对TensorFlow、PyTorch、Horovod等主流开源框架进行了深入解读,同时对大量源码进行了分析和设计反推。期待该书能够帮助读者在这一领域更上一层楼。
  ——北京三星研究院副总经理 史媛媛
  
  ★分布式机器学习是近十年发展快、迷人的技术方向之一,多位传奇的技术领袖都投身其中,业界涌现了许多高质量开源项目,发表了大量论文和研究报告。这个方向的发展如此之快,以至于从业者无暇沉淀、总结和梳理相关进展。令人欣慰的是,一直有像“罗西的思考”这样的公众号稳定更新主流分布式深度学习开源项目,从概念、设计和实现等多个层次进行技术解析,甚至结集成书。随着ChatGPT的突破,预训练大模型成为焦点,越来越多的人开始关注大模型所需要的分布式技术,这本书可以说恰逢其时,既可以作为系统学习分布式机器学习的教材,也可以作为手边备查的手册。
  ——OneFlow创始人 袁进辉
  
  ★如果你是一名机器学习工程师,那么你一定不要错过《分布式机器学习—_系统、工程与实战》这本书。作为一本针对分布式深度学习引擎的优秀著作,它提供了深度学习与神经网络的实践案例和使用技巧,同时详细阐述了各种分布式并行策略算法和实现。相信该书一定能让你对大模型分布式训练理解得更加透彻。
  ——阿里巴巴资深技术专家,计算平台事业部,PAI机器学习平台 李永(九丰)

目录

第1篇 分布式基础
第1章 分布式机器学习
1.1 机器学习概念
1.2 机器学习的特点
1.3 分布式训练的必要性
1.4 分布式机器学习研究领域
1.4.1 分布式机器学习的目标
1.4.2 分布式机器学习的分类
1.5 从模型角度看如何并行
1.5.1 并行方式
1.5.2 数据并行
1.5.3 模型并行
1.5.4 流水线并行
1.5.5 比对
1.6 从训练并发角度看如何并行
1.6.1 参数分布和通信拓扑
1.6.2 模型一致性和通信模式
1.6.3 训练分布
1.7 分布式机器学习编程接口
1.7.1 手动同步更新
1.7.2 指定任务和位置
1.7.3 猴子补丁优化器
1.7.4 Python作用域
1.8 PyTorch分布式
1.8.1 历史脉络
1.8.2 基本概念
1.9 总结
第2章 集合通信
2.1 通信模式
2.2 点对点通信
2.3 集合通信
2.3.1 Broadcast
2.3.2 Scatter
2.3.3 Gather
2.3.4 A11-Gather
2,3.5 A11-to-A11
2.3.6 Reduce
2.3.7 A11-Reduce
2.3.8 Reduce-Scatter
2.4 MPI_A11Reduce
2.5 Ring A11-Reduce
2.5.1 特点
2.5.2 策略
2.5.3 结构
2.5.4 Reduce-Scatter
2.5.5 A11-Gather
2.5.6 通信性能
2.5.7 区别
第3章 参数服务器之PS-Lite
3.1 参数服务器
3.1.1 概念
3.1.2 历史渊源
3.1.3 问题
3.2 基础模块Postomce
3.2.1 基本逻辑
3.2.2 系统启动
3.2.3 功能实现
3.3 通信模块Van
3.3.1 功能概述
3.3.2 定义
3.3.3 初始化
3.3.4 接收消息
3.4 代理人Customer
3.4.1 基本思路
3.4.2 基础类
3.4.3 Customer
3.4.4 功能函数
3.5 应用节点实现
3.5.1 SimpleApp
3.5.2 KVServer
3.5.3 KVWorker
3.5.4 总结

第2篇 数据并行
第4章 PyTorch DataParallel
4.1 综述
4.2 示例
4.3 定义
4.4 前向传播
4.5 计算损失
4.6 反向传播
4.7 总结
第5章 PyTorch DDP的基础架构
5.1 DDP总述
5.1.1 DDP的运行逻辑
5.1.2 DDP的使用
5.2 设计理念
5.2.1 系统设计
5.2.2 梯度归约
5.2.3 实施
5.3 基础概念
5.3.1 初始化方法
5.3.2 Store类
5.3.3 TCPStore类
5.3.4 进程组概念
5.3.5 构建进程组
……
第3篇 流水线并行
第4篇 模型并行
第5篇 TensorFlow分布式

前言/序言

  GPT的启示
  ChatGPT石破天惊,GPT-4的问世又引发了进一步的轰动,GPT-5即将到来……它们的影响远远超出了大家的预期和想象。有观点认为,ChatGPT是通用人工智能的Singularity(奇点)。无独有偶,2022年,微软发布了一篇论文Singularity: Planet-Scale, Preemptive and Elastic Scheduling of AI Workloads,介绍其全局分布式调度服务,作者包括Azure的CTO MarkRussinovich。而Azure与OpenAI合作,重新设计了超级计算机,在Azure云上为OpenAI训练超大规模的模型。该论文将Azure的全局分布式调度服务命名为Singularity,可见其深意。
  GPT-3模型的参数量是1750亿个,研发这个规模的大型模型,是一个极其复杂的系统工程,涵盖了算法、算力、网络、存储、大数据、框架、基础设施等多个领域。微软2020年发布的信息称,其计划为OpenAI开发的专用超级计算机包括28.5万个CPU、1万个GPU。市场调查机构TrendForce的报告则指出,ChatGPT需要3万个GPU。在OpenAI官网和报告中都提到,GPT-4项目的重点之一是开发一套可预测、可扩展的深度学习栈和基础设施(Infrastructure)。与之对应的是,在OpenAI研发团队的6个小组中,有5个小组的工作涉及AI工程和基础设施。
  OpenAI没有提供GPT-4的架构(包括模型大小)、硬件、数据集、训练方法等内容,这非常令人遗憾,但是我们可以从微软发布的论文入手,来研究GPT-4这座冰山在水下的那些深层技术栈。从论文可以看出,GPT使用的底层技术并没有那么“新”,而是在现有技术基础之上进行的深度打磨,并从不同角度对现有技术进行了拓展,做到工程上的极致。比如Singularity在GPU调度方面,就有阿里巴巴AntMan的影子。再比如Singularity从系统角度出发,使用CRIU完成任务抢占、迁移的同时,也巧妙解决了弹性训练的精度一致性问题。
  AI的黄金时代可能才刚刚开启,各行各业的生产力革命也会相继产生。诚然,OpenAI已经占据了领先位置,但是接下来的AI赛道会风起云涌,中国企业势必会在其中扮演极其重要的角色,也会在深度学习栈和基础设施领域奋起直追。然而,“弯道超车”需要建立在技术沉淀和产品实力之上,我们只有切实地扎根于现有的分布式机器学习技术体系,并对其进行深耕,才能为更好的创新和发展打下基础。大家都已在路上,没有人直接掌握着通向未来的密码,但面对不可阻挡的深层次的信息革命和无限的发展机遇,我们必须有所准备。复杂模型的挑战
  为了降低在大型数据集上训练大型模型的计算成本,研究人员早已转向使用分布式计算体系结构(在此体系结构中,许多机器协同执行机器学习方法)。人们创建了算法和系统,以便在多个CPU或GPU上并行化机器学习(Machine Learning,ML)程序(多设备并行),或者在网络上的多个计算节点并行化机器学习训练(分布式并行)。这些软件系统利用最大似然理论的特性来实现加速,并随着设备数量的增加而扩展。理想情况下,这样的并行化机器学习系统可以通过减少训练时间来实现大型模型在大型数据集上的并行化,从而实现更快的开发或研究迭代。
  然而,随着机器学习模型在结构上变得更加复杂,对于大多数机器学习研究人员和开发人员来说,即便使用TensorFlow、PyTorch、Horovod、Megatron、DeepSpeed等工具,编写高效的并行化机器学习程序仍然是一项艰巨的任务,使用者需要考虑的因素太多,比如:
  系统方面。现有系统大多是围绕单个并行化技术或优化方案来构建的,对组合多种策略的探索不足,比如不能完全支持各种混合并行。
  性能方面。不同并行化策略在面对不同的算子时,性能差异明显。有些框架未考虑集群物理拓扑(集群之中各个设备的算力、内存、带宽有时会存在层级的差距),使用者需要依据模型特点和集群网络拓扑来选择或者调整并行化策略。
  易用性方面。很多系统需要开发人员改写现有模型,进行手动控制,比如添加通信原语,控制流水线等。不同框架之间彼此割裂,难以在不同并行策略之间迁移。
  可用性方面。随着训练规模扩大,硬件薄弱或设计原因会导致单点故障概率随之增加,如何解决这些痛点是个严重问题。
  总之,在将分布式并行训练系统应用于复杂模型时,“开箱即用”通常会导致低于预期的性能,求解最优并行策略成为一个复杂度极高的问题。为了解决这个问题,研究人员需要对分布式系统、编程模型、机器学习理论及其复杂的相互作用有深入的了解。
  本书是笔者在分布式机器学习领域学习和应用过程中的总结和思考,期望能起到抛砖引玉的作用,带领大家走入/熟悉分布式机器学习这个领域。本书的内容组织
  PyTorch是大家最常用的深度学习框架之一,学好PyTorch可以很容易地进入分布式机器学习领域,所以全书以PyTorch为纲进行穿插讲解,从系统和实践的角度对分布式机器学习进行梳理。本书架构如下。