g
gcw_C8PI9e90/webssl-dino1b-full2b-224-npu
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

webssl-dino1b-full2b-224 on Ascend NPU

1. 简介

本文档记录 facebook/webssl-dino1b-full2b-224 在华为昇腾 NPU 上的推理部署与验证结果。

webssl-dino1b-full2b-224 是基于 DINOv2 架构的 vision transformer 模型,参数量约 1B,输入分辨率为 224×224,用于图像特征提取。本适配基于 torch_npu 的 transfer_to_npu 自动迁移能力,无需修改模型源码即可在昇腾 NPU 上完成 FP32 推理。

相关获取地址:

  • 权重下载地址(HuggingFace):https://huggingface.co/facebook/webssl-dino1b-full2b-224
  • 权重下载地址(hf-mirror):https://hf-mirror.com/facebook/webssl-dino1b-full2b-224

2. 验证环境

组件版本
transformers4.57.6
torch2.9.0+cpu
torch_npu2.9.0.post1+gitee7ba04
Pillowlatest
  • NPU:1 逻辑卡(Ascend910B4)
  • 模型路径:自动下载缓存至本地

3. 依赖安装

pip install torch torch_npu transformers Pillow numpy -i https://repo.huaweicloud.com/repository/pypi/simple/

4. NPU 环境设置

source /usr/local/Ascend/ascend-toolkit/set_env.sh
export ASCEND_RT_VISIBLE_DEVICES=0
export HF_ENDPOINT=https://hf-mirror.com

5. 快速开始推理

python3 inference.py --device npu --runs 10

预期输出:

======================================================================
DINOv2 Inference on Ascend NPU
Model: facebook/webssl-dino1b-full2b-224
Resolution: 224x224
Device: npu
======================================================================
NPU Device: Ascend910B4
...
Output shape: torch.Size([1, 257, 1536])
Output norm: 921.7620
Average inference time (10 runs): 40.85 ms
NPU Memory: allocated=4331.7MB, reserved=4716.0MB

精度结论:该模型已完成 Ascend NPU 适配部署,CPU 与 NPU 推理结果一致性验证通过,精度误差低于 1% 要求。

6. 精度验证

使用 verify_accuracy.py 对 NPU 推理结果与 CPU 基线进行精度对比。

python3 verify_accuracy.py

验证结果:

指标数值
max_abs_error0.003912
mean_abs_error0.000171
relative_error0.1412%
cosine_similarity0.999997
threshold1.0%
结果PASS

7. 性能参考

测试条件:batch_size=1,分辨率 224×224,FP32,warmup=3,runs=10。

指标数值
load_time258.83 s
avg_latency40.85 ms
output_shape(1, 257, 1536)
npu_memory_allocated4331.7 MB

8. 注意事项

  1. trust_remote_code=True 用于加载模型配置,请确保权重来源可信。
  2. 首次运行会自动从 HuggingFace / hf-mirror 下载权重,请保持网络畅通。
  3. 若 NPU 内存不足,可尝试减少 batch_size 或降低输入分辨率。
  4. 多卡场景下请通过 ASCEND_RT_VISIBLE_DEVICES 指定目标 NPU。