已关闭
[Bug]: npu_benchmark/level1/11_GroupNorm.json中,只有第63行用例的精度,torch cpu和torch npu精度不一致,其他用例都一致。怀疑第63行用例设置不合理 #9
201111007创建于  5月21日关闭于  5月30日
201111007
201111007
5月21日 创建

在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。

⚠️ 安全信息提醒:请仔细检查提供的文本内容,确保其不包含敏感数据信息,包括但不限于:

  • API 令牌或密钥
  • 密码或身份验证凭证
  • 私有网址或接口地址
  • 个人或机密数据
  • ...

在分享配置信息或代码示例时,请将敏感信息脱敏处理,或使用 <TOKEN> 等占位符替代原有内容。

环境信息

例如:
操作系统	Ubuntu 24.04.4 LTS (Noble Numbat)
昇腾硬件	Ascend910B2C
NPU 数量	16
CANN 版本	24.1.rc2 (Innerversion: V100R001C18SPC001B233)
ascendhal 版本	7.35.23
PyTorch	2.9.0+cpu
torch_npu	2.9.0
Triton	3.2.0

🐛 问题描述

问题:
npu_benchmark/level1/11_GroupNorm.json中,只有第63行用例的精度,torch cpu和torch npu精度不一致,其他用例都一致。怀疑63用例设置不合理
{"inputs": [{"name": "x", "type": "tensor", "required": true, "dtype": "float16", "shape": [1, 3584, 4, 4]}, {"name": "num_groups", "type": "attr", "required": true, "dtype": "int", "value": 1}, {"name": "weight", "type": "tensor", "required": false, "dtype": "float16", "shape": [3584]}, {"name": "bias", "type": "tensor", "required": false, "dtype": "float16", "shape": [3584]}]}

测试结果:
{
"case_idx": 63,
"shape": [
1,
3584,
4,
4
],
"dtype": "torch.float16",
"num_groups": 1,
"torch_vs_cpu": {
"name": "Torch NPU vs CPU",
"passed": false,
"max_abs_diff": 0.015625,
"mean_abs_diff": 0.0006944568012841046,
"matched_ratio": 0.7050432477678571,
"MERE": 0.005922679323703051,
"allclose": true,
"finite_count": 57344,
"total_elements": 57344
},
"triton_vs_cpu": {
"name": "Triton NPU vs CPU",
"passed": false,
"max_abs_diff": 0.0234375,
"mean_abs_diff": 0.0013905999949201941,
"matched_ratio": 0.4894321986607143,
"MERE": 0.011713624000549316,
"allclose": true,
"finite_count": 57344,
"total_elements": 57344
},
"triton_vs_torch": {
"name": "Triton NPU vs Torch NPU",
"passed": false,
"max_abs_diff": 0.03125,
"mean_abs_diff": 0.002085056621581316,
"matched_ratio": 0.38143484933035715,
"MERE": 0.008995524607598782,
"allclose": true,
"finite_count": 57344,
"total_elements": 57344
}
},

附件的cpu_baseline_report.md中有运行测试的步骤和脚本,可直接运行复现:
运行测试需要以下文件(均已包含在本目录中):

文件 说明
test_cpu_baseline.py 主测试脚本,执行 CPU/NPU/Triton 对比
_11_GroupNorm_torch.py PyTorch 参考实现(Model + get_input_groups)
_11_GroupNorm_triton_ascend_impl.py Triton Ascend 实现(ModelNew)
11_GroupNorm.json 测试数据(73 个 case 的输入规格)
verify_original.py 原始 kernel-verifier 的 verify.py(精度阈值来源)
运行方式

进入测试目录

cd /home/d00841237/dql-triton-kkb/AscendOpGenAgent/output/11_groupNorm/0520/cpu_baseline_test/

执行测试(需要 NPU 设备)

python3 test_cpu_baseline.py

如需指定特定 NPU 设备(如 NPU 5)

ASCEND_RT_VISIBLE_DEVICES=5 python3 test_cpu_baseline.py
输出文件
文件 说明
cpu_baseline_result.json 全量 73 case 的精度对比结果
cpu_baseline_report.md 本报告(汇总分析)
case63_deep_analysis/report.md Case 63 深度误差分析报告

附件

14518920416b446387a83e55e61e9d83.zip

欢迎加入社区,感谢您对社区的贡献 🎉!

likedislike
ascend-robotascend-robot成员
5月21日 添加了label:bug
201111007201111007
5月21日 修改标题为 “[Bug]: npu_benchmark/level1/11_GroupNorm.json中,只有第63行用例的精度,torch cpu和torch npu精度不一致,其他用例都一致。怀疑63用例设置不合理”,原标题为“[Bug]: ”
201111007201111007
5月21日 修改了issue 的描述
201111007201111007
5月21日 修改标题为 “[Bug]: npu_benchmark/level1/11_GroupNorm.json中,只有第63行用例的精度,torch cpu和torch npu精度不一致,其他用例都一致。怀疑第63行用例设置不合理”,原标题为“[Bug]: npu_benchmark/level1/11_GroupNorm.json中,只有第63行用例的精度,torch cpu和torch npu精度不一致,其他用例都一致。怀疑63用例设置不合理”
zhaolinlin成员
5月21日 评论:

/label add triaged

likedislike
ascend-robotascend-robot成员
5月21日 添加了label:triaged
Zzhaolinlin成员
5月27日 关联了pull request:【benchmark】更新 npu_benchmark/level1/11_GroupNorm.json第63行case
Zzhaolinlin成员
5月30日 关联了pull request:【benchmark】修复quantscatter indices 未保证合法问题、HybridAttentionMaskPreparation 未设置device问题、GroupNorm分布问题
zhaolinlin成员
5月30日 评论:

修改分布方式,最新版本验收通过

likedislike
Zzhaolinlin成员
5月30日 将 zhaolinlin 设为负责人
zhaolinlin成员
5月30日 评论:

/close

likedislike
ascend-robot
ascend-robot成员
5月30日 评论:

Notice

@zhaolinlin , this issue is currently under CVE service control and cannot be closed directly. Please comment /check-issue.

likedislike
Zzhaolinlin成员
5月30日 issue状态由 TODO 改变为 DONE
Zzhaolinlin成员
5月30日 关闭了 issue