Pytorch采坑记录:DDP 损失和精度比 DP 差,多卡GPU比单卡GPU效果差

结论:调大学习率或者调小多卡GPU的batch_size

转换DDP模型后模型的整体学习率和batch_size都要变。

当前配置::1GPU:学习率=0.1,batch_size=64

如果8GPU还按之前1GPU配置:8GPU:学习率=0.1,batch_size=64

那么此时对于8GPU而言,效果几乎等于::1GPU:学习率=0.1,batch_size=64 * 8=512

这种8GPU情况下,batch_size等效变大,效果就差了,参考Goyal et al

解决方法是调大学习率或者调小多卡GPU的batch_size

比如上面调大学习率改为 8GPU:学习率=0.1 * 8=0.8,batch_size=64学习率=0.1 * √8 =√8 ,batch_size=64

或者调小batch_size 8GPU:学习率=0.1,batch_size=8

参考:

  1. https://github.com/Lightning-AI/pytorch-lightning/discussions/3706
  2. https://arxiv.org/pdf/1706.02677.pdf
相关推荐
七宝大爷1 分钟前
CUDA与cuDNN:深度学习加速库
人工智能·深度学习·cuda·cudnn
程序员杰哥2 分钟前
接口测试之文件上传
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
2401_841495643 分钟前
【自然语言处理】单字与双字字频统计算法设计
人工智能·python·算法·自然语言处理·单字·双字·字频统计
一水鉴天4 分钟前
整体设计 定稿 之29 整体设计表述总表 的专用读表工具-自然语言处理(codybuddy)
人工智能·自然语言处理·重构
fegggye5 分钟前
创建一个rust写的python库[signatures和错误处理]
开发语言·python·rust
JoannaJuanCV14 分钟前
自动驾驶—CARLA仿真(13)dynamic_weather demo
人工智能·机器学习·自动驾驶·carla
拉姆哥的小屋16 分钟前
从400维向量到160000维矩阵:基于深度学习的火焰参数预测系统全解析
开发语言·人工智能·python·深度学习·线性代数·算法·矩阵
北京耐用通信16 分钟前
工程师实战:如何以最小成本,耐达讯自动化无缝连接Profinet转DeviceNet网关
人工智能·物联网·网络协议·自动化·信息与通信
_codemonster16 分钟前
自然语言处理容易混淆知识点(三)大模型中的参数
人工智能·自然语言处理
Elwin Wong17 分钟前
本地运行LangChain Agent用于开发调试
人工智能·langchain·大模型·llm·agent·codingagent