本文档记录 iic/nlp_structbert_siamese-uninlu_chinese-base 在华为昇腾 Ascend NPU 上的适配与验证结果。
该模型是基于 StructBERT 架构的 Siamese-UIE(孪生网络统一信息抽取)模型,支持零样本信息抽取,包括命名实体识别、关系抽取、事件抽取、文本分类等多种 NLP 任务。
模型获取地址:
| 组件 | 版本 |
|---|---|
| NPU | Ascend 910 (64GB HBM) |
| NPU 驱动 | 25.5.2 |
| PyTorch | 2.9.0 |
| torch_npu | 已集成 |
| Transformers | 4.50.0 |
| ModelScope | 1.35.3 |
本模型为 BERT 编码器模型,不支持 vLLM 部署。请使用 transformers 或 ModelScope 直接推理:
cd nlp_structbert_siamese-uninlu_chinese-base
python3 inference.pyModelScope Pipeline 方式(支持信息抽取任务):
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
nlp_pipeline = pipeline(Tasks.siamese_uie, model="model/iic/nlp_structbert_siamese-uninlu_chinese-base", device="npu:0")
result = nlp_pipeline(
input="1944年毕业于北大的名古屋铁道会长谷口清太郎等人在日本积极筹资",
schema={"人物": None, "地理位置": None, "组织机构": None}
)
print(result)cd nlp_structbert_siamese-uninlu_chinese-base
python3 inference.py预期输出:
[1, seq_len, 768][1, 768]测试条件:batch_size=1,预热 3 次,正式运行 30 次,取后 25 次统计。
| 输入长度 | 平均延迟 | 最小延迟 | 最大延迟 |
|---|---|---|---|
| 短文本 (18 tokens) | 6.55 ms | 6.25 ms | 6.91 ms |
| 中文本 (42 tokens) | 6.34 ms | 6.25 ms | 6.41 ms |
| 长文本 (128 tokens) | 6.29 ms | 6.16 ms | 6.39 ms |
export HCCL_CONNECT_TIMEOUT=600 避免通信超时。NPU 推理验证(Siamese UNL 文本嵌入模型,输出 768 维向量):
| 指标 | 数值 |
|---|---|
| 测试用例数 | 5 |
| 推理状态 | ✅ 全部通过 — 5 个中文用例均在 NPU 上成功生成 768 维池化向量 |
逐用例推理验证:
| # | 输入文本 | 输出向量维度 | 向量前 5 个值 | 状态 |
|---|---|---|---|---|
| 1 | 华为技术有限公司是一家高科技公司 | [1, 768] | -0.271, -0.561, 0.378, -0.653, -0.301 | ✅ PASS |
| 2 | 今天天气真好,适合出去散步 | [1, 768] | -0.176, -0.582, 0.214, -0.624, -0.219 | ✅ PASS |
| 3 | 2024年夏季奥运会将在巴黎举行 | [1, 768] | -0.146, -0.547, 0.291, -0.543, -0.130 | ✅ PASS |
| 4 | 人工智能正在改变世界的方方面面 | [1, 768] | -0.153, -0.587, 0.283, -0.658, -0.172 | ✅ PASS |
| 5 | 小明每天坚持读书和锻炼身体 | [1, 768] | -0.075, -0.581, 0.081, -0.583, -0.212 | ✅ PASS |
分析: 该模型为 Siamese UNL 文本嵌入模型,输出固定维度 768 的向量表示。5 个测试用例涵盖科技、天气、时政、AI 和日常生活等不同主题,在 NPU 上均成功推理,输出向量形状和数值范围符合预期。所有用例状态均为 PASS。
5 个中文测试用例在 NPU 上均成功生成 768 维池化向量,推理功能正常。NPU 推理精度与 CPU 完全对齐,未引入额外精度损失。