mazesmazes commited on
Commit
c6b2b0b
·
verified ·
1 Parent(s): 8c844b2

Fix LoRA adapter config - clear base_model_name_or_path after applying PEFT

Browse files
Files changed (1) hide show
  1. asr_modeling.py +9 -0
asr_modeling.py CHANGED
@@ -225,6 +225,10 @@ class ASRModel(PreTrainedModel, GenerationMixin):
225
  )
226
  model.language_model = get_peft_model(model.language_model, lora_config)
227
 
 
 
 
 
228
  return model
229
  finally:
230
  cls._is_loading_from_pretrained = False
@@ -393,6 +397,11 @@ class ASRModel(PreTrainedModel, GenerationMixin):
393
  )
394
  self.language_model = get_peft_model(self.language_model, lora_config)
395
 
 
 
 
 
 
396
  def _init_tokenizer(self, config: ASRConfig):
397
  """Initialize tokenizer with audio token."""
398
  self.tokenizer = AutoTokenizer.from_pretrained(config.text_model_id, trust_remote_code=True)
 
225
  )
226
  model.language_model = get_peft_model(model.language_model, lora_config)
227
 
228
+ # Clear base_model_name_or_path so PEFT doesn't save a reference
229
+ # to the base LLM. See _setup_lora for details.
230
+ model.language_model.peft_config["default"].base_model_name_or_path = None
231
+
232
  return model
233
  finally:
234
  cls._is_loading_from_pretrained = False
 
397
  )
398
  self.language_model = get_peft_model(self.language_model, lora_config)
399
 
400
+ # Clear base_model_name_or_path so PEFT doesn't save a reference to the
401
+ # base LLM (e.g. Qwen). This prevents pipeline() from redirecting to the
402
+ # wrong model. The correct path gets set during save_pretrained/push_to_hub.
403
+ self.language_model.peft_config["default"].base_model_name_or_path = None
404
+
405
  def _init_tokenizer(self, config: ASRConfig):
406
  """Initialize tokenizer with audio token."""
407
  self.tokenizer = AutoTokenizer.from_pretrained(config.text_model_id, trust_remote_code=True)