深度学习扩展之道:软硬件与数据协同构建可扩展大模型系统
深度学习扩展之道:软硬件与数据协同构建可扩展大模型系统
Suneeta Mall
李波, 朱颖异, 孙强 译
出版时间:2026年03月
页数:351
“一种全新的范式正在兴起:我们的程序将基于分布式架构、以数据为核心进行构建。这要求我们转变开发思路,同时也带来了一系列新挑战:如何在盘活数据价值的同时,应对分布式计算产生的各类问题。本书全面阐释了这一范式的内涵,既可作为入门开发者的优质读物,也是资深专家的权威参考资料。”
——Giovanni Alzetta博士
Oramasearch机器学习工程师

将深度学习项目大规模落地生产极具挑战性。若要成功实现项目规模化,需要从底层吃透深度学习技术栈,尤其要理解深度学习与硬件、软件及数据的交互逻辑。
本书十分适合关注模型规模化开发的各类读者,以清晰易懂的方式拆解深度学习技术栈中的复杂概念,并搭配实战练习强化理解。作者Suneeta Mall深度拆解核心原理、工具与技术,助力读者高效且高性价比地完成深度学习模型的规模化开发与训练。
通过学习本书,你将掌握:
● 模型拆解为计算图的方法,以及训练过程中数据在计算图内的流动机制。
● 加速计算对训练速度的提升逻辑,以及最大化利用现有硬件资源的方法。
● 如何运用分布式训练范式完成模型训练(含数据并行、模型并行、流水线并行及混合多维并行)。
● 调试、监控并定位阻碍模型训练规模化的性能瓶颈。
● 如何加速训练生命周期、优化反馈闭环以迭代模型开发,以及规模化训练负载的相关技巧、工具与技术。
● 如何运用以数据为中心的技术,高效实现模型的大规模训练。
  1. 前言
  2. 第1章 自然和历史在规模方面给予我们的启示
  3. 1.1 扩展的哲学
  4. 1.1.1 通用扩展定律
  5. 1.1.2 通用扩展定律的历史
  6. 1.2 可扩展系统
  7. 1.2.1 作为可扩展系统的自然界
  8. 1.2.2 人类视觉系统的生物学启示
  9. 1.3 人工智能:可学习系统的演进
  10. 1.3.1 四者协作
  11. 1.3.2 深度学习的发展趋势
  12. 1.4 深度学习中的扩展
  13. 1.4.1 六大开发考虑因素
  14. 1.4.2 扩展考量
  15. 1.5 本章小结
  16. 第一部分 深度学习基础
  17. 第2章 深度学习
  18. 2.1 深度学习中数据的作用
  19. 2.2 深度学习中的数据流
  20. 2.3 动手练习#1:实现极简深度学习
  21. 2.3.1 开发模型
  22. 2.3.2 嵌入/潜在空间
  23. 2.3.3 注意事项
  24. 2.3.4 学习率与损失地形图
  25. 2.3.5 扩展方面的考虑因素
  26. 2.3.6 性能分析
  27. 2.4 动手练习#2:PyTorch进阶
  28. 2.4.1 模型输入数据与流水线
  29. 2.4.2 模型
  30. 2.4.3 辅助工具
  31. 2.4.4 融会贯通
  32. 2.5 计算图
  33. 2.6 推理
  34. 2.7 本章小结
  35. 第3章 深度学习的计算层面
  36. 3.1 数字世界的希格斯玻色子
  37. 3.1.1 浮点数:看似连续的数值
  38. 3.1.2 数据的计量单位
  39. 3.1.3 数据存储格式:延迟与吞吐量之间的权衡
  40. 3.2 计算机架构
  41. 3.2.1 机电引擎的诞生
  42. 3.2.2 内存与持久性
  43. 3.2.3 计算与内存的融合
  44. 3.3 电子领域中的扩展定律
  45. 3.4 利用并行化扩展计算
  46. 3.4.1 线程与进程:并行化单元
  47. 3.4.2 用于加速的硬件优化库
  48. 3.4.3 并行计算机架构:弗林和邓肯的分类法
  49. 3.5 加速计算
  50. 3.5.1 深度学习常用加速设备
  51. 3.5.2 CUDA
  52. 3.5.3 加速器基准测试
  53. 3.6 本章小结
  54. 第4章 整合全局:高效深度学习
  55. 4.1 动手练习#1:GPT-2
  56. 4.1.1 练习目标
  57. 4.1.2 模型架构
  58. 4.1.3 实现
  59. 4.1.4 运行示例
  60. 4.1.5 实验追踪
  61. 4.1.6 通过测量来理解局限性并扩展规模
  62. 4.1.7 从语言到视觉
  63. 4.2 动手练习#2:卷积视觉模型
  64. 4.2.1 模型架构
  65. 4.2.2 运行示例
  66. 4.2.3 观察
  67. 4.3 使用 PyTorch 2.0 进行图编译
  68. 4.3.1 PyTorch 2.0中的新组件
  69. 4.3.2 PyTorch 2.0中的图执行流程
  70. 4.4 在单个设备上扩展训练的建模技术
  71. 4.4.1 图编译
  72. 4.4.2 低精度训练与混合精度训练
  73. 4.4.3 高效内存管理技巧
  74. 4.4.4 优化器效率
  75. 4.4.5 模型输入流水线技巧
  76. 4.4.6 在PyTorch 2.0中利用Triton编写自定义内核
  77. 4.5 本章小结
  78. 第二部分 分布式训练
  79. 第5章 分布式系统与通信
  80. 5.1 分布式系统
  81. 5.1.1 分布式计算的八大谬论
  82. 5.1.2 CAP定理
  83. 5.1.3 分布式系统的扩展定律
  84. 5.1.4 分布式系统的类型
  85. 5.2 分布式系统中的通信
  86. 5.2.1 通信范式
  87. 5.2.2 通信模式
  88. 5.2.3 通信技术
  89. 5.2.4 MPI
  90. 5.2.5 通信初始化:会合
  91. 5.2.6 动手练习
  92. 5.3 扩展计算能力
  93. 5.3.1 基础设施搭建方案
  94. 5.3.2 加速设备的配置
  95. 5.3.3 工作负载管理
  96. 5.4 深度学习基础设施综述
  97. 5.4.1 主要深度学习集群概览
  98. 5.4.2 当今最强大系统的共性
  99. 5.5 本章小结
  100. 第6章 分布式深度学习的理论基础
  101. 6.1 分布式深度学习
  102. 6.1.1 中心化分布式深度学习
  103. 6.1.2 去中心化分布式深度学习
  104. 6.2 用于扩展分布式深度学习的维度
  105. 6.2.1 分布式深度学习的维度划分
  106. 6.2.2 分布式深度学习的技术类型
  107. 6.2.3 扩展技术的选择
  108. 6.3 扩展性能度量
  109. 6.3.1 端到端指标与基准测试
  110. 6.3.2 在可复现环境中进行渐进式测量
  111. 6.4 本章小结
  112. 第7章 数据并行
  113. 7.1 数据分区
  114. 7.1.1 数据采样策略的影响
  115. 7.1.2 使用远程数据集
  116. 7.2 数据并行技术介绍
  117. 7.2.1 动手练习#1:基于RPC实现中心化参数服务器
  118. 7.2.2 动手练习#2:中心化梯度分区工作节点/服务器联合分布式训练
  119. 7.2.3 动手练习#3:去中心化异步分布式训练
  120. 7.3 中心化同步数据并行策略
  121. 7.3.1 数据并行
  122. 7.3.2 分布式数据并行
  123. 7.3.3 零冗余优化器驱动的数据并行
  124. 7.3.4 容错训练
  125. 7.3.5 动手练习#4:使用分布式数据并行完成场景解析任务
  126. 7.3.6动手练习#5:分布式分片数据并行
  127. 7.4 构建高效流水线
  128. 7.4.1 数据集格式
  129. 7.4.2 本地与远程
  130. 7.4.3 分阶段处理
  131. 7.4.4 线程与进程:扩展流水线
  132. 7.4.5 内存技巧
  133. 7.4.6 数据增强:CPU与GPU的对比
  134. 7.4.7 JIT加速
  135. 7.4.8 动手练习#6:利用FFCV提升流水线效率
  136. 7.5 本章小结
  137. 第8章 超越数据并行的扩展:模型并行、流水线并行、张量并行与混合并行
  138. 8.1 纵向扩展前需要问的问题
  139. 8.2 纵向扩展的理论基础
  140. 8.2.1重新审视扩展的维度
  141. 8.2.2 算子视角下的并行维度
  142. 8.2.3 纵向扩展中的数据流与通信
  143. 8.3 超越数据并行扩展的基本构建块
  144. 8.3.1 PyTorch纵向扩展的基本要素
  145. 8.3.2 处理大模型
  146. 8.3.3 分布式检查点:保存分区模型
  147. 8.4 本章小结
  148. 第9章 多维扩展实践
  149. 9.1 动手练习:模型并行、张量并行、流水线并行和混合并行
  150. 9.1.1 数据集
  151. 9.1.2 动手练习#1:基准DeepFM
  152. 9.1.3 动手练习#2:模型并行DeepFM
  153. 9.1.4 动手练习 #3:流水线并行DeepFM
  154. 9.1.5 动手练习#4:使用 RPC的流水线并行DeepFM
  155. 9.1.6 动手练习#5:张量并行 DeepFM
  156. 9.1.7 动手练习#6:混合并行DeepFM
  157. 9.2 用于纵向扩展的工具与函数库
  158. 9.2.1 OneFlow
  159. 9.2.2 FairScale
  160. 9.2.3 DeepSpeed
  161. 9.2.4 FSDP
  162. 9.2.5 概述与比较
  163. 9.2.6 动手练习#7:DeepSpeed自动纵向扩展
  164. 9.2.7 观察
  165. 9.3 本章小结
  166. 第三部分 极限扩展
  167. 第10章 以数据为中心的扩展
  168. 10.1 深度学习视角下数据的七个V特征
  169. 10.2 数据扩展定律
  170. 10.3 数据质量
  171. 10.3.1 有效性
  172. 10.3.2 多样性
  173. 10.3.3 真实性
  174. 10.3.4 数据价值与数据规模
  175. 10.4 数据引擎与持续学习
  176. 10.4.1 波动性
  177. 10.4.2 速度
  178. 10.5 本章小结
  179. 第11章 扩展实验:高效的实验规划与管理
  180. 11.1 模型开发是一个迭代过程
  181. 11.2 实验规划与执行
  182. 11.2.1 化繁为简
  183. 11.2.2 快速迭代以获得及时反馈
  184. 11.2.3 迭代解耦
  185. 11.2.4 可行性测试
  186. 11.2.5 开发和扩展最小可行方案
  187. 11.2.6 迭代执行设置
  188. 11.3 扩展实验的技巧
  189. 11.3.1 加速模型收敛
  190. 11.3.2 通过优化和自动化加速学习
  191. 11.3.3 通过增加专业知识加速学习
  192. 11.3.4 稀缺监督学习
  193. 11.4 动手练习
  194. 11.4.1 动手练习#1:迁移学习
  195. 11.4.2 动手练习 #2:超参数优化
  196. 11.4.3 动手练习#3:知识蒸馏
  197. 11.4.4 动手练习#4:专家混合模型
  198. 11.4.5 动手练习#5:对比学习
  199. 11.4.6 动手练习#6:元学习
  200. 11.5 本章小结
  201. 第12章 大模型的高效微调
  202. 12.1 微调技术综述
  203. 12.1.1 标准微调
  204. 12.1.2 元学习(零样本学习/少样本学习)
  205. 12.1.3 基于适配器的微调
  206. 12.1.4 低秩微调
  207. 12.2 用于参数高效微调的LoRA
  208. 12.3 量化LoRA
  209. 12.4 动手练习:基于QLoRA的微调
  210. 12.4.1 实现细节
  211. 12.4.2 推理
  212. 12.4.3 动手练习总结
  213. 12.5 本章小结
  214. 第13章 基础模型
  215. 13.1 什么是基础模型
  216. 13.2 基础模型的演进历程
  217. 13.3 开发基础模型所面临的挑战
  218. 13.3.1 度量基础模型性能的复杂性
  219. 13.3.2 部署模型所面临的挑战
  220. 13.3.3 缺陷向所有下游模型蔓延的问题
  221. 13.3.4 法律与伦理考量
  222. 13.3.5 保持一致性与连贯性
  223. 13.4 多模态大语言模型
  224. 13.4.1 投影
  225. 13.4.2 门控交叉注意力
  226. 13.4.3 基于查询的编码
  227. 13.4.4 深入探索
  228. 13.5 本章小结
书名:深度学习扩展之道:软硬件与数据协同构建可扩展大模型系统
作者:Suneeta Mall
译者:李波, 朱颖异, 孙强 译
国内出版社:机械工业出版社
出版时间:2026年03月
页数:351
书号:978-7-111-80462-8
原版书书名:Deep Learning at Scale
原版书出版商:O'Reilly Media
Suneeta Mall
 
harrison.ai(一家由临床医生主导的人工智能医疗科技企业,专注于攻克重大医疗健康问题)人工智能工程部负责人。她曾任职于IBM、Expedia、悉尼大学、Nearmap,拥有扎实的计算机科学与工程专业背景。
 
 
本书封面上的动物是欧洲鳇(学名:Huso huso)。欧洲鳇也被称为大鲟鱼或大白鳇。这种洄游鱼类主要分布在里海和黑海。
一般来说,鲟鱼身体细长、尾鳍非对称、皮肤无磷,还有一排排增厚的骨质盾鳞(即硬鳞)。欧洲鳇之所以引人注目是因为它体型庞大。鲟鱼被认为是现存第三大硬骨鱼类、世界上最大的淡水鱼,也是已知最大的肉食型鱼类之一。历史上欧洲鳇的捕获记录凸显了这种鱼的巨大体型,有些重达数千磅(1磅约等于0.45千克)。目前捕获的欧洲鳇体长一般约为 4到11英尺(1英尺约等于0.3048米),体重在42到582磅之间。然而,也有已知欧洲鳇的体型远超这一范围。
这种鱼的外观在其生命过程中会发生变化。幼年时,欧洲鳇身体细长,头部狭窄,嘴巴朝上,侧面是深灰色或黑色,腹部是白色;成年后,欧洲有一个巨大的头部,嘴巴逐渐移到正面位置,吻部较短,颜色变为蓝灰色或深棕色,侧面呈银色或灰色,但腹部仍然是白色。随着年龄的增长,尤其是在老年时期,欧洲最主要的特征是嘴巴巨大。
与外观变化类似,在其生命过程中,欧洲鳇的饮食也会发生变化。幼年时,欧洲以底栖无脊椎动物为食;成年后,欧洲鳇会食用多种大型鱼类,占其饮食的73%。欧洲鳇食用的其他食物包括软体动物、甲壳类动物、水鸟和幼年海豹等。
欧洲鳇(尤其是雌鱼)因鱼子酱而被大量捕捞。自2005年以来,美国鱼类与野生动物管理局(United States Fish and Wildlife Service)已禁止进口欧洲鳇鱼子酱和其他欧洲鳇产品。随着时间的推移,由于过度捕捞和偷猎,欧洲鳇的数量已经减少,该物种目前被认为是极度濒危物种。O'Reilly封面中的许多动物都濒临灭绝,它们对世界都很重要。
购买选项
定价:129.00元
书号:978-7-111-80462-8
出版社:机械工业出版社