From 1572371f651c7325d7e80299af3a6257aa9c8c5c Mon Sep 17 00:00:00 2001 From: ma-kjh Date: Tue, 25 Nov 2025 12:35:28 +0900 Subject: [PATCH 01/11] Fix compute_loss signature compatibility with transformers >= 4.46 --- src/trainer/unlearn/grad_ascent.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trainer/unlearn/grad_ascent.py b/src/trainer/unlearn/grad_ascent.py index eda8b4812..4e7630c02 100644 --- a/src/trainer/unlearn/grad_ascent.py +++ b/src/trainer/unlearn/grad_ascent.py @@ -2,7 +2,7 @@ class GradAscent(UnlearnTrainer): - def compute_loss(self, model, inputs, return_outputs=False): + def compute_loss(self, model, inputs, return_outputs=False, **kwargs): forget_inputs = inputs["forget"] forget_inputs = { "input_ids": forget_inputs["input_ids"], From fc33a227c6e1a75cc2978ccb611e963cfcd35fc4 Mon Sep 17 00:00:00 2001 From: ma-kjh Date: Tue, 25 Nov 2025 12:37:02 +0900 Subject: [PATCH 02/11] Fix compute_loss signature compatibility with transformers >= 4.46 --- src/trainer/unlearn/dpo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trainer/unlearn/dpo.py b/src/trainer/unlearn/dpo.py index b64b474b4..e146cbad0 100644 --- a/src/trainer/unlearn/dpo.py +++ b/src/trainer/unlearn/dpo.py @@ -9,7 +9,7 @@ def __init__(self, beta=1.0, *args, **kwargs): if self.ref_model is None: self.ref_model = self._prepare_ref_model(self.model) - def compute_loss(self, model, inputs, return_outputs=False): + def compute_loss(self, model, inputs, return_outputs=False, **kwargs): forget_inputs = inputs["forget"]["original"] alternate_inputs = inputs["forget"]["alternate"] From e97e363318e29114ec65d251fdac3617ebc7c321 Mon Sep 17 00:00:00 2001 From: ma-kjh Date: Tue, 25 Nov 2025 12:39:53 +0900 Subject: [PATCH 03/11] Update ceu.py --- src/trainer/unlearn/ceu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trainer/unlearn/ceu.py b/src/trainer/unlearn/ceu.py index 33da99c3c..18823f3b4 100644 --- a/src/trainer/unlearn/ceu.py +++ b/src/trainer/unlearn/ceu.py @@ -86,7 +86,7 @@ def __init__(self, ignore_first_n_answer_tokens=1, *args, **kwargs): super().__init__(*args, **kwargs) self.ignore_first_n_answer_tokens = ignore_first_n_answer_tokens - def compute_loss(self, model, inputs, return_outputs=False): + def compute_loss(self, model, inputs, return_outputs=False, **kwargs): forget_inputs = inputs["forget"] loss, outputs = compute_batch_ceu( model, From f9b2ad995dfb6fe744f9152072d99726517374cc Mon Sep 17 00:00:00 2001 From: ma-kjh Date: Tue, 25 Nov 2025 12:42:15 +0900 Subject: [PATCH 04/11] Update grad_diff.py --- src/trainer/unlearn/grad_diff.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trainer/unlearn/grad_diff.py b/src/trainer/unlearn/grad_diff.py index bfecc19a2..1eb5a3013 100644 --- a/src/trainer/unlearn/grad_diff.py +++ b/src/trainer/unlearn/grad_diff.py @@ -38,7 +38,7 @@ def compute_retain_loss(self, model, retain_inputs): ) return retain_loss - def compute_loss(self, model, inputs, return_outputs=False): + def compute_loss(self, model, inputs, return_outputs=False, **kwargs): forget_inputs = inputs["forget"] forget_inputs = { "input_ids": forget_inputs["input_ids"], From 67ec4cf168964d7ebc6054314debb223f2a005bc Mon Sep 17 00:00:00 2001 From: ma-kjh Date: Tue, 25 Nov 2025 12:42:34 +0900 Subject: [PATCH 05/11] Update npo.py Added support for additional keyword arguments in compute_loss method. --- src/trainer/unlearn/npo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trainer/unlearn/npo.py b/src/trainer/unlearn/npo.py index 7c782d968..3a9a14fe5 100644 --- a/src/trainer/unlearn/npo.py +++ b/src/trainer/unlearn/npo.py @@ -9,7 +9,7 @@ def __init__(self, beta=1.0, *args, **kwargs): if self.ref_model is None: self.ref_model = self._prepare_ref_model(self.model) - def compute_loss(self, model, inputs, return_outputs=False): + def compute_loss(self, model, inputs, return_outputs=False, **kwargs): forget_inputs = inputs["forget"] forget_loss, forget_outputs = compute_dpo_loss( From 48d03d51c611abd1be2f8e7ca097ec12f02f62b6 Mon Sep 17 00:00:00 2001 From: ma-kjh Date: Tue, 25 Nov 2025 12:42:48 +0900 Subject: [PATCH 06/11] Update rmu.py --- src/trainer/unlearn/rmu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trainer/unlearn/rmu.py b/src/trainer/unlearn/rmu.py index d990d3a38..6091a92b1 100644 --- a/src/trainer/unlearn/rmu.py +++ b/src/trainer/unlearn/rmu.py @@ -136,7 +136,7 @@ def compute_retain_loss(self, model, retain_inputs): retain_loss = super().compute_retain_loss(model, retain_inputs) return retain_loss - def compute_loss(self, model, inputs, return_outputs=False): + def compute_loss(self, model, inputs, return_outputs=False, **kwargs): forget_inputs = inputs["forget"] forget_inputs = { "input_ids": forget_inputs["input_ids"], From 0d6d02057afb22c72835f794467913de1b7c42f0 Mon Sep 17 00:00:00 2001 From: ma-kjh Date: Tue, 25 Nov 2025 12:43:03 +0900 Subject: [PATCH 07/11] Update satimp.py --- src/trainer/unlearn/satimp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trainer/unlearn/satimp.py b/src/trainer/unlearn/satimp.py index b664390cd..d0dff9ab2 100644 --- a/src/trainer/unlearn/satimp.py +++ b/src/trainer/unlearn/satimp.py @@ -14,7 +14,7 @@ def __init__( if self.ref_model is None: self.ref_model = self._prepare_ref_model(self.model) - def compute_loss(self, model, inputs, return_outputs=False): + def compute_loss(self, model, inputs, return_outputs=False, **kwargs): forget_inputs = inputs["forget"] forget_inputs = { "input_ids": forget_inputs["input_ids"], From 08777d916755c7bf37855e033ddd0c81625da086 Mon Sep 17 00:00:00 2001 From: ma-kjh Date: Tue, 25 Nov 2025 12:43:21 +0900 Subject: [PATCH 08/11] Update pdu.py --- src/trainer/unlearn/pdu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trainer/unlearn/pdu.py b/src/trainer/unlearn/pdu.py index e79bcc58b..9ec1d5800 100644 --- a/src/trainer/unlearn/pdu.py +++ b/src/trainer/unlearn/pdu.py @@ -102,7 +102,7 @@ def post_epoch_dual_param_update(self): ) self.log({"retain_preference": self.preferences[1]}) - def compute_loss(self, model, inputs, return_outputs=False): + def compute_loss(self, model, inputs, return_outputs=False, **kwargs): forget_inputs = inputs["forget"] forget_inputs = { "input_ids": forget_inputs["input_ids"], From 8b2a5164b949372d0edb0e7617fd0031895fa99b Mon Sep 17 00:00:00 2001 From: ma-kjh Date: Tue, 25 Nov 2025 12:43:34 +0900 Subject: [PATCH 09/11] Update simnpo.py --- src/trainer/unlearn/simnpo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trainer/unlearn/simnpo.py b/src/trainer/unlearn/simnpo.py index cb4f7f99c..5eed4d3e3 100644 --- a/src/trainer/unlearn/simnpo.py +++ b/src/trainer/unlearn/simnpo.py @@ -10,7 +10,7 @@ def __init__(self, delta=0.0, beta=1.0, *args, **kwargs): self.delta = delta self.beta = beta - def compute_loss(self, model, inputs, return_outputs=False): + def compute_loss(self, model, inputs, return_outputs=False, **kwargs): forget_inputs = inputs["forget"] forget_labels = forget_inputs["labels"] From 04529e5ea5e8ab42543a86352bf5caf4074ba94a Mon Sep 17 00:00:00 2001 From: ma-kjh Date: Tue, 25 Nov 2025 12:43:48 +0900 Subject: [PATCH 10/11] Update undial.py --- src/trainer/unlearn/undial.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trainer/unlearn/undial.py b/src/trainer/unlearn/undial.py index e32147b30..653c1a293 100644 --- a/src/trainer/unlearn/undial.py +++ b/src/trainer/unlearn/undial.py @@ -9,7 +9,7 @@ def __init__(self, beta=1.0, *args, **kwargs): if self.ref_model is None: self.ref_model = self._prepare_ref_model(self.model) - def compute_loss(self, model, inputs, return_outputs=False): + def compute_loss(self, model, inputs, return_outputs=False, **kwargs): forget_inputs = inputs["forget"] forget_loss, forget_outputs = compute_undial_loss( model, self.ref_model, forget_inputs, self.beta From 7d5e0985e9b780ce55daf4e64028efcc3a3f3894 Mon Sep 17 00:00:00 2001 From: ma-kjh Date: Tue, 25 Nov 2025 12:44:11 +0900 Subject: [PATCH 11/11] Update wga.py --- src/trainer/unlearn/wga.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trainer/unlearn/wga.py b/src/trainer/unlearn/wga.py index 08c4bf402..a371ae4c1 100644 --- a/src/trainer/unlearn/wga.py +++ b/src/trainer/unlearn/wga.py @@ -11,7 +11,7 @@ def __init__(self, beta=1.0, gamma=1.0, alpha=1.0, *args, **kwargs): if self.ref_model is None: self.ref_model = self._prepare_ref_model(self.model) - def compute_loss(self, model, inputs, return_outputs=False): + def compute_loss(self, model, inputs, return_outputs=False, **kwargs): forget_inputs = inputs["forget"] forget_inputs = { "input_ids": forget_inputs["input_ids"],