Skip to content
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

关于训练后的模型文件结构以及使用方式上的疑惑 #439

Open
TS10armourer opened this issue Jan 20, 2024 · 6 comments
Open

Comments

@TS10armourer
Copy link

TS10armourer commented Jan 20, 2024

image
以上为我qlora之后得到的lora文件以及合并后的文件结构,以下为原始qwen-1.8b-chat文件结构,两者并不完全一致。
image
由于qwen在modelscope上对chat模型做了特殊的问答代码处理,比如chat模型可以以history保存对话记录,如果我们的模型结构不一致,并且少了部分文件,是否可以用同样的代码调用训练好的模型呢?

@TS10armourer
Copy link
Author

以及这里的推理temp是否可以支持自定义呀,这里的代码似乎只能调用内置模板:
image

@pppppM
Copy link
Collaborator

pppppM commented Jan 20, 2024

请补充下使用的 xtuner 版本,xtuner >= v0.1.12 对于对话模板部分有扩展性更新

@TS10armourer
Copy link
Author

请补充下使用的 xtuner 版本,xtuner >= v0.1.12 对于对话模板部分有扩展性更新

image
我是新版本的,教学文档里没有看到欸,不知道如何使用。另外使用上这个问题怎么样呀

@pppppM
Copy link
Collaborator

pppppM commented Jan 20, 2024

关于对话模板部分的问题,可以先看下这个文档(xtuner>=0.1.12)
https://github.com/InternLM/xtuner/blob/main/docs/zh_cn/user_guides/prompt_template.md

@TS10armourer
Copy link
Author

关于对话模板部分的问题,可以先看下这个文档(xtuner>=0.1.12) https://github.com/InternLM/xtuner/blob/main/docs/zh_cn/user_guides/prompt_template.md

请问这个我直接在控制台bash输入即可吗?还是说有python代码部署推理的方法呀

@pppppM
Copy link
Collaborator

pppppM commented Jan 20, 2024

  1. 关于文件结构不一致的问题

xtuner 保存后的模型是标准的 transformers 格式,和原本的模型是相同的,只是 qwen 官方 ckpt 中额外加了一些非 transformers 格式的东西,不会影响 transformers 的加载

  1. 对话模板的问题

由于 qwen 对话模板中有没有被训练过的 token,qlora 训练时 embedding 和 lm_head 是不训练的。
这样会导致,用 qwen-base + qlora 训练时,模型学不会对话模板;如果用 qwen-chat + qlora 训练,是每有这个问题。
为了解决这个问题,xtuner 中在 qwen-base + qlora 训练时,没有使用 qwen 的对话模板,而是使用 xtuner 中的 default 对话模板。

  1. 如何部署

如果支持简单地在 terminal 里交互式对话,可以使用 xtuner chat 命令,将 --prompt-template 设置为 qwen_chatdefault

如果是指部署成一个服务,xtuner 目前还没有提供部署的能力,训练好后的模型可以使用 lmdeployvllm 等部署工具部署,针对 qwen-base + qlora 训练的模型,需要根据对应工具的自定义模板方式,加载正确的对话模板;如果是 qwen-chat + qlora 训练的模型,则和 qwen 官方对话模板是完全一样的,可以直接用对应推理引擎中提供的qwen 的部署命令

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants