Skip to content

Group 2.5: Backpropagation and Memory | 2.5: 反向传播与内存 ​

本组覆盖反向传播、activation 重计算、activation offload 和训练内存账本,是 Part 2 的训练侧机制重点;如果想把 backward、梯度流和训练调度串成一条横向基础线,也可以直接看 反向传播与训练机制专题。

Group Overview | 组概览 ​

这一组把反向传播、activation 生命周期和训练内存策略的核心机制讲清楚,是训练侧理解内存压力和优化手段的关键一层。阅读顺序和组内资产见下表:先用 Part00 07 建立通用 Autograd 语言,再看 18 的局部梯度;17 是 Attention backward 的进阶扩展,随后进入 19、42,最后用 43 汇总训练状态账本与驻留计划。

2.3 -> 2.4 -> 2.5 的主线是先训练、再对齐、后机制。这样安排不是把 2.5 降级,而是把它放在读者已经知道“梯度和激活为什么重要”的位置上,再去看 Autograd、反向链路和 checkpointing/offload,会更容易把机制和工程动机对上。

Group Asset Overview | 组内资产总览 ​

页职责作用推荐实现入口定位
P0 07建立通用 Autograd、计算图与 backward 语言PyTorch Autograd前置页
18建立通用的激活与损失反向语言PyTorch Autograd主线页
17用 Attention 高成本案例推导 backward 与保存状态PyTorch Autograd进阶扩展
19实现 checkpoint 重算路径,并比较显存—计算代价torch.utils.checkpoint / Accelerate主线页
42实现 activation offload 的预算、搬运与策略判断saved_tensors_hooks / Accelerate扩展页
43汇总参数、梯度、优化器状态、activation 与临时工作集PyTorch / memory ledger收口页

Migration Notes | 迁移说明 ​

原文件当前状态后续归属说明
44通用预留 / 自动调优迁移入口算子优化:成本模型与 Profiling自动调优已迁入算子优化,不再作为反向传播与训练内存内容
45通用预留 / 显存账本迁移入口性能优化:训练显存账本 与 75 显存预算压缩项目显存裁剪已迁入性能优化和项目页

迁移完成前保留 44、45 是为了避免破坏历史链接;它们不属于 2.5 的推荐学习路径。

Learning Path | 学习路径 ​

  • 先看 P0 07 -> 18 -> 19 -> 42 -> 43;需要理解 Attention 反向时,再插入 17。

Next Steps | 后续衔接 ​

  • 看完本组后,继续进入 2.6,把训练侧的显存问题接到推理加速和缓存直觉上。
  • 训练内存账本由 43 收口;预算阈值和策略比较继续在 75 中练习,自动调优转到性能优化与算子优化路线。
  • 如果想先看横向整理后的路线,可以直接进入 反向传播与训练机制专题。

Environment Notes | 环境说明 ​

  • 默认按 CPU-first 阅读,优先把梯度流和内存账本看懂。
  • 这里只写组级统一前提,不点到具体节号。
  • 少数页面如需 GPU optional,以后续单页说明为准。

Released under the MIT License.