I figured this out. The solution is quite simple.
A PeftModelForCausalLM actually inherits the LoraModel methods, so you can call merged_model = merged.merge_and_unload()
to get back a base model with the LoRA weights applied.
My IDE would not autocomplete merge_and_upload
, so I assumed the method wasn’t available. I still don’t need in the code where this method is inherited and would love for someone to point this out to me if feeling charitable.