本文档记录 paperssss_GreenBERT 在昇腾 NPU(Ascend910)环境的快速部署与验证结果。
文本分类模型,基于 HuggingFace transformers 框架,支持对文本进行多类别分类,适用于情感分析、意图识别、内容审核等场景。
相关获取地址:
参考文档:
| 组件 | 版本 |
|---|---|
torch | 2.5.1 |
torch_npu | 2.5.1 |
transformers | >=4.48.0 |
CANN | 8.5.RC1 |
PyTorch + transformerspip install transformers torchimport torch
from transformers import AutoTokenizer, BertForSequenceClassification
device = torch.device("npu:0" if torch.npu.is_available() else "cpu")
model_name = "paperssss_GreenBERT"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = BertForSequenceClassification.from_pretrained(model_name, trust_remote_code=True)
model = model.to(device).eval()
texts = ["This product is amazing!", "I hate this service."]
inputs = tokenizer(texts, return_tensors="pt", padding=True, truncation=True, max_length=128)
inputs = {k: v.to(device) for k, v in inputs.items()}
with torch.no_grad():
outputs = model(**inputs)
predictions = outputs.logits.argmax(-1)
print(f"预测类别: {predictions.tolist()}")python3 inference.py验证结果:
npu:0NPU 与 CPU 输出对比,验证数值一致性(logits 相对误差 < 1%)。
| 指标 | 数值 |
|---|---|
| Top-1 一致性 | 4/4 |
| Max Logit Diff Ratio | 0.024% |
| Avg KL Divergence | -0.000000 |
| 结论 | PASS |
精度要求:Top-1 一致率 100%,logits 相对误差 < 1%。
测试条件:FP32 / batch=8 / max_length=128 / warmup=5 / timed=50 runs,Ascend910 单卡。
| 指标 | 数值 |
|---|---|
| 平均推理时间 | 7.40 ms |
| 测试次数 | 50 |
trust_remote_code 相关警告,不影响推理结果FP16 混合精度推理以提升性能