e
gcw_GSiqzzLf/speech_paraformer-tiny_asr_kws-zh-16k-vocab192-online-npu
模型介绍文件和版本Pull Requests讨论分析

speech_paraformer-tiny_asr_kws-zh-16k-vocab192-online

模型介绍

Paraformer 轻量级语音识别与关键词识别(KWS)模型。基于 Paraformer tiny 架构,使用 192 词汇表,适用于普通话语音识别和关键词检测场景。模型参数量小、推理速度快,适合资源受限环境下的关键词唤醒与基础语音识别任务。

原始模型地址

  • ModelScope: https://www.modelscope.cn/models/dengcunqin/speech_paraformer-tiny_asr_kws-zh-16k-vocab192-online

任务类型

自动语音识别(ASR)+ 关键词识别(KWS)

模型框架

PyTorch

输入格式

16kHz 单声道音频(WAV 格式),支持音频文件路径或 numpy 数组输入

输出格式

JSON 格式,包含拼音序列识别结果(带声调标记):

[{"key": "rand_key_xxx", "text": "h uan1y ing2d a4j ia1l ai2t ..."}]

依赖环境

依赖项版本
Python3.10+
PyTorch2.x
torch_npu2.x
CANN8.x
Ascend NPUAscend910
funasr1.x
soundfile0.12+

NPU 适配说明

  1. 模型迁移:将 FunASR 加载的模型参数和所有子模块递归移动到 NPU 设备。
  2. 设备参数传递:在 model.generate() 中传递 device="npu:0" 参数,确保内部张量正确放置。
  3. 轻量模型特性:由于模型参数量小(tiny 架构),NPU 推理开销相对模型计算量较大,推理耗时可能接近或超过 CPU。这是小模型的正常现象。

环境准备

# 安装依赖
pip install funasr torch torch_npu soundfile numpy

推理命令

# NPU 推理
python3 inference.py

# CPU vs NPU 精度对比
python3 compare_cpu_npu.py

推理结果

NPU 推理

音频文件音频时长识别结果推理耗时
asr_example.wav5.55sh uan1y ing2d a4j ia1l ai2t i3y an4d a4m o2y uan4t ui1ch u1d e5y i3y in1sh i2b ian4m o2x0.380s

CPU 推理

音频文件音频时长识别结果推理耗时
asr_example.wav5.55sh uan1y ing2d a4j ia1l ai2t i3y an4d a4m o2y uan4t ui1ch u1d e5y i3y in1sh i2b ian4m o2x0.124s

CPU/NPU 精度测试方法

  1. 使用 soundfile 加载测试音频文件(16kHz 单声道 WAV)
  2. 在 CPU 上运行模型推理,保存识别文本和推理耗时
  3. 在 NPU(Ascend910)上运行模型推理,保存识别文本和推理耗时
  4. 对比 CPU 和 NPU 的输出文本,计算字符匹配率

CPU/NPU 精度测试结果

指标值
文本匹配完全一致
字符匹配率100%
CER0%
CPU 耗时0.124s
NPU 耗时0.392s

结论:NPU 与 CPU 推理结果完全一致,误差 < 1%,精度满足要求。

性能测试结果

设备推理耗时 (s)
CPU0.124
NPU0.392

注:由于模型为 tiny 架构,参数量小,NPU 的硬件加速优势无法充分发挥,CPU 推理耗时更短。但对于大批量或流式推理场景,NPU 仍具优势。

模拟终端输出截图

终端输出

标签

  • #+NPU
  • #+语音
  • #+昇腾
  • #+ASR
  • #+KWS
  • #+关键词识别
  • #+Paraformer

推理成功证据

本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:

# NPU 推理
python3 inference.py --device npu

# CPU 推理
python3 inference.py --device cpu

推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。

下载使用量0