01
Batch Size 基础概念
什么是Batch Size、Epoch与Iteration的关系、为什么Batch Size影响吞吐量。
基础吞吐量
02
硬件视角
GPU显存与计算单元、显存带宽对Batch Size的限制、CPU-GPU数据传输瓶颈。
硬件显存
03
吞吐量定义
训练吞吐量(samples/sec)、推理吞吐量(inferences/sec)、端到端吞吐量。
指标性能
04
小Batch Size的优缺点
内存占用低、收敛稳定性好、但计算效率低、通信开销占比大。
小批量收敛
05
大Batch Size的优缺点
计算效率高、吞吐量高、但显存压力大、收敛困难、泛化能力下降。
大批量显存
06
显存计算
模型参数、梯度、优化器状态、激活值的内存占用估算方法。
显存估算
07
梯度累积
原理、实现方式、与Batch Size的关系、对吞吐量的影响。
梯度累积
08
混合精度训练
FP16/FP32混合精度原理、AMP自动混合精度、对Batch Size的影响。
精度AMP
09
梯度检查点
原理、内存与计算权衡、适用场景、对吞吐量的影响。
检查点内存
10
数据加载优化
DataLoader多进程、预读取、内存映射、对Batch Size的配合。
数据IO
11
分布式训练
数据并行、模型并行、流水线并行、张量并行与Batch Size的关系。
分布式并行
12
通信开销
AllReduce、Ring AllReduce、梯度同步频率与Batch Size的权衡。
通信AllReduce
13
学习率调整
线性缩放法则、Warmup策略、学习率与Batch Size的匹配。
学习率Warmup
14
Batch Normalization
BN层与Batch Size的关系、小Batch Size下的BN问题、SyncBN。
BN归一化
15
收敛性分析
大Batch Size的泛化差距、Sharp Minima与Flat Minima、解决方案。
收敛泛化
16
经验法则
Batch Size的常见选择范围、不同任务(CV/NLP/推荐)的推荐值。
经验推荐
17
实验设计
控制变量法、吞吐量测量方法、性能Profiling工具。
实验Profiling
18
调参流程
从显存上限开始、逐步增大、观察吞吐量曲线、找到拐点。
调参流程
19
案例分析
ResNet-50训练吞吐量优化、BERT预训练Batch Size调优。
案例CVNLP
20
自动调优
AutoBatch、动态Batch Size、自适应Batch Size策略。
自动自适应
21
推理优化
推理时的Batch Size选择、动态Batching、请求合并。
推理动态
22
模型并行
张量并行与Batch Size的配合、Megatron-LM实践。
模型并行Megatron
23
流水线并行
GPipe、PipeDream、1F1B调度与Batch Size的关系。
流水线调度
24
数据并行
AllReduce梯度同步、ZeRO优化器、ZeRO-Stage与Batch Size。
数据并行ZeRO
25
显存优化
Activation Checkpointing、Offloading、内存碎片管理。
显存Offload
26
性能Profiling
NVIDIA Nsight Systems、PyTorch Profiler、TensorBoard。
Profiling工具
27
常见问题
OOM错误处理、梯度爆炸/消失、训练不稳定、吞吐量波动。
排错OOM
28
高级技巧
Batch Size与学习率协同调优、余弦退火、分层学习率。
高级协同
29
行业实践
GPT-4/LLaMA训练Batch Size、推荐系统CTR模型Batch Size。
行业LLM
30
总结与展望
Batch Size调参的核心原则、未来趋势(稀疏训练、量化训练)。
总结趋势