#49166·transformers

在下一个主要版本中将 `gradient_checkpointing` 重命名为 `activation_checkpointing`

作者: qgallouedec创建于 2026年9月28日更新于 2026年10月2日

检查点的是激活函数,而不是梯度:前向传播保留了一部分,而后向传播重新计算其余部分。"梯度检查点"来自 Chen et al. 2016 和 OpenAI 的 gradient-checkpointing 包,以及 transformer 保留了它。大部分栈后来都采用了"激活函数检查点":

库 名称
PyTorch 激活函数检查点技术 (torch.utils.checkpoint, apply_activation_checkpointing)
torchtitan [activation_checkpoint]
DeepSpeed activation_checkpointing 配置部分
accelerate fsdp_activation_checkpointing
Megatron-LM 激活函数重新计算 (Korthikanti et al. 2022)
JAX jax.checkpoint / jax.remat
transformers, PEFT gradient_checkpointing

因此,在 accelerate 的 FSDP 插件、DeepSpeed 和 transformers 之间转换的用户会遇到相同的技术,只是名字不同。时间安排合适: gradient_checkpointing_enable 刚刚获得了 every_n_layers 和 offload 选项,而选择性检查点(保存注意力输出)即将推出(审查提交 #7194)。最好在更多选项在旧名称下堆积之前确定名称。

内容来源: huggingface/transformers