已关闭
[Requirement|需求建议]: 补充 RmsNormGradQuant 独立 CPU TestSpec golden #7020
raoliang_sac创建于 10 天前关闭于 10 天前
10 天前 添加了label:requirement
10 天前 将 raoliang_sac 设为负责人
10 天前 关闭了 issue
HuangRZzzz
10 天前 评论:
10 天前 评论:
(基于 master @d3ed2375 核对)
需求已闭环:独立 CPU golden 已随 !12448 合入(merged,2026-10-21 11:33),master 上路径为 norm/rms_norm_grad_quant/tests/assets/golden.py。该 PR 仅含这一个文件(新增 195 行),master 文件与合入版本字节一致(git blob 1ff1444)。逐条对照正文设计:
__spec__注册:golden.py:21-24 同时注册RmsNormGradQuantTestSpec(:126-135)与AclnnRmsNormGradQuantTestSpec(:192-195),kernel/GEIR 共用 NumPy 参考,ACLNN 兼容 Torch 输入(:138-172)。- 独立 CPU 参考:仅依赖 numpy/torch(:18-19),float64 计算 RMSNorm 反向后再做 INT8/HIFLOAT8 静态量化(:33-42、:45-100),无 torch_npu、无 NPU 算子调用。
customize_inputs:以 epsilon=1e-5 用 x 反推 rstd 并原地写回,同时只修复随机生成的零 scale(:103-123)。- 空张量语义:非空 batch 且空 gamma 时 dgamma 输出 QuietNaN(:68-75);空 gamma 走 ACLNN 提前返回在实现侧确认(aclnn_rms_norm_grad_quant.cpp:79-88)。
- 单文件边界:仓库侧确实只有该文件,算子目录下无 tests/st CSV 或 adapter;上板对照在仓外完成,静态不可复核。
差异项:无。若后续希望精度回归在仓内固化(如补 tests/st 资产),建议另开需求。


10 天前 添加了label:resolved
Backgroud(背景信息)
RmsNormGradQuant 算子目录尚无可供当前 TTK 直接加载的 TestSpec golden。已有 ACLNN/GEIR 参考脚本依赖 NPU 执行反向与量化,需要补充独立 CPU 参考实现,避免精度验证依赖被测设备算子。
Origin(信息来源)
算子 golden 资产补齐需求;用户提供了原 ACLNN/GEIR 参考脚本,并要求适配当前 TTK 格式及进行 Ascend 950 验证。
Benefit / Necessity (价值/作用)
提供统一的 kernel/GEIR/ACLNN 精度参考入口。明确前向 rstd 输入关联、量化类型、可选 offset、非连续布局及空张量边界,便于后续回归与 debug。
Design(设计方案)
仅在算子目录新增
tests/assets/golden.py:__spec__注册RmsNormGradQuantTestSpec和AclnnRmsNormGradQuantTestSpec。customize_inputs构造与 x 关联的 rstd,保留有效 scale、offset 和张量布局。关联 PR:https://gitcode.com/cann/ops-nn/merge_requests/12448