ModelArts分布式训练

您所在的位置:网站首页 闪点的测试方法及原理是什么 ModelArts分布式训练

ModelArts分布式训练

2023-04-28 01:55| 来源: 网络整理| 查看: 265

问题现象

使用pytorch进行分布式训练时,报错“RuntimeError: connect() timed out”。

原因分析

如果在此之前是有进行数据拷贝的,每个节点拷贝的速度不是同一个时间完成的,然后有的节点没有拷贝完,其他节点进行torch.distributed.init_process_group()导致超时。

处理方法

如果是多个节点拷贝不同步,并且没有barrier的话导致的超时,可以在拷贝数据之前,先进行torch.distributed.init_process_group(),然后再根据local_rank()==0去拷贝数据,之后再调用torch.distributed.barrier()等待所有rank完成拷贝。具体可参考如下代码:

import moxing as mox

import torch

torch.distributed.init_process_group()

if local_rank == 0:

mox.file.copy_parallel(src,dst)

torch.distributed.barrier()

建议与总结

在创建训练作业前,推荐您先使用ModelArts开发环境调试训练代码,避免代码迁移过程中的错误。

直接使用线上notebook环境调试请参考使用JupyterLab开发模型。

配置本地IDE(Pycharm或者VSCode)联接云上环境调试请参考使用本地IDE开发模型。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3