Skip to content

Group 2.3: Backpropagation and Training Control | 2.3: 反向传播与训练控制 ​

本组沿一次训练更新展开:先追踪损失和 Attention 的局部梯度,再确定梯度累积、混合精度、优化器与学习率调度的更新边界,最后比较 activation 重算、搬运和训练状态驻留。持续预训练是参数更新动力学的应用分支,不是所有训练任务的必经步骤。

反向信号、有效更新和训练状态三条路径的关系

Group Asset Overview | 组内资产总览 ​

页处理的对象成熟框架入口产生的结果
09ReLU、交叉熵与 logits 梯度PyTorch · Autograd / CrossEntropyLoss局部梯度对照
10Q、K、V、Softmax 与 saved tensorsPyTorch · scaled_dot_product_attention / gradcheckdQ/dK/dV 与保存状态清单
11micro-batch、累计窗口与有效批次Accelerate · Accelerator.accumulate一次逻辑更新使用的梯度
TRAIN-MIXED-PRECISION-BACKWARDloss scale、有限值、裁剪与跳步PyTorch · autocast / GradScalerstep / skip 结果与真实梯度
12optimizer step 与 scheduler stepPyTorch · LambdaLR成功更新后的调度时钟
55学习率、有效批次、裁剪与参数PyTorch · clip_grad_norm_ / SGD参数位移与更新记录
19activation 保存范围与反向重算PyTorch · checkpoint显存节省量与重算时间
42activation 驻留位置与往返搬运PyTorch · saved_tensors_hooks搬运量、暴露等待与显存变化
43参数、梯度、优化器状态和 activationPyTorch profiler(memory_snapshot)峰值阶段与主导对象
56全序列领域续训与能力保留Transformers · AutoModelForCausalLM领域增益、保留集变化与恢复条件

Learning Path | 学习路径 ​

基础入口 ​

遇到的问题回看入口带回本组的内容
不清楚梯度为什么能够回到参数Part 00 · 07 自动求导、08 梯度控制VJP、梯度汇合、切断与清理
不清楚一次参数更新何时完成Part 00 · 11 优化器与损失、12 最小训练接口optimizer、scheduler 与训练循环的更新边界
无法展开 Attention 反向Part 00 · 16 Attention、Part 01 · 04 Attention 内存、14 FlashAttention 内存模型QKV、Softmax、反向保存状态与分块工作集
无法解释混合精度或训练显存Part 01 · 01 精度、03 GPU 内存、06 训练状态、12 TensorCoredtype、状态字节与低精度执行条件
GPU 结果缺少可信对照Part 00 · 17–20 运行诊断与实验、Part 01 · 13 瓶颈分析时间、显存、异常、基线与重复测量方法

组内路径 ​

  • 反向信号:P0 · 07 → 09 → 10。
  • 有效更新:11 → TRAIN-MIXED-PRECISION-BACKWARD → 12 → 55。混合精度先判断本次梯度是否有限、参数是否实际更新,scheduler 再决定是否推进。
  • 训练状态:19 与 42 是重算和搬运两条并列策略,随后在 43 中统一比较驻留量、峰值和时间代价。
  • 应用出口:需要全序列领域续训时,从 55 进入 56;需要监督微调与参数适配时进入 2.4。

横向路线见反向传播与训练机制专题。

Environment Notes | 环境说明 ​

使用范围环境入口
基础机制练习、题目与测试BASE-CPU基础环境说明
PyTorch、Transformers 与 Accelerate 一致性核对TRAIN-CPU训练机制 Quickstart
真实模型的数值、更新与资源证据TRAIN-CUDA-MECHANISM各页 Step 5 与训练机制 Quickstart

Released under the MIT License.