已关闭
[Bug-Report|缺陷反馈]: RmsNormGrad Ascend 950 空张量、Split-D 尾元素及 dx 精度异常 #5561
liangyuhua创建于  9 天前关闭于  5 天前
liangyuhua
liangyuhua成员
9 天前 创建

Describe the current behavior / 问题描述

Ascend 950 arch35/RegBase 的 RmsNormGrad 存在以下问题:

  1. N=0、D非0的 empty 场景中,dgamma 被填充为 NaN,而空维规约结果应为0。
  2. Split-D 在 D=2^k+1 等情况下,后半段比 bodyPart 多一个元素,存在尾元素未覆盖风险。
  3. dx 投影计算未进行 FMA 融合,分步执行会引入额外的中间舍入。
  4. 测试 Golden 将 dgamma 固定返回一维 (D,),多维 gamma 场景下输出 shape 不符合接口约束。

Environment / 环境信息

  • Hardware:Ascend950PR_9579
  • Software:CANN 9.2.0
  • Architecture:arch35 / DAV_3510
  • Implementation:RmsNormGrad RegBase

Steps to reproduce the issue / 重现步骤

分别运行以下 RmsNormGrad 场景:

  1. N=0、D非0的 empty 输入,检查 dgamma。
  2. D=2^k+1 的 Split-D 输入,检查尾元素。
  3. 构造动态范围较大或存在径向消减的输入,将 dx 与 CPU 高精度真值比较。
  4. gamma 为多维 shape 的输入,检查 Golden 返回的 dgamma shape。

Describe the expected behavior / 预期结果

  1. Empty 场景的 dgamma 全部为0。
  2. Split-D 的所有列均被正确计算。
  3. dx 投影计算通过 FP32 Reg::Axpy 进行 FMA 融合,减少中间舍入误差。
  4. dgamma shape 与 gamma shape 保持一致。

Special notes for this issue / 备注

本次修改范围仅涉及 Ascend 950 arch35/RegBase 实现及测试 Golden,不涉及其他架构。

关联 PR:https://gitcode.com/cann/ops-nn/merge_requests/9874

likedislike
liangyuhualiangyuhua成员
9 天前 添加了label:bug-report
liangyuhualiangyuhua成员
9 天前 将 liangyuhua 设为负责人
liangyuhualiangyuhua成员
9 天前 修改了issue 的描述
liangyuhualiangyuhua成员
9 天前 修改了issue 的描述
CANN-robotCANN-robot成员
5 天前 关闭了 issue
CANN-robotCANN-robot成员
5 天前 添加了label:resolved
liangyuhualiangyuhua成员
5 天前 关联了pull request:fix(rms_norm_grad): improve arch35 gradient correctness