in ultravox/model/ultravox_model.py [0:0]
def merge_and_unload(self):
if isinstance(self.language_model, peft.PeftModel):
self.language_model = self.language_model.merge_and_unload()
# no need to download base language model weights anymore, so we can remove the id
self.config.text_model_id = None
self.keep_params.update(
set(
[
f"language_model.{name}"
for name, _ in self.language_model.named_parameters()
]
)
)
if isinstance(self.audio_tower, peft.PeftModel):
self.audio_tower = self.audio_tower.merge_and_unload()
# no need to download base audio model weights anymore, so we can remove the id
self.config.audio_model_id = None
self.keep_params.update(
set(
[
f"audio_tower.{name}"
for name, _ in self.audio_tower.named_parameters()
]
)
)
for param in ["text_model_lora_config", "audio_model_lora_config"]:
if hasattr(self.config, param):
delattr(self.config, param)