DLLXW / baby-llama2-chinese

用于从头预训练+SFT一个小参数量的中文LLaMa2的仓库;24G单卡即可运行得到一个具备简单中文问答能力的chat-llama2.
MIT License
2.34k stars 288 forks source link

进行多卡pretrain的时候,出现了如下异常 #37

Open GromZhang opened 9 months ago

GromZhang commented 9 months ago

1695372778042

GromZhang commented 9 months ago

单卡训练没问题,但是在执行多卡运算的时候出现了如上异常,请问是什么原因导致的呢?该如何着手解决

GromZhang commented 9 months ago

执行命令为 torchrun --nproc-per-node=2 pretrain.py

DLLXW commented 9 months ago

1695372778042

os.environ['CUDA_VISIBLE_DEVICES'] = '0' 忘了修改这个地方吧

GromZhang commented 9 months ago

1695372778042

os.environ['CUDA_VISIBLE_DEVICES'] = '0' 忘了修改这个地方吧

这里已经指定了两张卡os.environ['CUDA_VISIBLE_DEVICES'] = '0,1',这个timeout看起来是分布式训练中出现通讯的问题,但是我不清楚为什么。

lixin716 commented 6 months ago

请问你解决了这个问题了吗,我也遇到了这个问题,谢谢

lixin716 commented 6 months ago

我这边最终解决这个问题是通过减小batch_size,希望对你也有用

zhoucz97 commented 3 months ago

1695372778042

os.environ['CUDA_VISIBLE_DEVICES'] = '0' 忘了修改这个地方吧

这里已经指定了两张卡os.environ['CUDA_VISIBLE_DEVICES'] = '0,1',这个timeout看起来是分布式训练中出现通讯的问题,但是我不清楚为什么。

我也遇到过这个问题,把代码里的这句注销掉了,然后使用命令CUDA_VISIBLE_DEVICES=0,1 torchrun --standalone --nproc-per-node=2 pretrain.py 就可以了