当前位置: 首页 > 网络应用技术

立方体开源一盘云的机器学习平台 - 托托奇分布式培训

时间:2023-03-07 19:27:21 网络应用技术

  如果单支单卡或单个机器多卡无法在有限的时间内完成培训,我们需要使用多弹药多卡分布式培训。多卡多卡分布式培训有几个困难:

  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