From e3b4cd46717d57145fa8a992af823199b962f34c Mon Sep 17 00:00:00 2001 From: Qingru Zhang Date: Thu, 30 Mar 2023 01:59:26 -0400 Subject: [PATCH] Implement the save_pretrained for AdaLoRA --- src/peft/utils/save_and_load.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/peft/utils/save_and_load.py b/src/peft/utils/save_and_load.py index 86e388b..8be9314 100644 --- a/src/peft/utils/save_and_load.py +++ b/src/peft/utils/save_and_load.py @@ -70,8 +70,12 @@ def set_peft_model_state_dict(model, peft_model_state_dict): model ([`PeftModel`]): The Peft model. peft_model_state_dict (`dict`): The state dict of the Peft model. """ - + if model.peft_config.peft_type is PeftType.ADALORA: + rank_pattern = model.peft_config.rank_pattern + if rank_pattern: + model.base_model.resize_modules_by_rank_pattern(rank_pattern) model.load_state_dict(peft_model_state_dict, strict=False) + if model.peft_config.peft_type not in (PeftType.LORA, PeftType.ADALORA): model.prompt_encoder.embedding.load_state_dict( {"weight": peft_model_state_dict["prompt_embeddings"]}, strict=True