大模型动力引擎——PyTorch性能与显存优化手册
大模型GPU显存优化一本通

作者:张爱玲、杨占略

定价:89元

印次:1-1

ISBN:9787302673477

出版日期:2024.10.01

印刷日期:2024.10.18

图书责编:申美莹

图书分类:零售

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

本书致力于探索如何在大规模深度学习模型训练中,**限度地提高性能和优化显存使 用。本书面向深度学习从业者,尤其是希望深入了解并提升模型训练效率的工程师与研究 人员。随着深度学习模型和数据规模的迅速增长,如何高效利用硬件资源,减少训练时间, 成为当前AI系统工程的关键挑战。本书从硬件和软件的基础知识入手,逐步引导读者理解 和掌握PyTorch的优化技巧。内容涵盖从单机到分布式训练,从显存管理到性能分析的多种 优化策略,力求通过丰富的代码实例和深入的原理讲解,使读者能够在实践中灵活应用这些 方法。

"张爱玲,本科毕业于清华大学电子工程系,后在美国伊利诺伊大学香槟分校获得计算机科学硕士学位,是AI系统工程领域的资深技术专家。作为深度学习框架PyTorch核心团队成员,参与了多个关键组件的研发与优化工作。同时,她作为技术负责人主导了PyTorch/XLA和Taichi编译器等多个具有广泛影响力的开源项目。目前在工业界专注于大规模语言模型训练的基础设施开发与性能优化工作。杨占略,清华大学本科,哥伦比亚大学硕士,资深技术专家。曾先后任职于苹果、百度、太极图形公司,分别从事深度学习推理框架、训练框架PaddlePaddle以及Taichi编译器的开发。现就职于大疆公司,聚焦于端侧模型优化、推理部署相关工作。"

前言 2022年底,由OpenAI发布的ChatGPT展现了人工智能(Artificial Intelligence,AI)与人类进行流畅对话和问答的专业能力,刚一发布就引发了巨大关注。作为生成式AI领域的第一个现象级产品,ChatGPT已经在搜索、编程、客服等多个领域显著提升了人类的工作效率。人们不仅对AI模型目前的能力感到惊讶,更对其跨行业多领域的应用潜力感到振奋,许多人甚至认为一个由人工智能驱动的第四次工业革命已经拉开序幕。 ChatGPT的成功不仅归功于其出色的模型架构,还得益于其在工程方面的极致优化—这个庞大的模型基于海量互联网文本数据,在由超过一万张GPU组成的计算集群上进行了数月的训练。这不仅需要在稳定性和性能方面对分布式训练策略进行极致优化,还充分挑战了当前软件和硬件的极限,成为了AI工程领域的里程碑。 AI系统工程(AI Systems Engineering)是AI算法与系统的交叉领域。从训练到部署,所有涉及软件和计算集群的部分几乎都可以划为AI系统工程的范围,包括持续优化的GPU硬件架构、建立高速互联的GPU数据中心、开发用户友好且可扩展的AI框架等。目前市面上有许多关于AI算法和模型架构方面的书籍和课程,但关于AI系统工程的资料却非常稀缺。这些工程实践技巧通常散落在用户手册、专家博客,甚至GitHub问题讨论中,由于覆盖面广且知识点分散,新入行的工程师在系统性构建AI系统工程知识体系时面临诸多挑战。 因此,本书致力于实现以下两个目标: 从深度学习训练的视角讲解AI工程中必要的软硬件组件,帮助读者系统性地了解深度学习性能问题的根源。详尽分析硬件参...

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

第1章 欢迎来到这场大模型竞赛 1

1.1 模型规模带来的挑战 2

1.2 数据规模带来的挑战 3

1.3 模型规模与数据增长的应对方法 4

第2章 深度学习必备的硬件知识 6

2.1 CPU与内存 7

2.1.1 内存 7

2.1.2 CPU 9

2.2 硬盘 11

2.3 GPU 13

2.3.1 CPU的局限性 13

2.3.2 GPU的硬件结构 14

2.3.3 GPU编程模型及其硬件对应 18

2.3.4 GPU的关键性能指标 19

2.3.5 显存与内存间的数据传输 19

2.4 分布式系统 22

2.4.1 单机多卡的通信 22

2.4.2 多机多卡的通信 24

2.4.3 分布式系统的数据存储 24

第3章 深度学习必备的PyTorch知识 26

3.1 PyTorch 的张量数据结构 27

3.1.1 张量的基本属性及创建 27

3.1.2 访问张量的数据 28

3.1.3 张量的存储方式 29

3.1.4 张量的视图 32

3.2 PyTorch中的算子 33

3.2.1 PyTorch的算子库 33

3.2.2 PyTorch算子的内存分配 35

3.2.3 算子的调用过程 36

3.3 PyTorch的动态图机制 38

3.4 PyTorch的自动微分系统 41

3.4.1 什么是自动微分 41

3.4.2 自动微分的实现 42

3.4.3 Autograd 扩展自定义算子 46

3.5 PyTorch的异步执行机制 47

第4章 定位性能瓶颈的工具和方法 51

4.1 配置... 查看详情

了解如何实现大模型显存和性能优化

查看详情