nlp_structbert_sentence-similarity_chinese-base on Ascend NPU
1. 简介
本文档记录 iic/nlp_structbert_sentence-similarity_chinese-base 在昇腾 NPU 上的适配验证结果。
- 模型来源: iic/nlp_structbert_sentence-similarity_chinese-base
- 架构: StructBERT (BERT-like, 768 hidden, 12 layers, 12 heads)
- 参数量: ~110M
- 任务: Sentence Similarity (句子相似度)
- 适配状态: SUCCESS
- 适配时间: 2026-05-17
2. 验证环境
| 组件 | 版本 |
|---|
torch | 2.9.0 |
torch-npu | 2.9.0.post1 |
transformers | 4.57.6 |
CANN | 8.5.1 |
- NPU: Ascend 910B4
- 系统: Linux aarch64
3. 推理脚本
python inference.py --model-id iic/nlp_structbert_sentence-similarity_chinese-base --device npu:0 --dtype float32
4. 推理输出证据
模型: iic/nlp_structbert_sentence-similarity_chinese-base
设备: npu:0
精度: float32
--- CPU 推理 ---
输出形状: [1, 768]
Embedding 前5个: [-0.3128, -0.1078, -0.2332, -0.1930, -0.4314]
是否有 NaN: False
--- NPU 推理 (npu:0) ---
输出形状: [1, 768]
Embedding 前5个: [-0.3147, -0.1077, -0.2334, -0.1927, -0.4314]
是否有 NaN: False
5. 性能参考
6. CPU vs NPU 精度对比
| 指标 | 数值 |
|---|
| Cosine Similarity | 0.999986 |
| Max Abs Error | 0.026196 |
| 精度误差 | 0.0014% |
| 是否满足要求 | 是(< 1%) |
7. 评测材料
| 材料 | 文件 | 说明 |
|---|
| 推理脚本 | inference.py | 独立可运行的 NPU 推理代码 |
8. 注意事项
- StructBERT 权重使用
encoder. 前缀存储,需手动重映射后加载到 BertModel
- 使用 [CLS] token 的 last_hidden_state 作为句子向量
- 输入: 句子对 (sentence1, sentence2),max_length=128
贡献者: xujiashuai
参赛赛道: 模型适配赛道
提交时间: 2026-05-17