解题思路
按题面顺序实现缩放点积自注意力:先用投影矩阵得到 Q,K,V,再算 S=QK⊤/d,对 j>i 的分数置 0,按行把分数除以该行和得到权重(行和为 0 则该行全 0,不使用 exp),最后 Y=AV。每一步的矩阵元素与 d 都四舍五入到两位小数,因果掩码发生在分数舍入之后、归一化之前。
实现方法:矩阵乘法在点积完成后立刻舍入;用自定义的两位四舍五入(0.5 向远离 0 进位),不要依赖语言默认的银行家舍入。归一化时对行和再舍入一次,避免浮点误差把全 0 行判成非 0。
复杂度分析
时间复杂度 O(n2d+nd2),空间复杂度 O(n2+nd+d2)。在 n≤80、d≤16 下可以直接模拟。