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 | 学习路径
Recommended Order | 推荐顺序
Next Steps | 后续衔接
- 看完本组后,继续进入 2.6,把训练侧的显存问题接到推理加速和缓存直觉上。
- 训练内存账本由 43 收口;预算阈值和策略比较继续在 75 中练习,自动调优转到性能优化与算子优化路线。
- 如果想先看横向整理后的路线,可以直接进入 反向传播与训练机制专题。
Environment Notes | 环境说明
- 默认按
CPU-first阅读,优先把梯度流和内存账本看懂。 - 这里只写组级统一前提,不点到具体节号。
- 少数页面如需
GPU optional,以后续单页说明为准。
