MLE / Research · ML Domain / ML System Design

Transformer Attention:维度、缩放、mask与梯度

从QK相似度到行归一化加权V,解释每一步及边界。

题目重点:从QK相似度到行归一化加权V,解释每一步及边界。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 讨论单个head:Q为Tq×dk、K为Tk×dk、V为Tk×dv;多头按通道拆分后拼接投影。
  • 来源明确Transformer并推导,但未限定完整模型变体;本文是标准scaled dot-product训练合同。

解题路线

  1. Z=QKᵀ/√dk,A=softmax_rows(Z+mask),O=AV。除√dk使独立近零均值Q/K点积的方差不随dk线性增长;不是对向量长度作L2归一化。
  2. 给定上游G=dL/dO,dV=AᵀG、dA=GVᵀ;逐行dZ_i=A_i⊙(dA_i−Σj Aij dAij)。再有dQ=dZK/√dk、dK=dZᵀQ/√dk。
  3. causal mask只允许访问当前/过去key,padding mask屏蔽无效位;整行全屏蔽要预先约定零输出/跳过,否则−∞全行softmax产生NaN。softmax减行最大值保持数值稳定。

手动走一遍

Q=(1,0),K两行为(1,0),(0,1),dk2,logit为(1/√2,0)。权重偏向第一V,但两权重之和1;mask掉第二后第一权重1。自注意力没有位置线索时对置换等变,位置编码或位置bias提供顺序信息;不把特定现代变体当题目已给。

规模与取舍

密集attention O(TqTk(dk+dv)),权重显式存储O(TqTk);projection另有O(Td²)。长序列优化需说明精确attention与近似机制差别。

易错点与追问

容易失分的边界

  • softmax通常沿key维,不沿batch/head或query维。
  • 训练causal与推理KV缓存目标相关但维度/性能不同。

继续深挖

  • 为什么softmax每行的logit梯度和为0?
  • 交叉attention与self-attention的Q/K/V来源有什么区别?

技术参考

✓已复制微信号!