Skip to content

Recover API

Weight-space repair of a model whose safety has drifted. Import from safetune.runner.recover. Recover trainers are training-free: construct with the drifted model (plus base_model / aligned_model references where the method needs them) and call apply().

from safetune.runner.recover import ReStaTrainer

trainer = ReStaTrainer(model=drifted, base_model=base, aligned_model=aligned,
                       alpha=0.5, dare=True, dare_seed=0)
repaired = trainer.apply()

Available trainers

AAQTrainer, AntidoteTrainer, AntidoteV2Trainer, CThetaTrainer, GradSelectiveRecoverTrainer, LSSFTrainer, LoXTrainer, MSCPTrainer, NLSRTrainer, OneShotSafetyPatchTrainer, PKETrainer, PrePostMergeTrainer, QReSafeTrainer, ReStaTrainer, RepNoiseRecoverTrainer, SCRUBTrainer, SOMFTrainer, SafeDeltaTrainer, SafeLoRATrainer, SafeMergeTrainer, SafeReActTrainer, SafetyVectorRestoreTrainer, TaskArithmeticTrainer, WiseFTTrainer.

See the Recover guide for the method taxonomy (whole-model / low-rank / layer / neuron / saliency / circuit-guided).

Reference

safetune.runner.recover.ReStaTrainer

Bases: _RecoverBase

ReSta (DARE task arithmetic): DARE-masked safety vector restoration.

Parameters:

Name Type Description Default
base_model Module

base model.

None
aligned_model Module

aligned reference.

None
alpha float

task vector scale. Default 1.0.

1.0
dare bool

apply DARE masking. Default True.

True
dare_seed int

DARE random seed. Default 0.

0

safetune.runner.recover.TaskArithmeticTrainer

Bases: _RecoverBase

Task Arithmetic: plain safety task vector addition.

Parameters:

Name Type Description Default
base_model Module

base model.

None
aligned_model Module

aligned reference.

None
alpha float

task vector scale. Default 1.0.

1.0

safetune.runner.recover.SafeLoRATrainer

Bases: _RecoverBase

SafeLoRA: safety subspace LoRA decomposition and merge.

Parameters:

Name Type Description Default
aligned_state_dict dict

state dict of the aligned model.

None
base_state_dict dict

state dict of the base model.

None
alpha float

merge coefficient. Default 0.5.

0.5
threshold float

safety subspace threshold. Default 0.5.

0.5