ChatGLM-6B
ChatGLM-6B copied to clipboard
[BUG/Help] 3090双卡训练比单卡慢出一倍以上
Is there an existing issue for this?
- [X] I have searched the existing issues
Current Behavior
相同数据集,脚本上区别是修改了CUDA_VISIBLE_DEVICES=0为CUDA_VISIBLE_DEVICES=0,1。
3090单卡是51.82s/it
3090双卡是124.55s/it
GPU占用如下
3090单卡GPU100% 显存13G
3090双卡GPU占用很少时间双卡100% 平均一卡100%另一卡50% 显存占用27G
Expected Behavior
双卡训练效率提高,显存占用不线性增加
Steps To Reproduce
- 相同镜像、相同数据集、只改变卡数量
- 修改train.sh中CUDA_VISIBLE_DEVICES
- 训练现象如上
Environment
- OS:Ubuntu
- Python:3.8
- Transformers:4.27.1
- PyTorch:1.10.0
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :True
Anything else?
No response
2块v100训练同样比一块v100慢,什么原因?
@huliangbing @XiaTiaoQAQ 除了软件之外,硬件上NVLink实装了吗?3090默认persitence mode没有开启的,开启后才能用NVLink。NVLink开启后,训练速度才会比单卡快
谢谢!那找到原因,我用的是两块pcie v100
4块t4卡比单卡训练慢,求问什么原因
主要是卡之间的通信要很长时间
是挺离谱的,单卡比双卡还快,占的显存还多一倍以上
我准备组装一台低成本8卡机器,已经确定不使用NVlink而使用PCIE 3.0 x16. 请问你们的显卡全部工作在pcie x16模式下吗?很多主板只有第一个插槽是x16,第二个可能是x4,这使得显卡间通讯带宽大幅缩小。有没有人能告诉我带宽的影响到底有多大?
我准备组装一台低成本8卡机器,已经确定不使用NVlink而使用PCIE 3.0 x16. 请问你们的显卡全部工作在pcie x16模式下吗?很多主板只有第一个插槽是x16,第二个可能是x4,这使得显卡间通讯带宽大幅缩小。有没有人能告诉我带宽的影响到底有多大?
8卡单单机的服务器都有专门主办的吧。有钱直接问老板就行。其实可以试试AutoDL的8x A100
我当然知道,目前是打算拿下一块超微的主板,双路CPU,每一路包含4个pcie3.0 x16,但是我仍然不确定没有nvlink的情况下带宽瓶颈有多严重。根据经验,多卡训练的主要瓶颈就是带宽(而不是Flops),一般来说nvlink可以提供上百G的带宽,而pcie3.0 x16只有16G每秒,pcie4.0 x16只有32G每秒
On Fri, May 5, 2023 at 1:10 AM Hang Yu @ DigiPen @.***> wrote:
我准备组装一台低成本8卡机器,已经确定不使用NVlink而使用PCIE 3.0 x16. 请问你们的显卡全部工作在pcie x16模式下吗?很多主板只有第一个插槽是x16,第二个可能是x4,这使得显卡间通讯带宽大幅缩小。有没有人能告诉我带宽的影响到底有多大?
8卡单单机的服务器都有专门主办的吧。有钱直接问老板就行
— Reply to this email directly, view it on GitHub https://github.com/THUDM/ChatGLM-6B/issues/595#issuecomment-1535114752, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7PPX6PLY73PXKEN2VEACCDXEPPHTANCNFSM6AAAAAAW5A5ZOM . You are receiving this because you commented.Message ID: @.***>
我用是用的超微,5张3090 24GB ,插了两张NVLINK,我也没觉得有多快。。
另外还有一台超微 8卡 P40 24gb,全拿来做推理了。
我当然知道,目前是打算拿下一块超微的主板,双路CPU,每一路包含4个pcie3.0 x16,但是我仍然不确定没有nvlink的情况下带宽瓶颈有多严重。根据经验,多卡训练的主要瓶颈就是带宽(而不是Flops),一般来说nvlink可以提供上百G的带宽,而pcie3.0 x16只有16G每秒,pcie4.0 x16只有32G每秒 … On Fri, May 5, 2023 at 1:10 AM Hang Yu @ DigiPen @.> wrote: 我准备组装一台低成本8卡机器,已经确定不使用NVlink而使用PCIE 3.0 x16. 请问你们的显卡全部工作在pcie x16模式下吗?很多主板只有第一个插槽是x16,第二个可能是x4,这使得显卡间通讯带宽大幅缩小。有没有人能告诉我带宽的影响到底有多大? 8卡单单机的服务器都有专门主办的吧。有钱直接问老板就行 — Reply to this email directly, view it on GitHub <#595 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7PPX6PLY73PXKEN2VEACCDXEPPHTANCNFSM6AAAAAAW5A5ZOM . You are receiving this because you commented.Message ID: @.>
我用是用的超微,5张3090 24GB ,插了两张NVLINK,我也没觉得有多快。。
另外还有一台超微 8卡 P40 24gb,全拿来做推理了。
我当然知道,目前是打算拿下一块超微的主板,双路CPU,每一路包含4个pcie3.0 x16,但是我仍然不确定没有nvlink的情况下带宽瓶颈有多严重。根据经验,多卡训练的主要瓶颈就是带宽(而不是Flops),一般来说nvlink可以提供上百G的带宽,而pcie3.0 x16只有16G每秒,pcie4.0 x16只有32G每秒 … On Fri, May 5, 2023 at 1:10 AM Hang Yu @ DigiPen @.> wrote: 我准备组装一台低成本8卡机器,已经确定不使用NVlink而使用PCIE 3.0 x16. 请问你们的显卡全部工作在pcie x16模式下吗?很多主板只有第一个插槽是x16,第二个可能是x4,这使得显卡间通讯带宽大幅缩小。有没有人能告诉我带宽的影响到底有多大? 8卡单单机的服务器都有专门主办的吧。有钱直接问老板就行 — Reply to this email directly, view it on GitHub <#595 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7PPX6PLY73PXKEN2VEACCDXEPPHTANCNFSM6AAAAAAW5A5ZOM . You are receiving this because you commented.Message ID: _@**.**_>
谢谢,我在云服务器平台上测试了多卡性能,非常堪忧。基本上只有小型模型在非常大的batch size下才可以获得理想的加速,而且显卡越多带宽瓶颈越明显。结论是如果不能保证所有的显卡都具有nvlink连接就不要用多卡训练。但是推理不受影响
遇到了同样的问题,多卡比单卡效率低
顺便想问一下,@XiaTiaoQAQ Ubuntu系统下GPU监控用的是什么软件?
https://github.com/hiyouga/ChatGLM-Efficient-Tuning 使用上述仓库的命令即可,实测每个GPU卡的显存分配大体一致 accelerate config # accelerate launch src/finetune.py 配置参数 无论是多个pcie接口的多卡,还是nvlink,都有加速效果,配置参数很重要!!!
---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2023年05月05日 22:46 | | 收件人 | @.> | | 抄送至 | @.>@.> | | 主题 | Re: [THUDM/ChatGLM-6B] [BUG/Help] 3090双卡训练比单卡慢出一倍以上 (Issue #595) |
遇到了同样的问题,多卡比单卡效率低
@.*** Ubuntu系统下GPU监控用的是什么软件?
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>
@w4o GPU监控最简单是nvidia-smi -l
@w4o GPU监控最简单是nvidia-smi -l
是的,我现在用的是 nvidia-smi
,但是我想看显存的使用和利用率趋势(随着时间递增),像 @XiaTiaoQAQ 截图中那样,不知道是什么软件。
Psensor
mark
@w4o 大佬,我遇到了和您一样的问题,请问应该如何解决呢
@XiaTiaoQAQ 请问这个问题应该如何解决呢?麻烦指导一下
Is there an existing issue for this?
- [x] I have searched the existing issues
Current Behavior
相同数据集,脚本上区别是修改了CUDA_VISIBLE_DEVICES=0为CUDA_VISIBLE_DEVICES=0,1。 3090单卡是51.82s/it
3090双卡是124.55s/it
GPU占用如下 3090单卡GPU100% 显存13G
3090双卡GPU占用很少时间双卡100% 平均一卡100%另一卡50% 显存占用27G
Expected Behavior
双卡训练效率提高,显存占用不线性增加
Steps To Reproduce
- 相同镜像、相同数据集、只改变卡数量
- 修改train.sh中CUDA_VISIBLE_DEVICES
- 训练现象如上
Environment
- OS:Ubuntu - Python:3.8 - Transformers:4.27.1 - PyTorch:1.10.0 - CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :True
Anything else?
No response
@huliangbing @XiaTiaoQAQ 除了软件之外,硬件上NVLink实装了吗?3090默认persitence mode没有开启的,开启后才能用NVLink。NVLink开启后,训练速度才会比单卡快
请教一下: 1、nvlink需要桥接器吗?我是4029超微10gpu款服务器,需要另配nvlink桥接器吗? 2、nvlink可以支持多卡(大于2张)吗?
我用是用的超微,5张3090 24GB ,插了两张NVLINK,我也没觉得有多快。。
另外还有一台超微 8卡 P40 24gb,全拿来做推理了。
我当然知道,目前是打算拿下一块超微的主板,双路CPU,每一路包含4个pcie3.0 x16,但是我仍然不确定没有nvlink的情况下带宽瓶颈有多严重。根据经验,多卡训练的主要瓶颈就是带宽(而不是Flops),一般来说nvlink可以提供上百G的带宽,而pcie3.0 x16只有16G每秒,pcie4.0 x16只有32G每秒
…
On Fri, May 5, 2023 at 1:10 AM Hang Yu @ DigiPen @.> wrote: 我准备组装一台低成本8卡机器,已经确定不使用NVlink而使用PCIE 3.0 x16. 请问你们的显卡全部工作在pcie x16模式下吗?很多主板只有第一个插槽是x16,第二个可能是x4,这使得显卡间通讯带宽大幅缩小。有没有人能告诉我带宽的影响到底有多大? 8卡单单机的服务器都有专门主办的吧。有钱直接问老板就行 — Reply to this email directly, view it on GitHub <#595 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7PPX6PLY73PXKEN2VEACCDXEPPHTANCNFSM6AAAAAAW5A5ZOM . You are receiving this because you commented.Message ID: @.>
同样请教一下: 1、nvlink需要桥接器吗?我是4029超微10gpu款服务器,需要另配nvlink桥接器吗? 2、nvlink可以支持多卡(大于2张)吗?