Ziqing Yang
Ziqing Yang
alpaca-plus模型的使用方式有些变化。 请先把lora权重合并进llama-7b,之后--model指定 合并后的model,而不再单独使用lora权重。 合并过程见 https://github.com/ymcui/Chinese-LLaMA-Alpaca/wiki/手动模型合并与转换 中的**多LoRA权重合并**一段
> 明白了,谢谢。 > > **如果只想使用预训练的第一阶段扩充中文词向量,如下操作是否正确:** > > 将 merge_tokenizers.py 生成的3个文件:tokenizer.model, tokenizer_config.json, special_tokens_map.json, 替换掉原始LLaMA模型中的文件 是的。此外在加载原始LLaMA模型后,要`model.resize_token_embeddings(len(tokenizer))`使模型词表大小与tokenizer词表大小相适应
> 好的,谢谢,使用您提供的方法,不报错了。 > > 1. 只合并词库,不使用预训练的第二阶段(增加LoRA权重)的原因:想确认一下finetune 长文本内容,增加LoRA权重是否会影响模型的“记忆能力”。 > 2. 再请教个问题,只将扩充词库合并到基础模型中,合并后的模型新增加了一些tokens, ,使用这个合并后的模型finetune,是否会有问题,比如是否能处理新tokens? 取决于你的数据量,没有确定的结论,我也不好说,要通过实际实验来判定
Looks awesome! Thank you for contribution. But I have a question about loading Alpaca Plus models. Since the Plus needs two LoRA weights, so does the demo support multi-LoRA loading?...
> support base_model-only mode Thanks. We will perform some tests before confirming merging.
使用普通的tokenizer,不能使用FastTokenizer
不同类型的tokenizer不能合并,并且只能合并基于Sentencepiece的tokenizer GPT2Tokenizer并不是基于Sentencepiece的,所以合并不了
你可以在trainer.train()之前print一下列出模型中所有可训练(requires_grad)的参数的名称,看看embed_tokens和lm_head是否在其中? 另外是否使用了指定版本的peft? 可以通过开梯度累积(`gradient_accumulation_steps`)提升batch size,比如你单卡batch size 是2,那么总batch size就是 `2*3*gradient_accumulation_steps`
1. 从打印出来的参数看如果都正常,那就应该没问题,你可以打印的所有的可训练参数名贴出来我看一下。 3. 是的,是total train batch size