深度学习部署性能调优指南
📚 30 章 · 从入门到实战
v2.0
01
性能调优概述
为什么需要性能调优?深度学习部署的常见瓶颈,调优的通用方法论。
🚀 入门
02
模型分析与Profiling
使用Profiling工具(Nsight、PyTorch Profiler)定位性能热点,理解算子耗时与内存带宽瓶颈。
🔍 诊断
03
算子优化基础
常见算子(Conv、MatMul、Activation)计算特性与优化思路,访存密集型与计算密集型区分。
⚙️ 核心
04
内存优化策略
减少内存分配与拷贝,内存池化技术,Tensor复用与In-place操作。
🧠 存储
05
计算图优化
算子融合(Fusion),常量折叠,死代码消除,图切分与并行执行。
📉 图优化
06
量化技术
INT8/FP16量化原理,QAT与PTQ,量化对性能与精度的影响。
🔢 量化
07
模型剪枝与稀疏化
结构化剪枝与非结构化剪枝,稀疏矩阵计算加速,N:M稀疏模式。
✂️ 剪枝
08
知识蒸馏
教师-学生模型架构,蒸馏损失函数设计,蒸馏在部署中的实际收益。
🧪 蒸馏
09
编译器优化
TVM、XLA、TensorRT等编译器原理,自动调优与模板化算子。
⚡ 编译
10
TensorRT实战
模型导出(ONNX → TensorRT),动态shape处理,INT8校准与精度调试。
🔥 TensorRT
11
ONNX Runtime优化
ONNX图优化,Execution Provider选择(CPU/CUDA/TensorRT),Session配置调优。
⚡ ONNX
12
GPU Kernel优化
CUDA编程基础,Grid/Block/Thread配置,Shared Memory与Bank Conflict。
🖥️ GPU
13
CUDA Stream与异步执行
多Stream并发,Host-Device异步传输,Event同步机制。
⏳ 异步
14
NCCL与多卡通信
AllReduce、AllGather等集合通信原语,通信与计算重叠,拓扑感知优化。
🌐 多卡
15
CPU推理优化
Intel MKL、oneDNN库的使用,数据布局(NHWC vs NCHW),多线程并行。
🧠 CPU
16
ARM端侧优化
Neon指令集,内存对齐与缓存优化,算子汇编级调优。
📱 ARM
17
模型部署框架选型
TensorRT、OpenVINO、TFLite、CoreML等框架的适用场景与性能对比。
🧩 框架
18
服务端部署架构
模型服务化(Triton、TorchServe),动态批处理,请求调度策略。
☁️ 服务
19
推理引擎内部机制
模型加载与解析,内存管理,执行流水线(Pipeline)设计。
⚙️ 引擎
20
性能基准测试
设计合理的Benchmark,Latency/Throughput/内存占用,P50/P99统计方法。
📊 基准
21
数据预处理加速
数据加载Pipeline(DALI、DataLoader),图像预处理算子优化,异步数据增强。
📂 数据
22
模型集成与多模型部署
多模型串行/并行推理,模型版本管理,A/B测试框架。
🧩 集成
23
边缘设备部署
Jetson、RK3588等平台优化,功耗与性能平衡,模型分片与异构计算。
📡 边缘
24
Web端与浏览器推理
WebGL、WebGPU、WebAssembly,ONNX Runtime Web,模型压缩与流式加载。
🌐 Web
25
性能监控与告警
部署后性能指标采集,Prometheus + Grafana监控体系,异常检测与自动回滚。
📈 监控
26
自动调参(HPO)
贝叶斯优化、网格搜索在推理参数(Batch Size、线程数)上的应用。
🎛️ 调参
27
分布式推理
模型并行与数据并行,流水线并行,大规模集群部署的挑战。
🗺️ 分布式
28
安全与鲁棒性
模型加密与混淆,对抗样本防御,推理结果校验。
🔒 安全
29
案例实战1:ResNet50
图像分类模型从PyTorch到TensorRT的全流程调优。
📸 实战
30
案例实战2:LLM推理优化
GPT类推理优化,KV Cache、PageAttention、Continuous Batching技术。
🤖 LLM