华为云AI开发平台ModelArts训练前卡死_云淘科技

作业为多节点训练,且还未开始训练时发生卡死,可以在代码中加入os.environ[“NCCL_DEBUG”] = “INFO”,查看NCCL DEBUG信息。

问题现象1

日志中还未出现NCCL DEBUG信息时已卡死。

解决方案1

检查代码,检查是否有参数中未传入“master_ip”和“rank”参数等问题。

问题现象2

若发现有的节点含有GDR信息(分布式)。

而有的节点无GDR信息,导致卡死的原因可能为GDR。

解决方案2

在程序开头设置os.environ[“NCCL_NET_GDR_LEVEL”] = ‘0’或者寻找运维人员将机器添加GDR。

问题现象3

NCCL信息中报出Got completion with error 12, opcode 1, len 32478, vendor err 129等通信信息时,说明当前网络不是很稳定。

解决方案3

可加入3个环境变量。

NCCL_IB_GID_INDEX=3: 使用RoCE v2协议,默认使用RoCE v1,但是v1在交换机上没有拥塞控制,可能丢包,而且后面的交换机不会支持v1,就无法启动。
NCCL_IB_TC=128:数据包走交换机的队列4通道,这是RoCE协议标准。
NCCL_IB_TIMEOUT=22:把超时时间设置长一点,正常情况下网络不稳定会有5s钟左右的间断,超过5秒就返回timeout了,改成22预计有二十秒左右,算法为4.096 µs * 2 ^ timeout。

更多信息请参见:https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/env.html#nccl-ib-timeout

父主题: 训练作业卡死

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家