Decoder-only模型中Padding侧为何对Attention Mask至关重要?
首先明确Scaled Dot-Product Attention的核心公式:
Attention(Q, K, V) = softmax( (QK^T)/√d_k + M ) V
其中:
Q、K、V分别是查询、键、值矩阵,d_k是键向量的维度M是注意力掩码矩阵,padding token对应的位置会被设为极大负数(如-1e9)
掩码对Padding token权重的直接影响
不管是左Padding还是右Padding,只要掩码正确配置,padding token对应的(QK^T)/√d_k + M结果都会趋近于-∞。代入softmax函数:
softmax(x) = exp(x) / Σ(exp(x_i))
当x趋近于-∞时,exp(x)会无限趋近于0,因此padding token在注意力权重中的占比几乎为0,不会参与后续对V的加权求和。从这个角度看,实际token的注意力权重确实和Padding侧没有直接关联——因为padding token的贡献被完全屏蔽了。
Padding侧的隐性影响:位置编码与序列对齐
但Decoder-only模型的输入是「embedding + 位置编码」的组合,Padding侧的选择会改变实际token在序列中的位置索引,进而影响位置编码的取值:
- 右Padding时,实际token占据序列的前N位,位置编码对应索引0到N-1
- 左Padding时,实际token占据序列的后N位,位置编码对应索引(L-N)到L-1(L为序列总长度)
位置编码会直接融入Q和K的计算,导致实际token之间的QK^T结果产生差异——虽然padding token的权重依然为0,但实际token内部的注意力分布会因为位置编码的不同而变化。此外,Decoder-only的自回归因果掩码要求每个token只能关注前面的token,左Padding会让实际token的前置上下文全是padding,而右Padding的前置上下文是有效token,这会直接影响模型训练时的上下文学习效率。
总结
从注意力掩码的数学逻辑来看,padding token的权重确实被完全屏蔽,不会直接影响实际token的权重计算;但Padding侧的选择会通过位置编码的序列对齐和自回归上下文的有效性间接影响模型的表现,这才是Padding侧真正的重要性所在。
内容的提问来源于stack exchange,提问作者esdy

