本文档记录 cross-encoder/ms-marco-MiniLM-L12-v2 在 Ascend 910B3 NPU 环境下的适配与验证结果。该模型是一个交叉编码器(Cross-Encoder),用于信息检索中的查询-文档相关性排序(Re-ranking),基于 Microsoft MiniLM-L12-H384-uncased 预训练模型。
本仓库提供:
相关获取地址:
| 组件 | 版本 |
|---|---|
torch | 2.8.0 |
torch_npu | 2.8.0.post4 |
transformers | 4.57.6 |
Ascend 910B3,1 逻辑卡BertForSequenceClassification(12 层,384 隐藏维,12 注意力头)512pip install torch torch_npu transformers
export ASCEND_RT_VISIBLE_DEVICES=0python inference.py --query "How many people live in Berlin" --passage "Berlin had 3.5 million inhabitants"# JSONL 格式
python inference.py --input-file pairs.jsonl
# CSV 格式
python inference.py --input-file pairs.csv --input-format csv{
"model": "cross-encoder--ms-marco-MiniLM-L12-v2",
"device": "npu:0",
"num_pairs": 1,
"results": [{"query": "...", "passage": "...", "score": 5.234}]
}python inference.py --query "test" --passage "example passage"| 指标 | CPU | NPU |
|---|---|---|
| 平均推理时间 | 1.2140 s | 0.0199 s |
| 吞吐量 | 8.24 pairs/s | 502.58 pairs/s |
| 加速比 | - | 61.01x |
| 指标 | 数值 |
|---|---|
| 测试样本数 | 10 |
| 最大绝对误差 | 3.0263e-02 |
| 平均绝对误差 | 1.2390e-02 |
| 余弦相似度 | 0.99999678 |
| 余弦距离 | 0.000322% |
| 精度要求(余弦距离 < 1%) | 通过 |
结论:NPU 与 CPU 输出的评分向量余弦距离仅 0.000322%,远低于 1% 的阈值,精度通过验证。
[SEP] 分隔符拼接。--activation sigmoid 获取概率值。