m0_74196153/aimv2-3B-patch14-224
模型介绍文件和版本Pull Requests讨论分析

AIMv2-3B-patch14-224 昇腾 NPU 推理适配

1. 简介

本文档记录 apple/aimv2-3B-patch14-224 在华为昇腾 Ascend910B4 上的推理适配与验证结果。

AIMv2 (Apple Intelligence Foundation Model v2) 是一个多模态基础模型,可提取高维图像特征向量用于下游视觉任务。本仓库提供基于 PyTorch + torch_npu 的推理适配方案。

相关获取地址:

  • 权重下载地址(ModelScope):https://modelscope.cn/models/apple/aimv2-3B-patch14-224
  • 权重下载地址(HuggingFace):https://huggingface.co/apple/aimv2-3B-patch14-224

2. 验证环境

组件版本
torch2.5.1
torch-npu2.5.1
transformers4.57.6
Pillow10.x
numpy1.24+
CANN8.5.1
  • NPU:Ascend910B4(1 逻辑卡)
  • 模型路径:~/.cache/modelscope/hub/models/apple/aimv2-3B-patch14-224
  • 输入尺寸:224×224

3. 权重转换

AIMv2 官方权重使用 safetensors 格式,需转换为 PyTorch state_dict 加载到 transformers 模型中。

python3 aimv2_weight_convert.py

转换后生成 converted_model.pth,包含 173 组参数全部映射成功。

4. 推理脚本

已验证通过的推理脚本 inference.py:

python3 inference.py

核心流程:

  1. 通过 AutoConfig.from_pretrained + AutoModel.from_config 创建模型
  2. 加载转换后的 converted_model.pth 权重(strict=True)
  3. 使用 model.to('npu:0').to(torch.float16) 迁移到 NPU
  4. 输入图像预处理(Resize + CenterCrop → 224×224 → ImageNet 归一化)
  5. 执行推理,输出图像特征向量 [1, 256, 3072]

5. 性能参考

测试条件:batch=1 / 224×224 输入 / FP16 / warmup=3 / benchmark=10

指标数值
硬件Ascend910B4
Mean Latency25.3 ms
Median Latency25.0 ms
P99 Latency27.2 ms
Min Latency24.7 ms
Max Latency27.4 ms
Throughput39.50 img/s
Feature Dim256 × 3072

6. 输出特征分析

指标数值
Feature Norm4652.0
Feature Mean0.0082
Feature Std5.2461
Pooled Norm98.69

7. 注意事项

  • AIMv2 使用 AutoModel.from_config 而非 from_pretrained 创建模型,因为 safetensors 权重需要先转换
  • FP16 推理精度与 FP32 接近(feature norm 差异 < 0.1%),性能提升约 1.8×
  • 模型需要 trust_remote_code=True 加载自定义 config
  • 输入图像需按照 ImageNet 标准化(mean=[0.485,0.456,0.406], std=[0.229,0.224,0.225])
下载使用量0