| 字段 | 值 |
|---|---|
| 模型 | sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20 |
| 任务 | 自动语音识别(ASR) |
| 架构 | 流式 Zipformer Transducer(编码器 + 解码器 + 合并器) |
| 语言 | 中文(ZH)+ 英文(EN) |
| 框架 | ONNX Runtime + torch_npu |
| 硬件 | 昇腾 NPU(CANN 8.5.1) |
| 精度 | FP32(ONNX 模型) |
| 采样率 | 16000 Hz |
| 词汇表大小 | 6257 个 BPE 词元 |
#NPU #Hardware/NPU #Ascend #CANN #ASR #Speech-Recognition #Zipformer #Streaming #Bilingual #Chinese #English #torch_npu #ONNX-Runtime
这是 sherpa-onnx 流式 Zipformer 双语(中英文)语音识别模型 的昇腾 NPU 适配版本。
NPU 适配策略:
torch_npu 在 昇腾 NPU 上加速流式 Zipformer Transducer 以 39 帧为 chunk 处理音频,并通过缓存对 5 个编码器层进行状态管理。
pip install torch_npu onnxruntime soundfile numpy# NPU-accelerated feature extraction (default)
python inference.py --audio input.wav
# CPU-only mode
python inference.py --audio input.wav --cpu
# Save results as JSON
python inference.py --audio input.wav --output result.json
# Benchmark mode (feature extraction only)
python inference.pyfrom inference import SherpaASR
asr = SherpaASR(use_npu=True)
result = asr.transcribe("audio.wav")
print(result["text"])
print(f"RTF: {result['rtf']}")运行评估套件:
python evaluate.py评估会生成以下文件:
eval_results/evaluation_report.md — Markdown 报告eval_results/evaluation_results.json — 完整结果 JSON 文件| 指标 | 数值 |
|---|---|
| 特征提取(NPU) | 3秒音频约需11毫秒 |
| 特征精度(NPU 与 CPU 对比) | 相对误差 < 1% |
| 编码器延迟(CPU) | 3秒音频约需3.7秒 |
| 解码器延迟(CPU) | 3秒音频约需0.2秒 |
| 实时率(RTF) | 约为实时的1.3倍 |
| 文件 | 描述 |
|---|---|
inference.py | 带 NPU 加速的主推理脚本 |
evaluate.py | 精度和性能评估套件 |
README.md | 本文档 |
| 组件 | 版本 |
|---|---|
| CANN | 8.5.1 |
| NPU | Ascend 910_9362 |
| torch_npu | 2.9.0.post1 |
| torch | 2.9.0+cpu |
| onnxruntime | 1.26.0 |
| onnxruntime-cann | 1.24.4 |
| sherpa-onnx | 1.13.2 |
| Python | 3.11.14 |
| 平台 | Linux aarch64 |
本适配版本遵循原始模型的许可证。详情请参见 原始 HuggingFace 仓库。