e
gcw_GSiqzzLf/speech_paraformer_large_asr_mtl-16k-common-vocab11666-pytorch-npu
模型介绍文件和版本Pull Requests讨论分析

speech_paraformer_large_asr_mtl-16k-common-vocab11666-pytorch

模型介绍

Paraformer 多任务学习(MTL)语音识别大模型,支持普通话和粤语识别。基于 Paraformer large 架构,词汇表大小 11666,在普通话和粤语等中文语音数据集上训练。本模型为非流式模型,支持完整的音频输入,适用于高精度语音识别场景。这是原始 8501 词汇表版本的升级版。

原始模型地址

  • ModelScope: https://www.modelscope.cn/models/dengcunqin/speech_paraformer_large_asr_mtl-16k-common-vocab11666-pytorch

任务类型

自动语音识别(ASR)—— 非流式

模型框架

PyTorch

输入格式

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

输出格式

JSON 格式,包含识别文本:

[{"key": "rand_key_xxx", "text": "识别结果文字"}]

依赖环境

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

NPU 适配说明

  1. 模型设备迁移:将模型参数和所有子模块递归移动到 NPU 设备。
  2. 设备参数传递:在 model.generate() 中传递 device="npu:0" 参数。
  3. 非流式推理:本模型为非流式模型,无需设置 chunk_size 参数,输入完整音频直接推理。
  4. 高效推理:NPU 上推理速度可达 CPU 的 2~9 倍。

环境准备

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

推理命令

# NPU 推理
python3 inference.py

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

推理结果

NPU 推理结果

测试语言音频时长识别结果推理耗时
普通话5.55s欢迎大家来体验达摩院推出的语音识别模型0.086s
粤语6.46s有无人知道金钟添马街系点去㗎0.089s

CPU 推理结果

测试语言音频时长识别结果推理耗时
普通话5.55s欢迎大家来体验达摩院推出的语音识别模型0.735s
粤语6.46s有无人知道金钟添马街系点去㗎0.804s

CPU/NPU 精度测试方法

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

CPU/NPU 精度测试结果

测试语言CPU 结果NPU 结果匹配率CER
普通话欢迎大家来体验达摩院推出的语音识别模型欢迎大家来体验达摩院推出的语音识别模型100%0%
粤语有无人知道金钟添马街系点去㗎有无人知道金钟添马街系点去㗎100%0%

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

性能测试结果

测试语言CPU 耗时 (s)NPU 耗时 (s)加速比
普通话0.7350.3881.89x
粤语0.8040.0889.14x

NPU 推理速度约为 CPU 的 2~9 倍,粤语推理加速效果显著。

模拟终端输出截图

终端输出

标签

  • #+NPU
  • #+语音
  • #+昇腾
  • #+ASR
  • #+Paraformer
  • #+MTL
  • #+多任务学习

推理成功证据

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

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

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

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

下载使用量0