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

speech_paraformer_large_asr_nat-minnan-16k-common-vocab8544-pytorch

模型介绍

Paraformer 非自回归语音识别大模型,支持普通话和闽南语识别,集成 SeACo(Semantic Audio Context)热词增强功能。基于 Paraformer large 架构,在 5 万小时工业级中文语音数据集上训练。本模型输出的识别文本包含空格分隔的字和对应时间戳,支持热词定制以提升特定词汇的识别准确率。

原始模型地址

  • ModelScope: https://www.modelscope.cn/models/dengcunqin/speech_paraformer_large_asr_nat-minnan-16k-common-vocab8544-pytorch

任务类型

自动语音识别(ASR)—— 非流式,支持热词(Hotword)

模型框架

PyTorch

输入格式

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

输出格式

JSON 格式,包含识别文本和时间戳:

[{"key": "rand_key_xxx", "text": "识 别 文 字", "timestamp": [[start_ms, end_ms], ...]}]

依赖环境

依赖项版本
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. 性能说明:本模型包含 SeACo 热词增强模块,NPU 上的推理时间较 CPU 更长,这是由于 SeACo 自定义算子未针对 NPU 充分优化。精度满足要求。

环境准备

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

推理命令

# NPU 推理
python3 inference.py

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

推理结果

NPU 推理结果

音频文件音频时长识别结果推理耗时
asr_example_普通话.wav5.55s欢 迎 大 家 来 体 验 达 门 院 推 出 的 语 音 识 别 模 型4.342s

CPU 推理结果

音频文件音频时长识别结果推理耗时
asr_example_普通话.wav5.55s欢 迎 大 家 来 体 验 达 门 院 推 出 的 语 音 识 别 模 型1.048s

CPU/NPU 精度测试方法

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

CPU/NPU 精度测试结果

指标CPU 结果NPU 结果一致率
识别文本欢 迎 大 家 来 体 验 达 门 院 推 出 的 语 音 识 别 模 型欢 迎 大 家 来 体 验 达 门 院 推 出 的 语 音 识 别 模 型100%
文本 CER--0%
时间戳一致一致100%
CPU 耗时1.048s--
NPU 耗时-4.388s-

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

性能测试结果

设备推理耗时 (s)
CPU1.048
NPU (Ascend910)4.388

注:该模型包含 SeACo(热词增强)模块,部分自定义算子在 NPU 上的优化尚未充分。对于包含特殊模块的模型,建议关注精度而非原始性能。

模拟终端输出截图

终端输出

标签

  • #+NPU
  • #+语音
  • #+昇腾
  • #+ASR
  • #+Paraformer
  • #+Hotword
  • #+热词

推理成功证据

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

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

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

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

下载使用量0