VIP20
本课程属于:019-吞吐分析 AI算力与GPU工程 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

显存溢出定位与解决实战

📚 共计 30 章节
01
显存溢出初探
什么是显存溢出?为什么深度学习训练中容易遇到?常见报错信息解读(CUDA out of memory)。
基础报错
02
显存去哪儿了
模型参数、梯度、优化器状态、中间激活值——一张图看懂显存分配。
图解分配
03
PyTorch显存管理机制
torch.cuda API介绍、显存分配与释放策略、缓存分配器工作原理。
PyTorch机制
04
模型大小估算
如何计算模型参数量?参数量与显存占用的换算关系(FP32/FP16/INT8)。
计算精度
05
激活值显存分析
Batch Size对激活值显存的影响、序列长度对Transformer显存的影响。
激活值Transformer
06
梯度与优化器显存
Adam优化器为什么吃显存?混合精度训练如何节省显存?
优化器混合精度
07
数据加载与显存
DataLoader的num_workers设置、pin_memory的作用、数据预处理中的显存陷阱。
DataLoader陷阱
08
显存溢出定位工具(上)
nvidia-smi命令详解、实时监控显存使用、进程管理。
工具监控
09
显存溢出定位工具(下)
PyTorch Profiler、torch.cuda.memory_summary()、memory_snapshot可视化。
Profiler可视化
10
梯度累积
原理与实现、Batch Size与梯度累积的关系、实际项目中的最佳实践。
梯度累积Batch
11
混合精度训练(AMP)
FP16与FP32混合训练原理、torch.cuda.amp使用、GradScaler的作用。
AMPFP16
12
梯度检查点
时间换空间的思想、torch.utils.checkpoint使用、适用场景分析。
Checkpoint节省
13
模型并行
单机多卡模型拆分、nn.DataParallel与nn.DistributedDataParallel对比。
模型并行DDP
14
流水线并行
GPipe与PipeDream思想、torch.distributed.pipeline.sync使用。
流水线GPipe
15
张量并行
Megatron-LM的分片策略、行并行与列并行、通信开销分析。
张量并行Megatron
16
ZeRO优化器(上)
ZeRO Stage 1、2、3原理、优化器状态分片、梯度分片。
ZeRO分片
17
ZeRO优化器(下)
ZeRO Offload(CPU Offload)、NVMe Offload、DeepSpeed ZeRO配置实战。
OffloadDeepSpeed
18
显存碎片化问题
什么是显存碎片?碎片化如何导致OOM?碎片整理策略。
碎片整理
19
Batch Size调优
找到最大Batch Size的方法、梯度累积与Batch Size的权衡、动态Batch Size。
调优动态
20
序列长度优化
长序列训练的显存挑战、稀疏注意力、Flash Attention原理简介。
长序列Flash
21
模型剪枝与量化
结构化剪枝与非结构化剪枝、训练后量化(PTQ)与量化感知训练(QAT)。
剪枝量化
22
LoRA与微调显存优化
LoRA原理、QLoRA(4bit量化微调)、显存节省效果对比。
LoRA微调
23
分布式训练中的显存均衡
数据并行中的显存负载均衡、动态显存分配策略。
分布式均衡
24
实战案例(一)BERT训练OOM
从日志到定位的完整流程,BERT训练OOM排查。
实战BERT
25
实战案例(二)LLaMA微调OOM
LoRA配置错误导致显存爆炸,LLaMA微调OOM排查。
实战LLaMA
26
实战案例(三)多卡显存不均衡
某张卡先OOM的排查与解决,多卡训练显存不均衡。
实战多卡
27
实战案例(四)推理显存溢出
KV Cache管理与批量推理优化,推理阶段显存溢出。
推理KV Cache
28
显存监控与告警系统
Prometheus + Grafana监控GPU显存、自定义告警规则、自动化OOM恢复。
监控告警
29
显存溢出预防最佳实践
代码审查清单、训练前显存预算、CI/CD中集成显存测试。
最佳实践CI/CD
30
课程总结与展望
显存优化技术路线图、未来趋势(CXL、HBM3、存算一体)、推荐学习资源。
总结趋势