已关闭
check_accuracy 丢失上游 eager 非确定豁免通道,设备级抖动模型被 tol=0 门永久拦截 #5062
huyuchao创建于 19 天前关闭于 13 天前
19 天前 添加了label:triage-reviewmodule: usability
TorchNPU-Bot
19 天前 评论:
19 天前 评论:
无报错,属功能建议/需求;主题为 benchmark 工具 check_accuracy 的机制修复建议
添加分类标签:module: usability。
当前分类由社区bot提供,如分类有误请在评论中回复。


19 天前 添加了label:bot-triaged;删除了label:triage-review
TorchNPU-Bot
19 天前 评论:
19 天前 评论:
检测到当前 issue 已关联 PR,自动添加标签:bot-triaged


18 天前 关联了里程碑:v26.2.0
chenrayray
13 天前 评论:
13 天前 评论:
因为本单相关实施 PR 已全部结束(1 个已合入、1 个已关闭),按照本轮 issue 整理规则,先关闭此单。其中关闭但未合入的 PR 不代表对应修复已交付。
核对的 PR:
- pytorch !46686:已合入
- pytorch !46906:已关闭(未合入)
如仍有问题或需要继续推进,请重新打开,并补充当前 PyTorch / TorchNPU / CANN 版本、硬件环境、复现步骤及相关日志;需求类请补充尚未完成的具体内容。


13 天前 关闭了 issue
13 天前 issue状态由 TODO 改变为 DONE
13 天前 添加了label:resolved
现象
check_accuracy 的 eager 两跑 tol=0 前置门对设备级 eager 偶发非位确定的模型永远拦截(
eager_two_runs_differ),其后真正的数值比对(tol 1e-3+)无法进行。910B2 上带 loss 路径的 GPT2/Gemma2 即如此(偶发 1~2 ulp,设备级、与后端无关,probe 实证)。根因
上游 pytorch/benchmark(
userbenchmark/dynamo/dynamobench/common.py:2401)对该门有官方豁免通道skip_accuracy_check_as_eager_non_deterministic(基类空集、套件覆写;上游对 CUDA 已知 eager 非确定模型如 detectron2_* 走此通道)。本仓 common.py 继承了门但丢失了豁免通道。方案
恢复上游机制:基类属性返回空集(默认零行为变化),门条件加上
name not in ...判断。具体模型的豁免由套件覆写提供(huggingface 四 LLM 条目 PR 一并提交)。豁免只跳过参考系自检门,不跳过任何数值比对。修复 PR #46906