Yanguan/VTP-Base-f16d64
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

VTP-Base-f16d64 模型卡片(NPU 适配版)

本仓库为 MiniMax/VTP-Base-f16d64 模型提供在华为昇腾 NPU 上的适配推理、性能测试与精度验证脚本。

原始权重来源:https://gitcode.com/MiniMax-AI/VTP-Base-f16d64

模型介绍

属性数值
架构VTP (Visual Tokenizer Pre-training)
参数量~300M
输入尺寸[3, 256, 256]
Vision Embed Dim768
Vision Depth12
Vision Patch Size16
Text Embed Dim768
Text Depth12

环境配置

前置依赖

  • Python >= 3.8
  • PyTorch >= 2.0
  • torch_npu(昇腾 NPU 驱动)
  • transformers
  • torchvision
  • timm
  • omegaconf
  • pillow

安装依赖

pip install torch torchvision transformers timm omegaconf pillow

说明:torch_npu 需根据您的 CANN 版本安装,请参考昇腾官方文档。

模型权重下载

modelscope download --model MiniMax/VTP-Base-f16d64 --local_dir ./weight/VTP-Base-f16d64

NPU 推理

在 NPU 上执行单图特征提取推理:

python3 inference.py --device npu --image assets/dog.png

运行输出示例

Loading model on NPU...
Model parameters: 295.6M
Loading image from assets/dog.png...
Input tensor shape: torch.Size([1, 3, 256, 256])
CLS token shape: torch.Size([1, 768])
Patch tokens shape: torch.Size([1, 256, 768])
CLS token top-5 values: [2.9994555 2.864135  2.853548  2.649261  2.6276755]
Inference completed successfully!

本模型通过 model.to("npu") 直接加载到 NPU 运行,无需对第三方库代码进行 monkey-patch。

性能测试

测试不同 batch size 下的推理延迟与吞吐量:

python3 benchmark.py --device npu

昇腾 NPU 测试结果

Batch Size平均延迟 (ms)吞吐量 (samples/s)
114.71467.96
214.665136.38
414.712271.89
814.627546.95
1622.530710.16

精度验证

对比 NPU 与 CPU 基线的输出一致性:

python3 accuracy.py --batch_size 1

验证结果(NPU vs CPU, Batch Size = 1, 20 组样本)

指标数值
MSE0.000001
MAE0.000690
范围归一化相对误差 (%)0.020103
余弦相似度1.000000
最大绝对差0.002983

验证结论:通过 — 范围归一化相对误差 = 0.0201% < 1%,余弦相似度 = 1.000000

文件说明

文件说明
inference.pyNPU 单图特征提取推理脚本
benchmark.py多 batch 延迟与吞吐量测试
accuracy.pyNPU 与 CPU 精度对比
vtp/VTP 模型源代码(来自原始仓库)
assets/dog.png测试用示例图片
output/运行日志

引用

@article{vtp,
  title={Towards Scalable Pre-training of Visual Tokenizers for Generation},
  author={Yao, Jingfeng and Song, Yuda and Zhou, Yucong and Wang, Xinggang},
  journal={arXiv preprint arXiv:2512.13687},
  year={2025}
}