您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
大模型动力引擎——PYTORCH性能与显存优化手册
字数: 355
装帧: 平装
出版社: 清华大学出版社
作者: 张爱玲、杨占略 著
出版日期: 2024-10-01
商品条码: 9787302673477
版次: 1
开本: 其他
页数: 217
出版年份: 2024
定价:
¥89
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
内容简介
本书致力于探索如何在大规模深度学习模型训练中,**限度地提高性能和优化显存使 用。本书面向深度学习从业者,尤其是希望深入了解并提升模型训练效率的工程师与研究 人员。随着深度学习模型和数据规模的迅速增长,如何高效利用硬件资源,减少训练时间, 成为当前AI系统工程的关键挑战。本书从硬件和软件的基础知识入手,逐步引导读者理解 和掌握PyTorch的优化技巧。内容涵盖从单机到分布式训练,从显存管理到性能分析的多种 优化策略,力求通过丰富的代码实例和深入的原理讲解,使读者能够在实践中灵活应用这些 方法。
作者简介
"张爱玲,本科毕业于清华大学电子工程系,后在美国伊利诺伊大学香槟分校获得计算机科学硕士学位,是AI系统工程领域的资深技术专家。作为深度学习框架PyTorch核心团队成员,参与了多个关键组件的研发与优化工作。同时,她作为技术负责人主导了PyTorch/XLA和Taichi编译器等多个具有广泛影响力的开源项目。目前在工业界专注于大规模语言模型训练的基础设施开发与性能优化工作。 杨占略,清华大学本科,哥伦比亚大学硕士,资深技术专家。曾先后任职于苹果、百度、太极图形公司,分别从事深度学习推理框架、训练框架PaddlePaddle以及Taichi编译器的开发。现就职于大疆公司,聚焦于端侧模型优化、推理部署相关工作。 "
目录
目录 第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 配置性能分析所需的软硬件环境 52 4.1.1 减少无关程序的干扰 52 4.1.2 提升PyTorch 程序的可重复性 53 4.1.3 控制GPU频率 58 4.1.4 控制CPU的性能状态和工作频率 59 4.2 精确测量程序运行时间 60 4.2.1 计量CPU程序的运行时间 60 4.2.2 程序预热和多次运行取平均 61 4.2.3 计量GPU程序的运行时间 62 4.2.4 精确计量GPU的运行时间 63 4.3 PyTorch性能分析器 64 4.3.1 性能分析 65 4.3.2 显存分析 66 4.3.3 可视化性能图谱 67 4.3.4 如何定位性能瓶颈 67 4.4 GPU 专业分析工具 71 4.4.1 Nsight Systems 71 4.4.2 Nsight Compute 71 4.5 CPU 性能分析工具 75 4.5.1 Py-Spy 75 4.5.2 strace 77 4.6 本章小结 78 第5章 数据加载和预处理专题 80 5.1 数据接入的准备阶段 81 5.2 数据集的获取和预处理 82 5.2.1 获取原始数据 82 5.2.2 原始数据的清洗 82 5.2.3 数据的离线预处理 84 5.2.4 数据的存储 86 5.2.5 PyTorch与第三方库的交互 88 5.3 数据集的加载和使用 89 5.3.1 PyTorch 的 Dataset 封装 90 5.3.2 PyTorch 的 DataLoader 封装 92 5.4 数据加载性能分析 93 5.4.1 充分利用CPU的多核资源 94 5.4.2 优化CPU上的计算负载 95 5.4.3 减少不必要的CPU线程 96 5.4.4 提升磁盘效率 98 5.5 本章小结 99 第6章 单卡性能优化专题 100 6.1 提高数据任务的并行度 101 6.1.1 增加数据预处理的并行度 101 6.1.2 使用异步接口提交数据传输任务 104 6.1.3 数据传输与GPU计算任务并行 106 6.2 提高GPU计算任务的效率 109 6.2.1 增大BatchSize 109 6.2.2 使用融合算子 113 6.3 减少CPU和GPU间的同步 116 6.4 降低程序中的额外开销 118 6.4.1 避免张量的创建开销 119 6.4.2 关闭不必要的梯度计算 121 6.5 有代价的性能优化 123 6.5.1 使用低精度数据进行设备间拷贝 123 6.5.2 使用性能特化的优化器实现 125 6.6 本章小结 128 第7章 单卡显存优化专题 129 7.1 PyTorch的显存管理机制 130 7.2 显存的分析方法 131 7.2.1 使用PyTorch API查询当前显存状态 132 7.2.2 使用PyTorch的显存分析器 133 7.3 训练过程中的显存占用 135 7.4 通用显存复用方法 139 7.4.1 使用原位操作算子 139 7.4.2 使用共享存储的操作 141 7.5 有代价的显存优化技巧 142 7.5.1 跨批次梯度累加 142 7.5.2 即时重算前向张量 144 7.5.3 将GPU显存下放至CPU内存 145 7.5.4 降低优化器的显存占用 147 7.6 优化Python代码以减少显存占用 149 7.6.1 Python 垃圾回收机制 150 7.6.2 避免出现循环依赖 150 7.6.3 谨慎使用全局作用域 152 7.7 本章小结 153 第8章 分布式训练专题 155 8.1 分布式策略概述 157 8.2 集合通信原语 158 8.3 应对数据增长的并行策略 161 8.3.1 数据并行策略 161 8.3.2 手动实现数据并行算法 162 8.3.3 PyTorch的DDP封装 165 8.3.4 数据并行的性价比 167 8.3.5 其他数据维度的切分 169 8.4 应对模型增长的并行策略 169 8.4.1 静态显存切分 170 8.4.2 动态显存切分 172 8.5 本章小结 176 第9章 高级优化方法专题 178 9.1 自动混合精度训练 179 9.1.1 浮点数的表示方法 179 9.1.2 使用低精度数据类型的优缺点 181 9.1.3 PyTorch 自动混合精度训练 182 9.2 自定义高性能算子 185 9.2.1 自定义算子的封装流程 185 9.2.2 自定义算子的后端代码实现 186 9.2.3 自定义算子导入Python 188 9.2.4 自定义算子导入PyTorch 189 9.2.5 在Python中使用自定义算子 190 9.3 基于计算图的性能优化 191 9.3.1 torch.compile的使用方法 192 9.3.2 计算图的提取 194 9.3.3 图的优化和后端代码生成 196 9.4 本章小结 198 第10章 GPT-2优化全流程 199 10.1 GPT模型结构简介 200 10.2 实验环境与机器配置 203 10.3 显存优化 203 10.3.1 基准模型 204 10.3.2 使用跨批次梯度累加 204 10.3.3 开启即时重算前向张量 205 10.3.4 使用显存友好的优化器模式 205 10.3.5 使用分布式方法降低显存占用—FSDP 206 10.3.6 显存优化小结 207 10.4 性能优化 208 10.4.1 基准模型 209 10.4.2 增加 BatchSize 209 10.4.3 增加数据预处理的并行度 210 10.4.4 使用异步接口完成数据传输 211 10.4.5 使用计算图优化 211 10.4.6 使用float16混合精度训练 212 10.4.7 (可选)使用自定义算子 213 10.4.8 使用单机多卡加速训练 213 10.4.9 使用多机多卡加速训练 214 10.4.10 性能优化小结 215 结语 216
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网