DLLXW / baby-llama2-chinese

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

CUDA_VISIBLE_DEVICES=0,1 torchrun pretrain.py 只利用了一块GPU #8

Closed BigaGrayWolf closed 1 year ago

BigaGrayWolf commented 1 year ago

pretrain.py预训练过程无法使用多块GPU

Deep1994 commented 1 year ago

pretrain.py预训练过程无法使用多块GPU

  1. pretrain.py 中修改如下: os.environ['CUDA_VISIBLE_DEVICES'] = '0, 1'

  2. 终端运行 torchrun --nproc-per-node=2 pretrain.py

978396637 commented 12 months ago

多卡的配置下:运行 python -m torch.distributed.launch --nproc_per_node=4 pretrain.py 运行到pretrain.py这一行: model = DDP(model, device_ids=[ddp_local_rank]) 需要运行很久,然后会在这一行报错,错误如下: RuntimeError: DDP expects same model across all ranks, but Rank 5 has 110 params, while rank 0 has inconsistent 0 params.

请问怎么解决呢?

978396637 commented 12 months ago

多卡的配置下:运行 python -m torch.distributed.launch --nproc_per_node=4 pretrain.py 运行到pretrain.py这一行: model = DDP(model, device_ids=[ddp_local_rank]) 需要运行很久,然后会在这一行报错,错误如下: RuntimeError: DDP expects same model across all ranks, but Rank 5 has 110 params, while rank 0 has inconsistent 0 params.

请问怎么解决呢?

没事了,卡的问题

GromZhang commented 11 months ago

多卡的配置下:运行 python -m torch.distributed.launch --nproc_per_node=4 pretrain.py 运行到pretrain.py这一行: model = DDP(model, device_ids=[ddp_local_rank]) 需要运行很久,然后会在这一行报错,错误如下: RuntimeError: DDP expects same model across all ranks, but Rank 5 has 110 params, while rank 0 has inconsistent 0 params. 请问怎么解决呢?

没事了,卡的问题

老师您好,我也遇到了这个问题,请问是什么原因导致的,您是如何解决的?

978396637 commented 11 months ago

多卡的配置下:运行 python -m torch.distributed.launch --nproc_per_node=4 pretrain.py 运行到pretrain.py这一行: model = DDP(model, device_ids=[ddp_local_rank]) 需要运行很久,然后会在这一行报错,错误如下: RuntimeError: DDP expects same model across all ranks, but Rank 5 has 110 params, while rank 0 has inconsistent 0 params. 请问怎么解决呢?

没事了,卡的问题

老师您好,我也遇到了这个问题,请问是什么原因导致的,您是如何解决的?

这个好像就是卡的问题。一、运行很久是因为那一行代码的timeout比较大;二、运行很久后报错应该就是卡的问题,你的多卡可能由于各种原因不支持分布式训练...我在其他多卡的机器是能正常训练的,在那个有问题的卡上就跑不了这一行。 联系买卡的售后维护一下,搞好了。 可以考虑先跑一些简单的DDP代码,看看会不会也出问题。

GromZhang commented 11 months ago

多卡的配置下:运行 python -m torch.distributed.launch --nproc_per_node=4 pretrain.py 运行到pretrain.py这一行: model = DDP(model, device_ids=[ddp_local_rank]) 需要运行很久,然后会在这一行报错,错误如下: RuntimeError: DDP expects same model across all ranks, but Rank 5 has 110 params, while rank 0 has inconsistent 0 params. 请问怎么解决呢?

没事了,卡的问题

老师您好,我也遇到了这个问题,请问是什么原因导致的,您是如何解决的?

这个好像就是卡的问题。一、运行很久是因为那一行代码的timeout比较大;二、运行很久后报错应该就是卡的问题,你的多卡可能由于各种原因不支持分布式训练...我在其他多卡的机器是能正常训练的,在那个有问题的卡上就跑不了这一行。 联系买卡的售后维护一下,搞好了。 可以考虑先跑一些简单的DDP代码,看看会不会也出问题。

感谢您的解答,稍后我会测试一下使用bert进行ddp训练,看是否会存在该问题。