d
dingdang666/dinov3-vitl16-pretrain-lvd1689m-NPU
模型介绍文件和版本Pull Requests讨论分析

dinov3-vitl16-pretrain-lvd1689m on Ascend NPU

1. 简介

本文档记录 dinov3-vitl16-pretrain-lvd1689m(DINOv3 ViT-Large/16)在昇腾 NPU(Ascend 910B3)环境的适配部署与精度验证结果。

DINOv3 ViT-Large 是一种基于 Vision Transformer 的视觉特征提取模型,参数量约 300M,输出 1024 维图像特征向量。该模型在 LVD-1689M 数据集上通过 DINOv3 ViT-7B 教师模型蒸馏获得。本项目完成该模型在昇腾 NPU 上的推理适配,并验证 NPU 与 CPU 推理结果的精度误差 < 1%。

相关地址:

  • 权重下载地址(HuggingFace):https://huggingface.co/facebook/dinov3-vitl16-pretrain-lvd1689m
  • 适配代码仓库:https://gitcode.com/dingdang666/dinov3-vitl16-pretrain-lvd1689m-NPU

2. 验证环境

组件版本
Python3.11.x
PyTorch2.10.0+cpu
torch_npu2.10.0
transformers5.8.1
safetensors0.7.0
CANN8.5.1
NPU 驱动25.5.2
NPU 硬件Ascend 910B3
操作系统Linux (aarch64)

3. 模型信息

项目值
模型架构ViT-Large/16 (DINOv3)
参数量~300M
特征维度1024
Layers24
Attention Heads16
Patch Size16
Register Tokens4
输入尺寸3×224×224
权重格式safetensors
原始框架PyTorch (transformers)
预训练数据LVD-1689M
许可证DINOv3 License

4. Conda 环境安装

conda create -n dinov3-vitl16 python=3.11 -y
conda activate dinov3-vitl16
pip install torch==2.10.0 torchvision==0.25.0 --index-url https://repo.huaweicloud.com/repository/pypi/simple/
pip install torch_npu==2.10.0 --index-url https://repo.huaweicloud.com/repository/pypi/simple/
pip install transformers safetensors pillow --index-url https://repo.huaweicloud.com/repository/pypi/simple/

5. 推理执行

# NPU
python3 inference.py --model_path /path/to/model --image_path /path/to/img.jpg

# CPU
python3 inference.py --model_path /path/to/model --image_path /path/to/img.jpg --device cpu

# 评测
python3 benchmark.py --model_path /path/to/model

6. 参数说明

inference.py说明默认值
--model_path模型路径必需
--image_path图像路径必需
--devicenpu:0 或 cpunpu:0
--no_warmup跳过预热False
benchmark.py说明默认值
--model_path模型路径必需
--image_path测试图像自动生成
--npu_deviceNPU 设备npu:0
--num_warmup预热轮数3

7. 精度评测结果

评测方法

同一图像在 CPU(FP32)和 NPU(FP32)上推理,对比输出特征差异。

指标含义阈值
向量级相对误差`
余弦相似度方向一致性> 0.99

精度结果

输出张量向量级相对误差余弦相似度最大绝对误差平均绝对误差
features0.745333%0.99997305871.25e-022.77e-03

判定结论

指标实测值阈值状态
向量级相对误差0.75%< 1%PASS
余弦相似度0.999973> 0.99PASS

8. 性能数据

操作耗时
CPU 推理时间(FP32)10.31s
NPU 推理时间(FP32,3轮预热后)0.15s
加速比69.59x

9. 注意事项

  1. NPU 预热可消除首次推理编译开销,默认 3 轮。
  2. 权重文件(.safetensors)不包含在适配仓库中,需单独下载。
  3. 本模型基于 HuggingFace transformers AutoModel 加载。
下载使用量0