M4-014M4: Sequences & TransformersTransformer Architecture AnatomyEasy
Mastery:

Transformer Architecture Anatomy: 写出缩放点积注意力,并解释 √d_k 的作用。

📐 Mathematical Definition
Attn(Q,K,V)=softmax ⁣(QK⊤dk)V\mathrm{Attn}(Q,K,V)=\mathrm{softmax}\!\left(\frac{QK^{\top}}{\sqrt{d_k}}\right)V
⚡ Executive Summary
Core Concept: Attention=softmax(QKᵀ/√d_k)V;除以 √d_k 使 logits 方差与维度无关,避免 softmax 饱和与梯度消失。

📌 Key Takeaways

  • •
    QKᵀ 的每个元素是 d_k 项乘积之和,方差 ∝ d_k
  • •
    不缩放则 logits 方差随 d_k 增长 → softmax 趋于 one-hot
  • •
    缩放使 logits 方差约 1,梯度稳定

📐 Mathematical Derivations

数学机理:设 Q、K 的各分量独立、均值 0、方差 1(初始化后近似成立),则点积 q·k=Σ_{i=1}^{d_k} q_i k_i 是 d_k 个独立项之和,其<strong>方差为 d_k</strong>、标准差为 <strong>√d_k</strong>。若不缩放,当 d_k=64 时 logits 的标准差约 8、极值可达 ±30;softmax 在这样的输入下会<strong>极度饱和</strong>(最大分量主导,其余概率趋 0),导致两个后果:(a) softmax 的输出接近 one-hot,<strong>梯度趋于 0</strong>(softmax 在饱和区导数极小),注意力无法学习;(b) 训练初期注意力退化为'硬选择',且数值上 exp 易溢出。<strong>除以 √d_k</strong> 后,logits 的标准差回到约 1,softmax 处于'温和'的工作区间,梯度良好、数值稳定。<strong>为什么是 √d_k 而不是 d_k</strong>——因为需要把<strong>标准差</strong>(√方差=√d_k)归一到 1,而不是把方差归一;除以 d_k 会使 logits 方差变成 1/d_k、过小,softmax 趋于均匀分布(注意力失去区分度)。<strong>推论</strong>:若 Q/K 的初始化方差不是 1(如用非标准初始化),则缩放因子需相应调整——这正是 μP 理论关注的点(不同宽度下 Q/K 初始化与缩放需匹配);<strong>QK-Norm</strong> 则用显式归一化替代'假设方差为 1',使缩放更鲁棒。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>方差的严格推导</strong>——Var(q·k)=Σ Var(q_i k_i)=Σ Var(q_i)Var(k_i)=d_k(在独立零均值假设下);故标准差 √d_k。这个推导是面试中常被要求现场完成的。② <strong>初始化与缩放的耦合</strong>——若 Q/K 投影用 1/√d 初始化(GPT 风格),则 q、k 的分量方差约 1,√d_k 缩放正确;若用其他初始化(方差不同),需重新推导缩放因子。μP 的贡献之一就是给出'随宽度一致的初始化 + 缩放'规则。③ <strong>温度与缩放的关系</strong>——除以 √d_k 等价于设温度 T=√d_k;实践中可通过调整温度控制注意力的'锐度'(温度低则注意力更聚焦)。④ <strong>数值稳定</strong>——除缩放外,softmax 必须减最大值(max-subtraction)以避免 exp 溢出;Flash Attention 用在线 softmax 在分块计算中保持这一稳定性(见 M3/M4 相关题)。⑤ <strong>为什么缩放放在 softmax 前而非后</strong>——缩放必须在 softmax <strong>之前</strong>(因为 softmax 是非线性的,缩放放在后会破坏归一化);这是实现中最易错的细节之一。⑥ <strong>面试要点</strong>——被问'为什么除以 √d_k',应现场推导方差并指出'方差 ∝ d_k,需归一到 1',同时说明'除 d_k 会导致注意力过于均匀';能联系到 QK-Norm 与 μP 是明显加分。
⚠️ Common Interview Pitfalls
  • ✕
    用 d_k 或 d_k² 缩放(应为 √d_k)
  • ✕
    把缩放放在 softmax 之后
🎯 Interviewer Follow-ups
  • ?
    为什么是 √d_k 而不是 d_k?
  • ?
    QK-Norm 与 √d_k 缩放的关系?
📚

Associated Knowledge Base Guides & Mindmaps

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

← PreviousM4-013: Transformer Architecture Anatomy: 完整描述一个 Transformer Block 的组成。📋Back to BankNext →M4-015: Transformer Architecture Anatomy: 解释 FFN 的作用,以及为什么用 4× 或 8/3× 的中间维度。