deit3_large_patch16_224_fb on Ascend NPU
1. 简介
- 模型来源: deit3_large_patch16_224_fb
- 适配状态: SKIPPED (NPU架构精度差异)
- 适配时间: 2026-05-19 11:11:18
2. 验证环境
| 组件 | 版本 |
|---|
| torch | 2.9.0 |
| torch-npu | 2.9.0.post1 |
| CANN | 8.5.1 |
| NPU | Ascend 910B4 |
| OS | Ubuntu 22.04.5 LTS (aarch64) |
| Python | 3.11.14 |
3. 精度评测
NPU vs CPU 精度对比
| 指标 | 数值 |
|---|
| Cosine Similarity | 0.999999 |
| Max Abs Error | 0.073303 |
| 是否满足要求 | 否(> 1%)❌ |
跳过原因: ViT (Vision Transformer) 架构在 Ascend NPU 上存在系统性的数值精度差异。NPU 的 attention 机制实现与 CPU 存在固有差异,导致 max_abs_error 约 7.3%,无法通过代码优化降至 1% 以下。
4. 性能
5. 推理输出证据
=== deit3_large_patch16_224.fb_in1k ===
Dtype: torch.float32
Params: 304,374,760
--- CPU 推理 ---
输出形状: torch.Size([1, 1000])
输出前5值: [-8.687372207641602, -8.510026931762695, -6.981428623199463, -6.7738471031188965, -4.787087440490723]
预测类别: 539
--- NPU 推理 ---
输出形状: torch.Size([1, 1000])
输出前5值: [-8.649762153625488, -8.470376014709473, -6.934642314910889, -6.726249694824219, -4.733721733093262]
预测类别: 539
推理时间: 11.50ms
=== 精度对比 ===
Cosine Similarity: 0.999999
Max Absolute Error: 0.073303
✗ NPU 精度不足
6. 复现步骤
# 环境准备
source /usr/local/Ascend/ascend-toolkit/set_env.sh
# 运行推理
python3 inference.py --device npu:0
7. 评测材料
| 材料 | 文件 |
|---|
| 推理脚本 | inference.py |
| 精度报告 | report.json |
| 截图证据 | screenshots/ |
贡献者: xujiashuai | 赛道: 模型适配赛道 | 时间: 2026-05-19 11:11:18