图书目录

目    录

第 1 部分  大模型概述与核心优化技术

第 1 章  大模型基本概念 3

1.1  大模型的兴起与发展 3

1.1.1  大规模神经网络 4

1.1.2  Transformer编码器-解码器 5

1.1.3  MoE架构 7

1.2  计算资源与性能瓶颈 9

1.2.1  GPU简介 10

1.2.2  TPU简介 12

1.2.3  网络带宽约束与分布式训练 13

1.2.4  大模型的训练时间与计算资源消耗问题 14

1.3  数据与隐私问题 16

1.3.1  急剧增加的数据量 16

1.3.2  数据隐私保护与合规性 19

1.4  模型部署与运维 20

1.4.1  模型部署基本概念 20

1.4.2  云计算与边缘计算 25

1.4.3  端侧部署 29

1.4.4  大模型运行与维护 30

1.5  本章小结 34

1.6  思考题 34

第 2 章  模型压缩、训练与推理 36

2.1  模型压缩概述 36

2.1.1  模型压缩简介 36

2.1.2  常见的模型压缩方法分类 37

2.2  训练加速基础 38

2.2.1  数据并行与模型并行 39

2.2.2  混合精度训练 40

2.2.3  分布式训练框架:Horovod 44

2.3  推理加速基础 49

2.3.1  硬件加速与推理引擎 49

2.3.2  低延迟与高吞吐量平衡 55

2.3.3  推理优化实战:批量推理 58

2.4  性能评估指标 62

2.4.1  计算复杂度与性能指标 62

2.4.2  延迟、吞吐量与精度之间的权衡 63

2.4.3  评估工具与基准测试 67

2.5  本章小结 74

2.6  思考题 75

第 3 章  模型格式转换 76

3.1  模型格式的定义与转换 76

3.1.1  常见的模型格式:ONNX、TensorFlow的SavedModel 76

3.1.2  模型格式转换实现 81

3.1.3  模型的兼容性问题 86

3.2  跨框架模型转换 90

3.2.1  TensorFlow到PyTorch的模型转换 90

3.2.2  ONNX与TensorFlow、PyTorch的兼容性 93

3.2.3  转换时的精度损失问题 99

3.3  硬件相关的格式转换 105

3.3.1  从PyTorch到TensorRT 106

3.3.2  ONNX模型与NVIDIA TensorRT的兼容性 112

3.3.3  模型格式与硬件加速的关系 113

3.4  模型格式转换的工具与库 114

3.4.1  使用ONNX进行跨平台转换 115

3.4.2  TensorFlow Lite与Edge模型优化 117

3.5  本章小结 122

3.6  思考题 123

第 4 章  图优化 124

4.1  算子融合技术 124

4.1.1  算子融合的原理 124

4.1.2  典型算子融合算法的实现 126

4.1.3  实验:算子融合对推理性能的提升 129

4.2  布局转换与优化 133

4.2.1  张量布局的原理 133

4.2.2  内存访问优化与布局选择 135

4.3  算子替换技术 137

4.3.1  用低开销算子替换高开销算子 137

4.3.2  常见的算子替换策略 139

4.4  显存优化 142

4.4.1  显存占用分析与优化 142

4.4.2  梯度检查点与显存共享 145

4.4.3  动态显存分配与内存池管理 148

4.5  本章小结 152

4.6  思考题 152

第 5 章  模型压缩 154

5.1  量化 154

5.1.1  定点量化与浮点量化的区别 154

5.1.2  量化算法与工具:TensorFlow Lite 157

5.1.3  量化带来的精度损失问题 160

5.2  知识蒸馏 163

5.2.1  知识蒸馏的基本概念与应用场景 163

5.2.2  知识蒸馏的损失函数与训练过程 164

5.2.3  如何选择蒸馏-教师网络模型 167

5.3  剪枝 169

5.3.1  网络剪枝基本原理 169

5.3.2  基于权重剪枝与结构化剪枝 171

5.3.3  剪枝后的精度恢复方案 177

5.4  二值化与极端压缩 183

5.4.1  二值化网络的构建与训练 183

5.4.2  二值化对计算与存储的影响 186

5.5  本章小结 189

5.6  思考题 189

第 2 部分  端侧学习与高效计算引擎优化

第 6 章  端侧学习、端侧推理及计算引擎优化 193

6.1  联邦学习概述 193

6.1.1  联邦学习的基本概念与应用 193

6.1.2  联邦学习中的隐私保护机制、通信与聚合算法 194

6.2  数据处理与预处理 197

6.2.1  数据清洗与增广技术 197

6.2.2  数据均衡与过采样策略 199

6.2.3  端侧数据处理的资源限制 201

6.3  Trainer与优化器设计 202

6.3.1  端侧训练的挑战与策略 203

6.3.2  高效优化器(如SGD、Adam)的选择 204

6.3.3  动态调整学习率与训练过程监控 206

6.4  损失函数的设计与选择 209

6.4.1  常见的损失函数与应用场景 209

6.4.2  多任务学习中的损失函数设计 210

6.4.3  损失函数的数值稳定性 213

6.5  Benchmark设计与性能评估 215

6.5.1  经典Benchmark与定制Benchmark 215

6.5.2  推理与训练性能的综合评估 216

6.5.3  性能瓶颈的识别与优化 219

6.6  IR的作用与优化 222

6.6.1  IR的定义及作用 222

6.6.2  IR转换与优化策略 223

6.7  Schema的设计与规范 225

6.7.1  数据格式与模型接口的设计 225

6.7.2  数据流与计算图的规范化 228

6.8  动态Batch与内存调度 231

6.8.1  动态Batch的选择与调整 231

6.8.2  内存调度与性能优化 234

6.8.3  优化内存利用率与减少内存溢出 237

6.9  异构执行与优化 240

6.9.1  GPU与CPU的异构计算模式原理 240

6.9.2  多核心与多节点并行优化 242

6.9.3  异构计算中的任务调度 245

6.10  装箱操作与计算图优化 247

6.10.1  通过装箱减少计算开销 248

6.10.2  装箱优化对计算图的影响 250

6.11  本章小结 256

6.12  思考题 257

第 7 章  高性能算子库简介 258

7.1  cuDNN算子库概述 258

7.1.1  cuDNN的主要功能 258

7.1.2  常用算子(卷积、池化等)的实现 259

7.1.3  算子加速实战:cuDNN在深度学习中的应用 262

7.2  MKLDNN算子库概述 265

7.2.1  MKLDNN与Intel硬件的优化 265

7.2.2  MKLDNN中的高效算子实现 266

7.2.3  多核支持与并行计算优化 269

7.3  算子库的选择与性能比较 271

7.3.1  cuDNN与MKLDNN的应用场景对比 271

7.3.2  在不同硬件平台上的表现 272

7.4  算子库的高效利用 275

7.4.1  如何选择合适的算子库 275

7.4.2  优化算子库接口与内存管理 276

7.4.3  算法重构:提高算子性能 278

7.5  本章小结 282

7.6  思考题 283

第 3 部分  高性能算子与深度学习框架应用

第 8 章  常用高性能算子开发实战 287

8.1  NEON与ARM架构优化 287

8.1.1  NEON指令集与深度学习加速 287

8.1.2  ARM架构上的并行计算优化 289

8.1.3  使用NEON实现卷积等算子加速 291

8.2  CUDA与GPU优化 294

8.2.1  CUDA编程模型与内存管理 295

8.2.2  CUDA流与核函数优化 297

8.2.3  高效利用GPU并行计算资源 300

8.3  Vulkan与图形加速 303

8.3.1  Vulkan的低级控制与优化 304

8.3.2  使用Vulkan进行推理加速 311

8.3.3  图形与计算并行加速的结合 312

8.4  AVX与OpenCL的优化 321

8.4.1  AVX与CPU优化的基本原理 321

8.4.2  OpenCL与跨平台加速 322

8.5  本章小结 327

8.6  思考题 327

第 9 章  TIK、YVM算子原理及其应用 328

9.1  TIK算子库的应用 328

9.1.1  TIK算子库与TensorFlow Lite的集成 328

9.1.2  使用TIK进行卷积与矩阵乘法加速 330

9.2  YVM算子库的应用 332

9.2.1  YVM在深度学习推理中的高效应用 332

9.2.2  YVM的硬件适配与优化 334

9.3  本章小结 346

9.4  思考题 346

第 10 章  基于DeepSeek-V3分析大模型训练降本增效技术 347

10.1  DeepSeek-V3架构概述 347

10.1.1  DeepSeek-V3的架构设计与创新 347

10.1.2  模型参数共享与层次结构优化 350

10.2  DeepSeek-V3的训练降本技术分析 354

10.2.1  FP8精度训练、混合精度训练与分布式训练 354

10.2.2  动态计算图 357

10.2.3  自适应批处理与梯度累积技术 359

10.2.4  Sigmoid路由机制 363

10.2.5  无辅助损失负载均衡算法 365

10.2.6  DualPipe算法 370

10.2.7  All-to-All跨节点通信 375

10.3  DeepSeek-V3的推理加速技术 377

10.3.1  量化与蒸馏在DeepSeek-V3中的应用 377

10.3.2  模型压缩与推理速度提升 381

10.4  本章小结 383

10.5  思考题 383