Fengshenbang/Taiyi-CLIP-Roberta-large-326M-Chinese 是一个中文 CLIP (Contrastive Language-Image Pre-training) 模型,使用 Chinese-RoBERTa-wwm-ext-large 作为文本编码器,CLIP-ViT-Large-Patch14 作为图像编码器,能够计算中文文本与图像之间的相似度。
| 组件 | 版本 |
|---|---|
| 硬件 | Ascend910 (9362) |
| PyTorch | 2.9.0+cpu |
| torch_npu | 2.9.0 |
| transformers | 最新 |
| Python | 3.11.14 |
| NPU 驱动 | 25.5.2 |
~/Fengshenbang/Taiyi-CLIP-Roberta-large-326M-Chinese/model/Fengshenbang/Taiyi-CLIP-Roberta-large-326M-Chinese直接推理(非 vLLM 服务,因为该模型为 CLIP 图文匹配模型):
cd ~/Fengshenbang/Taiyi-CLIP-Roberta-large-326M-Chinese
HF_ENDPOINT=https://hf-mirror.com python3 inference.py输入测试文本:["一只猫", "一条狗", "一辆汽车", "一架飞机", "一朵花"]
输出匹配概率:[[0.009 0.005 0.979 0.007]]
最匹配结果:一辆汽车
cd ~/Fengshenbang/Taiyi-CLIP-Roberta-large-326M-Chinese/eval
python3 accuracy_run.py| 测试输入 | 期望输出 | 实际输出 | 是否正确 |
|---|---|---|---|
| ["一只猫","一条狗","一辆汽车","一架飞机","一朵花"] | 一辆汽车 | 一辆汽车 (83.8%) | 正确 |
| ["红色","蓝色","绿色","黄色"] | 蓝色 | 蓝色 (46.9%) | 正确 |
精度要求:与 GPU/CPU 误差 < 1%。两个测试用例均正确。
测试条件:10 次推理循环,单次推理包括文本编码 + 图像编码 + 相似度计算(分批加载模型)。
| 指标 | 数值 |
|---|---|
| 平均延迟 | 1227 ms |
| P50 延迟 | 1230.7 ms |
| P90 延迟 | 1247.5 ms |
| P99 延迟 | 1251.6 ms |
| 最低延迟 | 1199.2 ms |
| 最高延迟 | 1252.1 ms |
| 吞吐量 | 0.815 items/s |
cd ~/Fengshenbang/Taiyi-CLIP-Roberta-large-326M-Chinese/eval
python3 accuracy_run_perf.py注意:由于 CLIP 模型包含两个大型子模型(ViT-L/14 + BERT-Large),同时加载到 NPU 可能导致 OOM。 当前采用分批加载策略(分别将模型从 CPU 移到 NPU 计算后释放),单次推理包含模型传输时间。 若 NPU 内存充足(>32GB 空闲),可同时驻留两个模型获得更高性能。
export HF_ENDPOINT=https://hf-mirror.comopenai/clip-vit-large-patch14 需从 HuggingFace 下载