From 9b22520b33cf08603ffc2b6e0225a4a6db66b4a6 Mon Sep 17 00:00:00 2001 From: oobabooga <112222186+oobabooga@users.noreply.github.com> Date: Thu, 2 Jul 2026 16:20:25 -0300 Subject: [PATCH] Fix gradient_checkpointing_enable positional arg crash on Gemma3N/Gemma4 GRPO --- unsloth/models/vision.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/unsloth/models/vision.py b/unsloth/models/vision.py index 5ab55152db..a7a24171c3 100644 --- a/unsloth/models/vision.py +++ b/unsloth/models/vision.py @@ -1884,8 +1884,9 @@ def _nonre_checkpoint(function, *args, **kwargs): if "gemma3n" in _model_type.lower() or "gemma4" in _model_type.lower(): _original_gc_enable = model.gradient_checkpointing_enable - def _gc_enable_reentrant(**kwargs): - gc_kwargs = kwargs.get("gradient_checkpointing_kwargs", {}) or {} + def _gc_enable_reentrant(gradient_checkpointing_kwargs = None, **kwargs): + # TRL's disable_gradient_checkpointing re-enables this positionally; HF/PEFT/notebooks by keyword. + gc_kwargs = dict(gradient_checkpointing_kwargs or {}) gc_kwargs["use_reentrant"] = True kwargs["gradient_checkpointing_kwargs"] = gc_kwargs return _original_gc_enable(**kwargs)