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
|