in ultravox/model/ultravox_model.py [0:0]
def print_trainable_parameters(self):
"""
Prints the number of trainable parameters in the model (reuses Peft model's method)
"""
count_params = peft.peft_model.PeftModel.get_nb_trainable_parameters
trainable_params, all_param = count_params(self)
logging.info(
f"trainable params: {trainable_params:,d} || all params: {all_param:,d}"
f" || trainable%: {100 * trainable_params / all_param:.1f}%"
)
lm_trainable_params, lm_all_params = count_params(self.language_model)
audio_trainable_params, audio_all_params = count_params(self.audio_tower)
projector_trainable_params = (
trainable_params - lm_trainable_params - audio_trainable_params
)
projector_all_params = all_param - lm_all_params - audio_all_params
logging.info(
f"Trainable%: "
f" LLM: {100 * lm_trainable_params / lm_all_params:.1f}%"
f" || Audio Encoder: {100 * audio_trainable_params / audio_all_params:.1f}%"
f" || Projector: {100 * projector_trainable_params / projector_all_params:.1f}%"
)