掩码机制用于控制注意力可以"看到"哪些位置,通过在注意力分数矩阵中将不允许的位置置为极小值(如负无穷),使其经 softmax 后权重归零。掩码是层数学定义的一部分,而非单纯的实现细节。
在解码器的自注意力中,为保证自回归生成特性——即当前位置只能依赖此前已生成的位置——需要施加因果掩码(Causal Mask),禁止位置 i 关注位置 i 之后的所有位置。这确保模型在预测下一个 token 时不会"偷看"未来信息。
在编码器—解码器的交叉注意力中,解码器状态作为查询、编码器输出作为键和值,用于将生成过程对齐到输入序列。此外,在处理长度不等的批量样本时,填充掩码(Padding Mask)用于排除为对齐而补齐的占位位置,避免无效 token 干扰注意力计算。