Y
gcw_hhrLdMXW/pickscore-v1-npu-deployment
模型介绍
文件和版本
Pull Requests
讨论
分析

PickScore_v1 昇腾 NPU 部署文档

1. 模型简介

模型名称: PickScore_v1(yuvalkirstain/PickScore_v1)

模型链接:

  • Hugging Face: https://huggingface.co/yuvalkirstain/PickScore_v1
  • AtomGit: https://ai.gitcode.com/hf_mirrors/yuvalkirstain/PickScore_v1

模型描述: PickScore_v1(yuvalkirstain/PickScore_v1)基于 CLIP-H 在 Pick-a-Pic 数据集微调的图像-文本偏好打分模型,输入 prompt 与生成图像输出偏好分数,用于文本到图像生成的人性偏好预测、模型评估、图像排序等。

模型架构: CLIP-H 双塔(ViT-H/14 视觉塔,hidden=1280),projection_dim=1024,图像-文本余弦相似度打分

参数规模: 约 986.1M 参数。

适配引擎: 昇腾 torch_npu(torch.npu 设备接口调用 NPU)。


2. 环境依赖

依赖项版本要求说明
Python>= 3.10(推荐 3.11)本机 3.11.14
CANN Toolkit8.0.RC2+本机 8.5.1,昇腾开发套件
torch2.1.0+本机 2.9.0+cpu
torch_npu2.9.0.post1随 CANN 提供,昇腾 NPU 适配层
transformers4.57.6模型加载/预处理
safetensors0.4.3+权重加载
Pillow10+图像读取

硬件: 昇腾 Ascend910_9362(64GB HBM ×2)。

安装命令:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple \
    transformers==4.57.6 safetensors Pillow numpy
# 昇腾 NPU 组件(torch_npu / CANN / 驱动)由昇腾工具链安装

3. 推理步骤

3.1 模型资源准备

mkdir -p model
for f in config.json model.safetensors preprocessor_config.json; do
  timeout 280 curl -sSL -o "model/$f" \
    "https://hf-mirror.com/yuvalkirstain/PickScore_v1/resolve/main/$f?download=true"
done

3.2 检查 NPU 设备

npu-smi info
python3 -c "import torch, torch_npu; print(torch.npu.device_count())"   # 输出 2

3.3 运行推理

python3 inference.py --device npu:0
# 带性能基准
python3 inference.py --device npu:0 --benchmark

4. 测试样例及输出结果

命令:

python3 inference.py --device npu:0 --benchmark

输出:

[INFO] ========== 昇腾推理引擎 ==========
[INFO] torch      : 2.9.0+cpu
[INFO] torch_npu  : 2.9.0.post1+gitee7ba04
[INFO] NPU 可用   : True
[INFO] NPU 数量   : 2
[INFO] NPU 型号   : Ascend910_9362
[INFO] ==================================
[模型加载] 完成, 参数量 986.1M, 设备 npu:0, 耗时 3.33s

[结果] PickScore_v1 图像-文本偏好打分
    test_good_dress.jpg: score = 0.2036
    test_bad_dress.jpg: score = 0.2030
    [最佳图像] test_good_dress.jpg (score=0.2036)

[性能基准] npu:0 warmup=3 runs=20
  平均推理时延 = 26.59 ms/张 (37.6 FPS)

结果分析: 模型在昇腾 NPU 上前向成功,任务级输出正确,确定性验证通过。


5. Agent 适配截图

5.1 Agent 完整适配工作流

适配全流程

5.2 NPU 硬件设备调用日志

NPU 设备调用

5.3 模型最终适配验收结果

模型适配结果


6. 注意事项

  • 推理脚本通过 torch_npu(torch.npu.is_available() / torch.device("npu:0"))调用昇腾 NPU,未检测到 NPU 时自动回退 CPU。
  • 首次前向会触发算子编译/动态追踪,计时前需预热(脚本默认 warmup=3)。
  • 权重需从 hf-mirror.com 镜像拉取(?download=true 必须),本环境无法直连 huggingface.co。