Llama 3.1 8B LoRA适配器加载异常:缺失键警告导致微调效果失效
Llama 3.1 8B LoRA适配器加载异常:缺失键警告导致微调效果失效
我在微调Llama 3.1 8B后,加载LoRA适配器进行推理时遇到了问题。当我在新会话中尝试加载适配器文件时,收到了关于缺失适配器键的警告:
/usr/local/lib/python3.11/dist-packages/peft/peft_model.py:599: UserWarning: Found missing adapter keys while loading the checkpoint: ['base_model.model.model.layers.0.self_attn.q_proj.lora_A.default.weight', 'base_model.model.model.layers.0.self_attn.q_proj.lora_B.default.weight', 'base_model.model.model.layers.0.self_attn.k_proj.lora_A.default.weight',...]
这个警告后面跟着很多类似的缺失键。模型的表现就像完全没有经过微调一样。
我的环境配置:
- transformers 4.43.1
- peft 0.14.0
- bitsandbytes 0.45.4
- torch 2.6.0+cu124
- accelerate 0.31.0
训练完成后,我保存了模型,得到了以下文件:
- adapter_model.safetensors
- adapter_config.json
- training_args.bin
以下是我加载模型和适配器的代码:
# Load base model base_model_id = "meta-llama/Llama-3.1-8B" lora_weights = "path to weights" bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_use_double_quant=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16 ) base_model = AutoModelForCausalLM.from_pretrained( pretrained_model_name_or_path=base_model_id, quantization_config=bnb_config, trust_remote_code=True, token=True ) # Set up tokenizer eval_tokenizer = AutoTokenizer.from_pretrained( base_model_id, add_bos_token=True, trust_remote_code=True, use_fast=True ) eval_tokenizer.pad_token = eval_tokenizer.eos_token # Load LoRA adapters ft_model = PeftModel.from_pretrained(base_model, lora_weights, output_loading_info=True)
有没有人知道是什么原因导致这个问题,或者该如何解决?
提前感谢大家!
备注:内容来源于stack exchange,提问作者Mohanad Hafez
相关产品推荐
相关产品推荐

