本文档记录了 vit_so400m_patch16_siglip_gap_384.v2_webli 在昇腾 Ascend NPU 上的推理适配和精度验证结果。
该模型属于 timm 库中的 Vision Transformer (ViT) 系列模型,用于图像分类任务。
| 组件 | 版本/规格 |
|---|---|
| NPU | Ascend910 (64GB HBM) |
| CANN | 8.5.1 |
| PyTorch | 2.9.0+cpu |
| torch-npu | 2.9.0.post1 |
| timm | 1.0.27 |
| Python | 3.11.14 |
pip install torch torch-npu timm pillow numpy
# 使用清华镜像加速
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch torch-npu timm pillow numpy# CPU推理
python inference.py vit_so400m_patch16_siglip_gap_384.v2_webli --device cpu
# NPU推理
python inference.py vit_so400m_patch16_siglip_gap_384.v2_webli --device npu
# CPU vs NPU精度对比
python compare_cpu_npu.py vit_so400m_patch16_siglip_gap_384.v2_webli| 设备 | 平均推理耗时 (ms) | 加速比 |
|---|---|---|
| CPU | 11053.67 ms | 1.00x |
| NPU (Ascend910) | 54.34 ms | 203.42x |
| 排名 | CPU 类别 ID | CPU 概率 | NPU 类别 ID | NPU 概率 |
|---|---|---|---|---|
| 1 | 979 | 0.889048 | 979 | 0.889048 |
| 2 | 676 | 0.005429 | 676 | 0.005429 |
| 3 | 529 | 0.002956 | 529 | 0.002956 |
| 4 | 311 | 0.002519 | 311 | 0.002519 |
| 5 | 557 | 0.000904 | 557 | 0.000904 |
结论: CPU 与 NPU 的 Top-1 分类结果一致。
| 指标 | 数值 |
|---|---|
| Cosine Similarity | 1.00000000 |
| 最大概率差异 | 0.000054% |
| 最大 Logit 绝对误差 | 0.00008392 |
精度判定: 通过 (NPU 与 CPU 推理误差 < 1%)

经过完整验证,vit_so400m_patch16_siglip_gap_384.v2_webli 在 Ascend NPU 上的推理结果与 CPU 推理结果的误差小于 1%,精度满足要求。NPU 推理相较于 CPU 推理获得了 203.42x 的加速效果。