多卡训练感觉不是并发的?
Opened this issue · 8 comments
看了一下GPU的使用率,是一个个跳100%的,你们有没有这种情况?
正常的,因为目前代码里设置的是 device_map="auto"
,在多卡状态下会自动触发 model parallel 模型并行,就是把模型的多个层分配到不同的 GPU 上,从而可以节省显存、加大batch。我自己测的时候,发现它会比 data parallel 更快。
如果想改成 data parallel,则将 device_map="auto" 改为:device_map={'':torch.cuda.current_device()}
正常的,因为目前代码里设置的是
device_map="auto"
,在多卡状态下会自动触发 model parallel 模型并行,就是把模型的多个层分配到不同的 GPU 上,从而可以节省显存、加大batch。我自己测的时候,发现它会比 data parallel 更快。如果想改成 data parallel,则将 device_map="auto" 改为:
device_map={'':torch.cuda.current_device()}
好的,谢谢大佬
正常的,因为目前代码里设置的是
device_map="auto"
,在多卡状态下会自动触发 model parallel 模型并行,就是把模型的多个层分配到不同的 GPU 上,从而可以节省显存、加大batch。我自己测的时候,发现它会比 data parallel 更快。如果想改成 data parallel,则将 device_map="auto" 改为:
device_map={'':torch.cuda.current_device()}
你好,我使用model parallel训练,训练了29step就卡住了,gpu运行0%,cpu运行100%。请问这种情况你碰到过吗?
暂时没碰到。有什么报错吗
正常的,因为目前代码里设置的是
device_map="auto"
,在多卡状态下会自动触发 model parallel 模型并行,就是把模型的多个层分配到不同的 GPU 上,从而可以节省显存、加大batch。我自己测的时候,发现它会比 data parallel 更快。
如果想改成 data parallel,则将 device_map="auto" 改为:device_map={'':torch.cuda.current_device()}
你好,我使用model parallel训练,训练了29step就卡住了,gpu运行0%,cpu运行100%。请问这种情况你碰到过吗?
通常训练到一半中道崩猝的都是因为内存/显存啥的不够,缩小batch size,gradient accumulate等参数再试试?
暂时没碰到。有什么报错吗
没有报错,目前来看应该是data_collator有问题,因为chatglm可以正常跑,百川用的DataCollatorForLanguageModeling会卡住。我用的是V100。
正常的,因为目前代码里设置的是
device_map="auto"
,在多卡状态下会自动触发 model parallel 模型并行,就是把模型的多个层分配到不同的 GPU 上,从而可以节省显存、加大batch。我自己测的时候,发现它会比 data parallel 更快。
如果想改成 data parallel,则将 device_map="auto" 改为:device_map={'':torch.cuda.current_device()}
你好,我使用model parallel训练,训练了29step就卡住了,gpu运行0%,cpu运行100%。请问这种情况你碰到过吗?
通常训练到一半中道崩猝的都是因为内存/显存啥的不够,缩小batch size,gradient accumulate等参数再试试?
缩小batch没有用,应该是数据load问题
正常的,因为目前代码里设置的是
device_map="auto"
,在多卡状态下会自动触发 model parallel 模型并行,就是把模型的多个层分配到不同的 GPU 上,从而可以节省显存、加大batch。我自己测的时候,发现它会比 data parallel 更快。
如果想改成 data parallel,则将 device_map="auto" 改为:device_map={'':torch.cuda.current_device()}
你好,我使用model parallel训练,训练了29step就卡住了,gpu运行0%,cpu运行100%。请问这种情况你碰到过吗?
你好,我训练baichuan的时候也遇到了这个问题,训练卡住了,但显存仍然占用着