Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adalomo 试图在 llama 2 70b 模型训练时出现 NCCL communicator 这类超时的错误 #67

Open
HappyLynn opened this issue Nov 7, 2023 · 5 comments

Comments

@HappyLynn
Copy link

您好,再次感谢 lomo 这一出色的系列工作。目前我正在尝试使用 collie 这里面的框架进行训练,使用的是最新的 dev 分支代码。在训练时我使用 llama 2 13b 这种规模的模型是没有问题的,但是在 70b 一直会出现
image
我是用的脚本就是您这个项目了 adalomo 中直接提供的 instruction tuning 的脚本 其他参数只是设置 tp=2 模型我自己给了个路径。请问您这个有遇到过或者该如何设置呢?我的机器环境是 8*A100 的配置。
感谢~~

@KaiLv69
Copy link
Collaborator

KaiLv69 commented Nov 7, 2023

你好,adalomo和lomo现在只支持纯dp或者纯tp。使用8卡的话,建议把dp_size改成8,tp_size设置为1

@HappyLynn
Copy link
Author

您好,我重新设置了tp_size=1 目前感觉加载完模型还是卡在这里,最后 nccl timeout掉了
image
还是会有如下这种报错:
RuntimeError: NCCL communicator was aborted on rank 1. Original reason for failure was: [Rank 1] Watchdog caught collective operation timeout: WorkNCCL(SeqNum=727, OpType=BROADCAST, Timeout(ms)=1800000) ran for 1803629 milliseconds before timing out.
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 95936 closing signal SIGTERM
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 1 (pid: 95937) of binary: /root/anaconda3/envs/trl/bin/python

但是对于 13B 这种就不会存在什么问题,就可以正常训练起来。

@KaiLv69
Copy link
Collaborator

KaiLv69 commented Nov 8, 2023

你好,我这里试了是能跑起来的,应该是机器的原因,或者需要加长nccl timeout的时间
image
也可能是deepspeed版本原因?我的版本是0.10.0

@puppet101
Copy link

你好,我这里试了是能跑起来的,应该是机器的原因,或者需要加长nccl timeout的时间 image 也可能是deepspeed版本原因?我的版本是0.10.0

你好,可以提供一下训练脚本和ds的配置信息么,我这边也是70B的跑不起来,用的dev分支

@KaiLv69
Copy link
Collaborator

KaiLv69 commented Nov 17, 2023

你好,我这里试了是能跑起来的,应该是机器的原因,或者需要加长nccl timeout的时间 image 也可能是deepspeed版本原因?我的版本是0.10.0

你好,可以提供一下训练脚本和ds的配置信息么,我这边也是70B的跑不起来,用的dev分支

文件:https://github.com/OpenLMLab/LOMO/blob/main/adalomo/instruction-tuning/train.py 模型改为llama2-70b
torchrun --nproc_per_node 8 train.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants