反向传播与训练机制专题术语表
全教程写作遵循术语表与中英文写作规范。本表聚焦训练机制中容易混淆的对象、更新边界和运行时证据;公式符号统一查询公式索引与符号约定,代码标识符与结果 JSON 键名保留英文。
| 中文主称 | 英文 / 缩写 | 本专题含义 | 容易混淆之处 |
|---|---|---|---|
| 自动求导 | Autograd | 根据前向计算图组织局部反向并累积梯度 | 不等于优化器更新 |
| 上游梯度 | upstream gradient | 当前算子输出从后续路径接收到的损失梯度 | 不是当前算子的局部导数;二者通过 VJP 形成输入梯度 |
| 向量—雅可比积 | VJP | 上游向量与局部雅可比相乘形成输入梯度 | 非标量输出调用 backward 时需要上游梯度 |
| 梯度汇合 | gradient accumulation at branches | 同一张量或参数被多条路径使用时,各路径梯度贡献在反向阶段相加 | 不等于跨微批次的梯度累积,也不等于跨 rank 同步 |
| 叶子张量 | leaf tensor | 由用户创建并参与求导、通常承接 .grad 的张量 | 中间张量默认不保留 .grad |
| 激活 | activation | 前向算子产生并可能被后续前向或反向消费的张量 | 只有反向公式需要的部分才属于保存张量 |
| 保存张量 | saved tensor | 反向公式需要从前向保留的状态 | 不等于所有前向激活都必须完整保存 |
| 有效监督位置 | effective supervised token | 掩码为 1、实际进入损失分子和分母的 Token 位置 | Attention mask 控制可见性;监督掩码控制损失位置 |
| 累计窗口 | accumulation window | 从梯度清零到下一次成功参数更新之间汇总的微批次集合 | 不能把单个微批次当成一次完整更新 |
| 梯度累积 | gradient accumulation | 多个微批次的梯度累加后执行一次优化器更新 | 不等于数据并行的跨 rank 梯度同步 |
| 有效批次 | effective batch | 一次参数更新实际汇总的样本或有效 token | 不能只用微批次大小表示 |
| 损失缩放 | loss scaling | 为 FP16 反向放大损失与梯度,再在更新前还原 | loss scale 是缩放因子;BF16 通常不依赖同样的动态缩放 |
| 非有限梯度 | non-finite gradient | 梯度包含 inf 或 nan | 应跳过更新并调整尺度,不能继续写入参数 |
| 有效更新 | effective update | 梯度有限、优化器实际写入参数且相关更新时钟同步推进的一次更新 | 调用了训练循环不代表参数已经更新;溢出跳步不计入有效更新 |
| 更新时钟 | update clock | 以成功参数更新次数为基准推进的 scheduler、日志和评测步数 | 不应直接用微批次编号或失败的更新尝试推进 |
| 训练状态生命周期 | training-state lifecycle | 参数、激活、保存张量、梯度、优化器状态和工作区从创建到最后消费及释放的区间 | 状态类别与驻留设备是两个不同维度 |
| 工作区 | workspace | 算子、内核或通信过程临时申请的运行时缓冲区 | 不属于模型参数,也不一定在步骤结束前持续驻留 |
| 已分配显存与保留显存 | allocated / reserved memory | 前者由活动张量实际占用,后者还包含分配器保留、可复用但尚未归还的显存 | reserved - allocated 不是模型状态本身,也不能直接视为内存泄漏 |
| 激活检查点 | activation checkpointing | 少保存激活,在反向时重算前向片段 | 改变计算—显存关系,不改变数学目标 |
| 激活卸载 | activation offload | 把暂不使用的保存状态搬到 host,反向前取回 | 用传输与同步换 GPU 驻留,不等于重算 |
| 暴露传输时间 | exposed transfer time | 卸载往返时间扣除可与计算重叠部分后,仍留在关键路径上的等待 | 总传输时间较长不代表全部都会增加单步时间 |
| 峰值重叠 | peak overlap | 多类状态在同一阶段同时驻留形成显存峰值 | 参数量之和不一定等于运行峰值 |
| 正确性门槛 | correctness gate | 在比较性能前检查输出、梯度、有限值和更新语义 | 性能更快不能覆盖错误梯度 |
使用规则
- 首次出现使用“中文主称(English)”,后续使用中文主称或通用缩写。
Autograd、VJP、AMP可保留;普通叙述优先使用“上游梯度、保存张量、累计窗口、有效更新、更新时钟”等中文主称。step、skip、allocated、reserved只在框架输出、代码字段或首次释义中保留;连续中文叙述分别写“更新”“跳步”“已分配显存”和“保留显存”。- 前向状态、保存张量、梯度、优化器状态和工作区必须分开记录,不统称为“训练显存”。
- 不对 Notebook JSON、代码变量和框架 API 做无上下文批量替换。
