tiansz/uer_windows 是基于 UER-py(Universal Encoder Representation)框架的中文文本分类模型,使用 RoBERTa-wwm-ext-base 作为骨干网络,支持 3 分类(其他/好评/差评)的电影评论情感分类任务。
| 组件 | 版本 |
|---|---|
| NPU | Ascend910_9362 |
| PyTorch | 2.9.0 |
| torch_npu | 2.9.0.post1+gitee7ba04 |
| transformers | 4.57.6 |
| Python | 3.11 |
使用 ModelScope SDK 下载模型:
pip install modelscope
python3 -c "from modelscope import snapshot_download; snapshot_download('tiansz/uer_windows')"NPU 适配后的推理命令:
cd ~/tiansz/uer_windows/model/tiansz/uer_windows
python3 ~/tiansz/uer_windows/inference_npu.py \
--load_model_path models/bert/roberta_wwm_base.bin \
--test_path datasets/电影评论分类模型/dev.tsv \
--prediction_path /tmp/predictions_npu.tsv \
--config_path models/bert/base_config.json \
--vocab_path models/google_zh_vocab.txt \
--labels_num 3 \
--batch_size 4 \
--seq_length 128 \
--tokenizer bert \
--output_logits \
--output_prob推理结果保存在 /tmp/predictions_npu.tsv,包含 label、logits 和 probabilities 三列。
测试条件:62 条电影评论数据,batch_size=4,seq_length=128,在 Ascend910 NPU 上运行 5 次取平均。
| 指标 | 数值 |
|---|---|
| 总实例数 | 62 |
| Batch Size | 4 |
| 平均推理耗时 | 0.1916 s |
| 吞吐量 | 323.57 instances/s |
| 首轮耗时 | 0.3584 s(含 warmup) |
| 稳定推理耗时 | 0.1499 s |
模型在 NPU 上完成 62 条测试数据的分类推理,输出三类概率分布及 argmax 分类标签。
| 预测类别 | 数量 |
|---|---|
| 其他 (label 0) | 30 |
| 好评 (label 1) | 31 |
| 差评 (label 2) | 1 |
推理输出与 GPU/CPU 框架输出形态一致,包含 logits 和 softmax 概率。
主要适配工作:
torch_npu 设备(model.to("npu:0"))torch.npu.synchronize() 进行同步计时model(src, None, seg) 格式(推理时 tgt=None)models/special_tokens_map.json 的硬编码相对路径