本文档记录 iic/speech_conformer_asr_nat-zh-cn-16k-aishell1-vocab4234-pytorch 在昇腾 NPU(Ascend910)环境的快速部署与验证结果。
Conformer (funasr) 语音识别模型(Conformer 编码器 + CTC/Attention 解码器),基于 funasr 框架,支持中文语音识别。
相关获取地址:
参考文档:
| 组件 | 版本 |
|---|---|
torch | 2.5.1 |
torch_npu | 2.5.1 |
funasr | 1.3.1 |
librosa | >=0.10.0 |
CANN | 8.5.RC1 |
16kHzWAV / ndarrayfunasr AutoModelpip install funasr librosa soundfileimport librosa
from funasr import AutoModel
model = AutoModel(model="iic/speech_conformer_asr_nat-zh-cn-16k-aishell1-vocab4234-pytorch", device="npu:0")
print("funasr 模型已加载到 NPU")
# 加载音频并识别
waveform, sr = librosa.load("/path/to/audio.wav", sr=16000, mono=True)
result = model.generate(input=waveform)
print(f"识别结果: {result[0].get('text', '')}")python3 inference.py验证结果:
测试条件:FP32 / 测试音频 2.43s / warmup=1 / timed=3 runs,Ascend910 单卡。
| 指标 | 数值 |
|---|---|
| 平均推理时间 | 5.69s |
| 实时因子(RTF) | 2.34 |
| 测试音频时长 | 2.43s |
该 Conformer 模型较小(encoder 256-dim,12 blocks),NPU kernel launch 开销相对显著。 可通过亲和算子替换(参考
ascend-affinity-operator技能)提升性能。
NPU 与 CPU 输出对比,使用同一条中文音频分别在 CPU 和 NPU 上推理,比较识别文本和编码器 logits 一致性。
| 指标 | 数值 |
|---|---|
| CPU 识别文本 | 每一天都要快乐喔 |
| NPU 识别文本 | 每一天都要快乐喔 |
| 文本一致性 | 完全一致 |
| 编码器 logits 最大相对误差 | 0.05 % |
| 结论 | PASS |
精度要求:NPU 与 CPU 识别文本完全一致,编码器输出 logits 相对误差 < 1%。
model.generate() 支持传入文件路径、numpy ndarray 或 torch Tensor