Skip to content

Commit bdea2ef

Browse files
committed
fix: Reset model after saving merged model
The adapter is lost and writes 0-byte adapters if you save an adapter after saving the merged model.
1 parent 43f8e86 commit bdea2ef

1 file changed

Lines changed: 17 additions & 11 deletions

File tree

src/heretic/main.py

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -736,17 +736,21 @@ def count_completed_trials() -> int:
736736
print("* Parameters:")
737737
for name, value in get_trial_parameters(trial).items():
738738
print(f" * {name} = [bold]{value}[/]")
739-
print("* Resetting model...")
740-
model.reset_model()
741-
print("* Abliterating...")
742-
model.abliterate(
743-
refusal_directions,
744-
trial.user_attrs["direction_index"],
745-
{
746-
k: AbliterationParameters(**v)
747-
for k, v in trial.user_attrs["parameters"].items()
748-
},
749-
)
739+
740+
def reset_trial_model() -> None:
741+
print("* Resetting model...")
742+
model.reset_model()
743+
print("* Abliterating...")
744+
model.abliterate(
745+
refusal_directions,
746+
trial.user_attrs["direction_index"],
747+
{
748+
k: AbliterationParameters(**v)
749+
for k, v in trial.user_attrs["parameters"].items()
750+
},
751+
)
752+
753+
reset_trial_model()
750754

751755
while True:
752756
print()
@@ -794,6 +798,7 @@ def count_completed_trials() -> int:
794798
del merged_model
795799
empty_cache()
796800
model.tokenizer.save_pretrained(save_directory)
801+
reset_trial_model()
797802

798803
print(f"Model saved to [bold]{save_directory}[/].")
799804

@@ -903,6 +908,7 @@ def count_completed_trials() -> int:
903908
private=private,
904909
token=token,
905910
)
911+
reset_trial_model()
906912

907913
if is_hf_path(settings.model):
908914
card = ModelCard.load(settings.model)

0 commit comments

Comments
 (0)