M3-055M3: Deep Learning FoundationsGradient Vanishing & ExplosionEasy
Mastery:

Gradient Vanishing & Explosion: 解释梯度裁剪的两种方式(by norm / by value)的差异。

📐 Mathematical Definition
by value: gi←clip(gi,−c,c);by norm: g←g⋅min⁡ ⁣(1,c∥g∥)\text{by value}:\ g_i\leftarrow\mathrm{clip}(g_i,-c,c);\qquad \text{by norm}:\ g\leftarrow g\cdot\min\!\left(1,\frac{c}{\|g\|}\right)
⚡ Executive Summary
Core Concept: by value 逐元素截断到 [−c,c],会改变梯度方向;by norm 按全局范数等比缩放,保持方向不变。

📌 Key Takeaways

  • •
    by norm 保持方向、只缩放幅度,是 LLM 的标准做法
  • •
    by value 会扭曲梯度方向(各元素被不同程度截断)
  • •
    LLM 常用 by norm + c=1.0

📐 Mathematical Derivations

数学机理:<strong>by value</strong> 对每个梯度分量独立做 clip(g_i,−c,c):若某分量超出阈值就被截断到边界,结果是<strong>不同分量被不同程度地修改</strong>,梯度的<strong>方向发生改变</strong>——这可能破坏梯度中'各分量相对大小'所编码的信息(如某些方向应主导更新)。<strong>by norm</strong> 计算整个参数组的全局范数 ‖g‖,若超过阈值 c 则整体乘以 c/‖g‖(等比缩放):所有分量按<strong>同一比例</strong>缩小,<strong>方向完全不变</strong>、只限制幅度。数学上 by norm 等价于把梯度投影到半径 c 的球内(若已在球内则不动)。这正是'裁剪'的本意——限制<strong>步长幅度</strong>而非改变<strong>方向</strong>。因此 LLM 训练普遍用 by norm(且常以'所有参数共享一个全局范数'的方式,称为 global norm clipping),阈值 c=1.0。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>为什么全局范数而非逐层</strong>——逐层裁剪会让梯度小的层被'相对放大'(各层各自缩放到阈值),破坏层间梯度尺度关系;全局范数保持层间比例。GPT/LLaMA 均用全局 grad clip=1.0。② <strong>c=1.0 的含义</strong>——它是对'单步参数更新幅度'的粗约束:裁剪后 ‖g‖≤1,故单步更新 ≤ η·1(Adam 下约 η),使训练对偶发的梯度尖峰免疫。③ <strong>裁剪频率作为健康指标</strong>——记录'被裁剪的 step 比例':健康训练中裁剪应偶发(<5%);若频繁裁剪,说明 lr 偏大或存在数值问题。④ <strong>与 loss scaling 的配合</strong>——混合精度下,若 loss scale 过大导致溢出,梯度可能异常大,裁剪提供第二道防线。⑤ <strong>对梯度消失无效</strong>——裁剪只限制<strong>上界</strong>,不改变小梯度;故不能用裁剪解决消失。⑥ <strong>by value 的合理场景</strong>——少数场景(如对抗训练、需要逐元素约束)仍用 by value;也有 'clip by value + norm' 组合的做法。⑦ <strong>面试要点</strong>——被问'你用什么裁剪',标准答案'global norm clip=1.0'并解释'保持方向'是关键理由。
⚠️ Common Interview Pitfalls
  • ✕
    以为 by value 与 by norm 等价(前者改变方向)
  • ✕
    把裁剪当作梯度消失的解决方案
🎯 Interviewer Follow-ups
  • ?
    为什么 LLM 用 grad clip=1.0?
  • ?
    裁剪与 loss scaling 的关系?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM3-054: Gradient Vanishing & Explosion: 解释梯度消失与爆炸的成因与缓解。📋Back to BankNext →M3-056: Gradient Vanishing & Explosion: 什么是梯度噪声尺度?它与 batch size 的关系。