基于深度学习框架的调优工具推荐
作为一个在分布式大模型训练中摸爬滚打的工程师,今天来分享几个实用的调优工具,希望能帮到正在踩坑的你。
1. NVIDIA Nsight Systems
这是NVIDIA官方的性能分析工具,特别适合做显卡性能调优。使用方法:
nsys profile --output=profile.qdrep python train.py
然后在GUI中查看各算子的耗时,定位瓶颈。
2. PyTorch Profiler
内置Profiler非常实用,推荐这样使用:
with torch.profiler.profile(
activities=[torch.profiler.ProfilerActivity.CPU, torch.profiler.ProfilerActivity.CUDA],
record_shapes=True
) as prof:
# 训练代码
output = model(input)
loss = criterion(output, target)
loss.backward()
optimizer.step()
print(prof.key_averages().table(sort_by="cuda_time_total", row_limit=10))
3. DeepSpeed Profiler
在DeepSpeed中可以这样配置:
{
"optimizer": {
"type": "Adam",
"params": {
"lr": 1e-4,
"betas": [0.9, 0.999],
"eps": 1e-8
}
},
"scheduler": {
"type": "WarmupLR",
"params": {
"warmup_min_lr": 0,
"warmup_max_lr": 1e-4,
"warmup_num_steps": 100
}
}
}
实战建议:
先用PyTorch Profiler定位问题,再用Nsight细化到GPU层面,最后配合DeepSpeed的优化器参数进行调优。
注意:工具选择要根据训练环境和瓶颈类型来定,盲目使用反而会增加复杂度。

讨论