nlp_structbert_nli_chinese-base on Ascend NPU
1. 简介
本文档记录 iic/nlp_structbert_nli_chinese-base 在昇腾 NPU 上的适配验证结果。
- 模型来源: iic/nlp_structbert_nli_chinese-base
- 架构: StructBERT (BERT-like, 768 hidden, 12 layers, 12 heads)
- 参数量: ~110M
- 任务: NLI (Natural Language Inference, 自然语言推理)
- 适配状态: 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_nli_chinese-base --device npu:0 --dtype float32
4. 推理输出证据
模型: iic/nlp_structbert_nli_chinese-base
设备: npu:0
精度: float32
--- CPU 推理 ---
输出形状: [1, 768]
Embedding 前5个: [0.2786, -0.4238, -0.0492, -0.0607, -0.1256]
是否有 NaN: False
--- NPU 推理 (npu:0) ---
输出形状: [1, 768]
Embedding 前5个: [0.2786, -0.4245, -0.0483, -0.0605, -0.1254]
是否有 NaN: False
5. 性能参考
6. CPU vs NPU 精度对比
| 指标 | 数值 |
|---|
| Cosine Similarity | 0.999998 |
| Max Abs Error | 0.002994 |
| 精度误差 | 0.0002% |
| 是否满足要求 | 是(< 1%) |
7. 评测材料
| 材料 | 文件 | 说明 |
|---|
| 推理脚本 | inference.py | 独立可运行的 NPU 推理代码 |
8. 注意事项
- StructBERT 权重使用
encoder. 前缀存储,需手动重映射后加载到 BertModel
- NLI 任务标签: 矛盾(0), 蕴涵(1), 中立(2)
- 使用 [CLS] token 的 last_hidden_state 作为句子向量
- 输入: 句子对 (sentence1, sentence2),max_length=128
贡献者: xujiashuai
参赛赛道: 模型适配赛道
提交时间: 2026-05-17