Roy

Results 4 comments of Roy

> > > 你们就没发现deepspeed 启动的时候,显存是gpu数量的倍数吗? 无法模型并行,所有卡都加载了同样的显存,至少推理时候测试是这样 > > > > > > 这个 我猜测是 ZeRO Stage 2方式的原因,模型参数没有并行。但是我尝试用ZeRO Stage 3 时 会报错。 > > 你是怎么切换到zero stage3的? ds_config.json文件里面改的吗? 我觉得不是这个原因,应该就是模型本身不支持层并行。 你可以看下deepspeed的源码? 官方文档写了这句话“DeepSpeed provides...

> @duzx16 参考 #530 通过zero3 offload微调还是不行,求大神指导下。 之前不能是bug,大神已经修复了,用最新的代码,然后载入模型的部分加上empty_init=False,使用zero3的模式,4张3090能跑起来,我试了下,单卡显存占用16G,cpu offload大概100G

> > > @duzx16 参考 #530 通过zero3 offload微调还是不行,求大神指导下。 > > > > > > 之前不能是bug,大神已经修复了,用最新的代码,然后载入模型的部分加上empty_init=False,使用zero3的模式,4张3090能跑起来,我试了下,单卡显存占用16G,cpu offload大概100G > > 怎么弄? 你把核心代码贴上来,而且我说的问题和你说的不是一个意思吧。 我说的意思是用deepspeed 推理chatglm的时候,会出现模型无法并行,1张卡显存15g,2张卡30g,3张卡45g。 deepspeed.init_inference()推理阶段啊。。。。。。。。。你解释的我不太懂,最好贴个代码看看,推理一般就10行左右代码 我就是说的训练阶段呀。预测还好吧,我就用model = AutoModel.from_pretrained(model_path, trust_remote_code=True, torch_dtype=torch.float16).half().cuda()起的,但是我是用单卡做推理的,14G显存占用,多卡没试,一般用device_map="auto"就可以了。deepspeed的本来也不算是模型并行,主要也是用于训练的。

> > > @duzx16 参考 #530 通过zero3 offload微调还是不行,求大神指导下。 > > > > > > 之前不能是bug,大神已经修复了,用最新的代码,然后载入模型的部分加上empty_init=False,使用zero3的模式,4张3090能跑起来,我试了下,单卡显存占用16G,cpu offload大概100G > > 1. 更新了最新模型 和最新的代码(master) > 2. 加载模型时加上了相应的参数(model = AutoModel.from_pretrained(model_args.model_name_or_path, config=config, trust_remote_code=True, empty_init=False)) >...