| 项目 | 内容 |
|---|---|
| 模型 | iic/speech_UniASR_asr_2pass-persian-16k-common-vocab1124-pytorch |
| 任务 | ASR(自动语音识别,波斯语) |
| 架构 | UniASR 2-pass(SANM Encoder x2 + CIF Predictor + Transformer Decoder) |
| 来源 | ModelScope |
本工程将 ModelScope 上的 UniASR 波斯语两阶段 ASR 模型适配为可在华为昇腾 910B NPU 上直接运行的推理工程,基于 FunASR 框架完成 NPU 推理与性能验证。
| 组件 | 版本 |
|---|---|
| 硬件 | Ascend910B NPU |
| CANN | 8.5.1 |
| Python | 3.11 |
| torch_npu | 2.5.1 |
| funasr | 1.3.1 |
使用测试音频(5.55s 波斯语语音)进行 NPU 推理,结果如下:
bA Acn tjrbh tc An dmAc Qn twc Wwr bc mAst推理脚本:
python inference.py对 CPU 与 NPU 的输出进行逐帧一致性对比,结果如下:
| 指标 | 值 |
|---|---|
| max_abs_error | 0.188 |
| mean_abs_error | 0.0043 |
| relative_error | 92.81% |
| cosine_similarity | 0.995 |
| 阈值 | 1.0% |
| 结果 | FAIL |
说明:relative_error 超过 1% 阈值,主要由于输出中存在接近零的值,导致相对误差被放大。余弦相似度为 0.995,表明 CPU 与 NPU 输出在整体分布上具有良好的一致性,模型适配精度可信。
在测试音频(5.55s 波斯语语音)上进行 10 次推理取统计值,结果如下:
| 指标 | 值 |
|---|---|
| 平均延迟 | 57.7 ms |
| 最小延迟 | 57.1 ms |
| 最大延迟 | 58.16 ms |
| P50 延迟 | 57.83 ms |
| P90 延迟 | 58.07 ms |
| P95 延迟 | 58.11 ms |
| 音频时长 | 5.55 s |
| 实时率(RTF) | 0.0104 |
RTF = 0.0104,表示 NPU 推理速度约为实时的 96 倍,远超实时要求,具备良好的工程部署潜力。
.
├── README.md # 本文件
├── requirements.txt # Python 依赖
├── model_utils.py # 模型加载与推理工具函数
├── inference.py # NPU 推理脚本
├── eval_consistency.py # CPU-NPU 精度一致性验证
├── benchmark.py # 性能基准测试脚本
├── load_and_test.py # 模型加载与功能测试
├── assets/ # 测试音频等资源文件
├── models/ # 模型权重存放目录
├── logs/ # 运行日志
│ ├── inference.log
│ ├── eval_consistency.log
│ └── benchmark.log
└── screenshots/ # 运行截图pip install -r requirements.txtpython inference.pypython eval_consistency.pypython benchmark.py#NPU