如果单支单卡或单个机器多卡无法在有限的时间内完成培训,我们需要使用多弹药多卡分布式培训。多卡多卡分布式培训有几个困难:
1.分布式多机多卡集群集
2. Pytorch多卡多卡分布式培训代码
3.多机,多卡分布式培训GPU利用率问题
4. CPU/GPU任务分配不均,CPU任务将占用GPU任务
为了促进pytorch分布式群集的实现,请直接在此处使用
https://github.com/tencentmusic/cube-studio开源云 - 出生的一站式机器学习平台。使用Pytorchjob模板填写您自己的启动命令并启动工人数量。
每个过程的排名不能相同。
例如,上面的MNIST代码
torch.distributed.launch将传递到您的脚本local_rank参数,同时,将传输train.py背后的参数。
因为GPU被整个卡占据,所以需要调整任务的某些参数和代码,以增加GPU视频内存使用率和GPU使用率
通过“监视”按钮,您可以输入任务操作的资源使用情况。对于过多的资源,您可以手动配置资源。
自己监视利用率
核心:CPU操作很慢,然后阻止GPU的计算
可能的原因:数据加载/网络等待/数据预处理/模型保存/损失计算/评估索引计算/日志打印/指标报告/进度报告/进度报告
通过多进程共享增加GPU利用率的概念图。
shell方法可以添加start.sh启动起始端并启动3个进程。每个进程基于原始过程添加参数。在后端输入并在末尾在所有背部端程序上运行。
添加起始侧(透明的上部参数)以将start.py添加到Python方法,并通过start.py启动多个任务过程
原始:https://juejin.cn/post/7099448814263599117
