-
Notifications
You must be signed in to change notification settings - Fork 887
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
[BUG] 如何合并lora后的权重 #260
Comments
然后可以通过model.merge_and_unload()合并吗 |
我有点不清楚你说的合并是什么意思,我们提供的方式应该可以正常的加载模型 |
就是把lora权重和基础模型合并到一个模型 |
https://github.com/OpenBMB/MiniCPM-V/tree/main/finetune#lora-finetuning 这个多卡运行不了,报错: |
你可以检查一下deepspeed版本,这个可能是因为deepspeed版本导致的,降级到0.14.0可以解决 |
deepspeed降到0.14.0之后,问题还存在。这个默认是支持多卡运行的么? |
降级后问题不存在了,默认是多卡运行的,这个是deepspeed的bug,具体你可以看这里 microsoft/DeepSpeed#5422 |
你给的这个链接报错信息是数据在gpu和cpu之间的报错,我这里的报错是在两块显卡之间的 |
应该不是,没有查到3090不支持显卡间通信的资料,如果你能查到相关信息的话,也欢迎分享一下;你可以放一下训练的脚本和相关的环境配置吗,看一下是否是哪里设置有问题 |
这个问题在使用web_demo_2.5.py的时候就有的。web_demo_2.5.py里面device默认是cuda,启动的时候使用的是cuda:0,当把device类型改为auto(和https://github.com/OpenBMB/MiniCPM-V/tree/main/finetune#lora-finetuning 中的device类型一致)之后,可以运行起来,但是在进行对话时也是会报tensors to be on the same device, but found at least two devices, cuda:0 and cuda:6(也可能是其他显卡,例如cuda:5)的错。 |
当前找到了一个解决方案,是使用https://community.openai.com/t/how-to-do-few-shot-prompting-interweaving-text-and-images-with-gpt-4-vision-preview-as-seen-in-the-dawn-of-lmms-preliminary-explorations-with-gpt-4v-ision/598794/2 里面的脚本做了模型合并,然后根据https://github.com/OpenBMB/MiniCPM-V/blob/main/docs/inference_on_multiple_gpus.md做的GPU串行推理 |
@todaydeath 了解了,那就不清楚了,我目前还没有涉及到这些方面 |
后续如果我有进展的话会再告知你 |
好的,多谢 |
我这边遇到了同样的问题,deepspeed降到0.14.0之后问题也没有解决(降后重新做LoRA也是报同样的错)。请问这里现在有解决方式吗? File "*******/minicpm-eval-lora.py", line 57, in |
这里的链接貌似已经失效了,我这边遇到了跟您一样的问题,单张卡(device_map = 'cuda')会OOM,多张卡(devive_map = 'auto')会报tensors to be on the same device, but found at least two devices。请问可否指导下问题是怎么解决的吗? |
@todaydeath 您好,链接里面没有“模型合并”的脚本,分享的链接好像都一点不相关,可以分享模型合并脚本吗?谢谢! |
不好意思,发错链接了。正确: https://www.chenxublog.com/2024/04/23/single-card-fine-tuning-minicpm-merging-lora-and-converting-to-gguf-for-llama-cpp.html |
你好,我在尝试合并模型时merge_and_unload(),遇到如下报错RuntimeError: The weights trying to be saved contained shared tensors [{'llm.model.embed_tokens.weight', 'llm.embed_tokens.weight'}] that are mismatching the transformers base configuration. Try saving using |
不清楚,这个问题我没遇到 |
你们提供的方式 看不懂呀,msg是干什么的?模型合并是把 lora和base model 合并在一起的,llama factory就是这么干的,没看懂你们这边怎么加载的lora权重,也不知道你给的代码怎么用?还加不了你们的群,急死我了 |
msg是pytorch里模型加载参数后,如果有参数不匹配的打印信息,我们更新了lora微调和加载的方式 您可以重新尝试一下 |
是否已有关于该错误的issue或讨论? | Is there an existing issue / discussion for this?
该问题是否在FAQ中有解答? | Is there an existing answer for this in FAQ?
当前行为 | Current Behavior
No response
期望行为 | Expected Behavior
No response
复现方法 | Steps To Reproduce
No response
运行环境 | Environment
备注 | Anything else?
No response
The text was updated successfully, but these errors were encountered: