题目重点:从独立零均值坐标推导点积尺度,说明缩放不保证所有真实网络score方差为一。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 理论假设q/k坐标近似零均值单位方差且独立,用来解释初始化量级;训练后相关性可不同。
- d为每头query/key内维,不是token数或value维。
解题路线
- score未缩放为Σq_i k_i。独立且单位方差下每项均值0方差1,不同项协方差0,和的方差d、标准差√d。维度增加会让典型绝对值增大。
- 除√d把该理论方差压回1量级;若除d则标准差成1/√d,可能把不同key的差异压得太小。这个选择控制量级,不是为了改变最大score对应的key。
- softmax的大logit间距会让分布极尖,Jacobian p_i(δ_ij−p_j)很多位置接近0,梯度传播可能变弱。缩放作为温度平衡分布,避免维度本身驱动过度饱和。
- 减行max解决数值溢出,除√d解决统计尺度,两者不可替代;减常数不改变logit差值,所以不会把已过尖概率变软。
- 真实q/k有相关、非单位方差或归一化时上述独立推导不严格;仍可使用固定缩放、learned temperature或QK norm,但须看模型训练,不能宣称永远方差精确1。
- 多头每头维度dhead采用对应尺度,若model维512、8头通常每头64并除8,而不是除√512。投影布局不同需先看实际head内维。
手动走一遍
独立单位坐标d=64时点积标准差约8,除√64=8回到约1。把score减去最大值只把最大设0,其余差值保持,不等于降温。
规模与取舍
缩放每个score常量操作,总score矩阵O(nm);点积计算O(nmd),不改变二次token关系规模。
易错点与追问
容易失分的边界
- 除token数或value维。
- max-subtraction当防饱和。
- 统计假设推导声称适用于所有训练状态。
继续深挖
- QK norm后是否还需同一尺度?
- learned temperature如何影响梯度?
- 坐标相关时方差多哪些项?
技术参考
- Attention Is All You Need:技术语义参考,具体题目按本文约定。
