Yang Fan
Yang Fan
@yawzhe 目前对Base模型使用`finetune/finetune_lora_ds.sh`进行多机LoRA微调,在使用deepspeed zero3的情况下,会由于peft内部的处理逻辑,导致deepspeed无法正确切分embedding(`wte`)参数,可参考 #718 的相关信息。 我们正在解决该问题,目前您可以尝试以下方法:改用基于Chat模型微调、改用Q-LoRA微调、将zero3改为zero2配置、或者在`finetune.py`中手动关闭对`wte`参数的微调(参见[此处](https://github.com/QwenLM/Qwen/blob/4aab1d490b268783bdda80b87b7fb501539b7929/finetune.py#L320))。 如果不是上面的微调配置而仍然报错,您可以尝试更新docker镜像到最新版本然后重试一下,我们这边测试的结果,其他情况下均能正常微调。
可以参考[文档](https://github.com/QwenLM/Qwen/blob/main/README_CN.md#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95)中的相关说明。 
> 我用的就是chat模型微调lora,使用deepspeed,发现报错 如果使用的是chat模型微调,应当是不会出现问题的。 可以更新一下docker镜像,再检查一下运行命令时chat模型挂载到的模型名是否包含`“chat”`字符串,`finetune.py`根据这个条件判断是否将`wte`加入微调之中。
@uloveqian2021 您好,72B lora + ds zero3微调的显存用量可以参考[这里](https://github.com/QwenLM/Qwen#profiling-of-memory-and-speed),8卡A800服务器应当是可以跑起来的。
> @fyabc 我理解测试用的就是现在repo里提供的默认配置吧 @jklj077 72b微调测试时使用的是repo里面的默认配置,单机8卡A100-SXM4-80G全量微调会OOM。
@qianwch 您好,目前昇腾暂时仅支持Qwen-7B的权重转换,对于Qwen-14B及其他规模模型的转换正在开发中。
> > @qianwch 您好,目前昇腾暂时仅支持Qwen-7B的权重转换,对于Qwen-14B及其他规模模型的转换正在开发中。 > > 预计啥时候能开发好呢,其他规模的模型 对14B的支持预计本周可以开发完成,其他规模的模型暂无确定的时间。
> > > > @qianwch 您好,目前昇腾暂时仅支持Qwen-7B的权重转换,对于Qwen-14B及其他规模模型的转换正在开发中。 > > > > > > > > > 预计啥时候能开发好呢,其他规模的模型 > > > > > > 对14B的支持预计本周可以开发完成,其他规模的模型暂无确定的时间。 > > 14B的支持有了吗 抱歉延误了一段时间,本周会增加在昇腾上对7B/14B模型的推理和微调的支持。
@88489754 我们最近更新修复了一些微调相关的bug,能麻烦您更新最新的`modeling_qwen.py`等代码,再重新尝试一下吗?
您好,请问您是微调的72B Base模型吗(可以提供下微调的模型名称)? [文档中](https://github.com/QwenLM/Qwen/blob/main/README_CN.md#%E6%98%BE%E5%AD%98%E5%8D%A0%E7%94%A8%E5%8F%8A%E8%AE%AD%E7%BB%83%E9%80%9F%E5%BA%A6)提到,如果微调了Base模型(或者名字不带有"chat"的模型),则会将embedding加入finetune中,目前ZeRO 3对这种方式的支持仍然存在issue中提到的问题,建议修改finetune.py代码,显式将embedding排除出微调参数: ```python if lora_args.q_lora or 'chat' in model_args.model_name_or_path.lower(): modules_to_save = None else: # modules_to_save = ["wte", "lm_head"] modules_to_save = None # 修改为这一行 ```