已关闭
SelectAttentionGrad算子存在确定性问题 #4924
guomc创建于  7 天前关闭于  7 天前
guomc
guomc
7 天前 创建

Background (背景信息)

NsaSelectedAttentionGrad(接口 aclnnNsaSelectedAttentionGrad / torch_npu.npu_nsa_select_attention_grad)是 NSA(Native Sparse Attention)场景的反向算子,计算 dq/dk/dv。在开启确定性计算模式(aclrtCtxSetSysParamOpt(ACL_OPT_DETERMINISTIC, 1) 或 torch.use_deterministic_algorithms(True))后,相同输入多次执行,输出应当逐位(bit-exact)一致。
问题现象:确定性模式下,相同输入重复调用该算子,dq/dk/dv 输出仍存在 run 间差异(fp16/bf16、sparse_mode=0/2 均可复现)。例如用例 B=1, N1=32, N2=2, seq_q=112, seq_kv=64, Dqk=Dv=192, selectedBlockSize=16, selectedBlockCount=1, layout=TND,输入随机填充 [-2,2],重复执行 100 次,输出与首次基准比较出现不一致。

Benefit / Necessity (价值/作用)

• 支撑确定性训练:反向算子是可复现训练链路的一环,该算子不确定会导致整个 NSA 模型在确定性模式下训练结果不可复现,影响问题定位、回归对比与调试。
• 修复代价小、风险可控:仅增加一次全局同步,不改变计算逻辑与精度,对性能影响可忽略。

likedislike
guomcguomc
7 天前 关联了pull request:fix nsa_selected_attention_grad
游震成员
7 天前 评论:

/assign @guomc9

likedislike
CANN-robotCANN-robot成员
7 天前 将 guomc9 设为负责人
guomcguomc
7 天前 关联了pull request:fix nsa_selected_attention_grad
guomcguomc
7 天前 issue状态由 待办的 改变为 已完成
guomcguomc
7 天前 关闭了 issue