ymcui / Chinese-LLaMA-Alpaca

中文LLaMA&Alpaca大语言模型+本地CPU/GPU训练部署 (Chinese LLaMA & Alpaca LLMs)

Home Page:https://github.com/ymcui/Chinese-LLaMA-Alpaca/wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

多权重合并,chinese_alpaca_lora_plus与自己预训练的权重合并词表大小不一致

lyq080700 opened this issue · comments

提交前必须检查以下项目

  • 请确保使用的是仓库最新代码(git pull),一些问题已被解决和修复。
  • 由于相关依赖频繁更新,请确保按照Wiki中的相关步骤执行
  • 我已阅读FAQ章节并且已在Issue中对问题进行了搜索,没有找到相似问题和解决方案
  • 第三方插件问题:例如llama.cpptext-generation-webuiLlamaChat等,同时建议到对应的项目中查找解决方案
  • 模型正确性检查:务必检查模型的SHA256.md,模型不对的情况下无法保证效果和正常运行

问题类型

模型转换和合并

基础模型

LLaMA-Plus-7B

操作系统

Linux

详细描述问题

预训练模型是词表扩充后再进行预训练的,扩充后词表大小为58535,想基于现有的alpaca_lora权重再训练一个权重,但词表大小不一致,预训练的词表更大,想请问把代码中比较两个lora词表大小的代码注释调可行吗?
if len(tokenizers_and_loras)==2:
t1_vocab_size = len(tokenizers_and_loras[0]["tokenizer"])
t2_vocab_size = len(tokenizers_and_loras[1]["tokenizer"])
assert t1_vocab_size<=t2_vocab_size,
(f"The vocab size of the first tokenizer is {t1_vocab_size}\n"
f"The vocab size of the second tokenizer is {t2_vocab_size}, found to be smaller than {t1_vocab_size}\n"
"This is not the intended use. Please check your model and tokenizer.")

依赖情况(代码类问题务必提供)

# 请在此处粘贴依赖情况

运行日志或截图

# 请在此处粘贴运行日志
Traceback (most recent call last):
  File "/root/scripts/merge_llama_with_chinese_lora_low_mem.py", line 263, in <module>
    assert t1_vocab_size<=t2_vocab_size, \
AssertionError: The vocab size of the first tokenizer is 58353
The vocab size of the second tokenizer is 49954, found to be smaller than 58353
This is not the intended use. Please check your model and tokenizer.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your consideration.

Closing the issue, since no updates observed. Feel free to re-open if you need any further assistance.