$ the-wire · showcase
Transformers renames gradient_checkpointing and drops rope deltas; diffusers adds two modular pipelines
By RepoJournal · Filed · About Hugging Face · Composed from the cited sources · methodology
Transformers shipped the first breaking public-API rename in this batch while diffusers landed two new image and video model pipelines and TRL/peft cleared out dead code and platform bugs.
Rename `gradient_checkpointing` to `activation_checkpointing` in the public API (#49248) huggingface/transformers
The public API now calls it `activation_checkpointing`; the old `gradient_checkpointing` names survive only as deprecated aliases, so training scripts and configs that set them keep working today but are on borrowed time. This is a breaking rename for anything reading the flag by name, including CLI arg handling, which keeps the bare flags during the transition.
:rotating_light: Finally drop rope deltas from ModelOutput! huggingface/transformers
RoPE deltas are gone from `ModelOutput`, so code that read those tensor keys off a model's outputs will no longer find them. The PR title lands where the author says it plainly: "time has come."
Add P-H3-Image huggingface/diffusers
Pruna AI's P-H3-Image, built on MiniMax-H3, arrives as `PH3ImageModularPipeline` and `PH3ImageBlocks` with `text2image` and `image_conditioned` workflows, chosen by whether an `image` is passed. Every request first runs through `PH3ImageAutoPromptUpsampleStep`, a prompt upsampler based on Qwen3.5-9B, before the text encoder, so the prompt you send is not the prompt the model sees.
Add Kandinsky S2V 1.0 (speech-to-video) as a modular pipeline huggingface/diffusers
Kandinsky S2V 1.0 animates a person in a reference frame to match a speech track, whole figure rather than head only, with audio as a condition and not an output. It ships as a modular pipeline that reuses `PiflowScheduler`, and the RoPE tables stay fp32 even under `.to(torch.bfloat16)`.
FIX reduce_intruder_dimension for fan_in_fan_out and embedding LoRA layers huggingface/peft
`reduce_intruder_dimension` rebuilt `lora_A` and `lora_B` from an SVD of the delta without transposing for `fan_in_fan_out` (GPT-2 `Conv1D`) and `nn.Embedding` layers; a square `Conv1D` produced silently wrong output. The fix transposes the weight and delta before the SVD, with three new cases in `tests/test_lora_intruders.py`.
Fix modules_to_save selection when merging an inactive adapter huggingface/peft
`merge_and_unload(adapter_names=...)` merged the requested backbone adapter but kept the active adapter's `modules_to_save` copy; it now picks the saved copy belonging to the requested adapter and restores the original module when none exists, and default merging is unchanged.
FEAT healthcheck: warn when a randomly initialized task head is not saved huggingface/peft
`healthcheck` gained a `TASK_HEAD_NOT_SAVED` warning for randomly initialized task heads left out of the adapter save, which typically happens when `task_type` is unset so the head never lands in `modules_to_save`.
[core] download hub kernel in AttentionModuleMixin.set_attention_backend huggingface/diffusers
`AttentionModuleMixin.set_attention_backend` skipped the requirement check and kernel download that `ModelMixin.set_attention_backend` performs, so calling it with a hub-backed backend like `sage_hub` on a single attention module never fetched the kernel.
Action items
- → Migrate transformers training configs and scripts off gradient_checkpointing to activation_checkpointing before the d... huggingface/transformers [plan]
- → Update transformers code that reads rope deltas from ModelOutput, since those keys no longer exist huggingface/transformers [plan]