冬
gcw_IDzXRVNw/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch-ascend
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch Ascend NPU 部署指南

项目简介

Paraformer-large 是阿里巴巴达摩院语音团队开发的非自回归端到端语音识别模型,采用 Paraformer 架构,支持中文普通话识别,在工业级数万小时标注音频上训练,具有高识别率和高计算效率。

特性

  • 支持 Ascend NPU 推理加速
  • CPU vs NPU 精度对比测试 (输出完全一致)
  • 非自回归架构,高推理速度
  • 支持热词定制 (热词版模型)
  • 支持长音频识别 (需配合 VAD 模型)
  • 中文普通话 CER: 8.53% (无 LM)

环境要求

  • 硬件: 华为 Ascend 910 系列 NPU
  • CANN: 8.0.RC1 或更高版本
  • PyTorch: 2.0+ with torch_npu
  • Docker: 容器名称 test-modelagent
  • FunASR: 1.3.1+
  • ModelScope SDK: 1.34.0+

目录结构

speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch-ascend/
├── inference.py          # 推理测试脚本
├── log.txt                # 测试日志
├── README.md              # 本文档
└── test_audio.wav        # 测试音频样本 (from example/asr_example.wav)

部署步骤

1. 进入容器

docker exec -it test-modelagent bash

2. 设置环境变量

source /usr/local/Ascend/ascend-toolkit/set_env.sh

3. 准备模型文件

模型文件位于 /data/ysws/agentsp/5-15/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/ 目录下:

  • model.pt - 模型权重 (约 880MB)
  • config.yaml - 模型配置
  • tokens.json - 词表
  • example/asr_example.wav - 示例音频

4. 安装依赖

pip install funasr modelscope soundfile -i https://pypi.org/simple/

使用方式

方式一:普通推理模式

运行推理脚本进行音频转录:

cd /data/ysws/agentsp/5-15/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch-ascend/

# 使用默认测试音频
python3 inference.py

# 使用指定音频文件
python3 inference.py --mode inference --device npu:0

方式二:精度测试模式 (CPU vs NPU)

运行精度对比测试,验证 NPU 计算结果与 CPU 一致性:

cd /data/ysws/agentsp/5-15/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch-ascend/

# 运行完整精度测试
python3 inference.py --mode precision_test

命令行参数说明

参数说明默认值
--mode测试模式: inference 或 precision_testinference
--device运行设备npu:0 (自动检测)

测试验证

精度测试结果

指标实测值阈值状态
相对误差0.00e+00 (完全一致)< 1.00e-02PASS
文本一致性100%-PASS

性能数据

操作耗时
CPU 推理时间 (88k采样点)3.835s
NPU 推理时间 (88k采样点)3.086s
RTF (CPU)0.484
RTF (NPU)0.480

推理结果示例

输入音频: example/asr_example.wav (约 5.5 秒中文音频)

设备转录结果
CPU欢 迎 大 家 来 体 验 达 摩 院 推 出 的 语 音 识 别 模 型
NPU欢 迎 大 家 来 体 验 达 摩 院 推 出 的 语 音 识 别 模 型

结果: CPU 和 NPU 输出完全一致

测试日志

完整测试日志保存在 log.txt

Python API 使用示例

基本推理

from funasr import AutoModel
import soundfile as sf

model = AutoModel(
    model='paraformer-zh',
    model_revision='v2.0.4',
    model_hub='ms',
    disable_update=True,
)

audio_path = "your_audio.wav"
speech, sample_rate = sf.read(audio_path)

result = model.generate(input=speech)
text = result[0]['text']
print(f"Transcription: {text}")

使用 NPU 推理

from funasr import AutoModel
import soundfile as sf
import torch

model = AutoModel(
    model='paraformer-zh',
    model_revision='v2.0.4',
    model_hub='ms',
    disable_update=True,
)

audio_path = "your_audio.wav"
speech, sample_rate = sf.read(audio_path)

result = model.generate(input=speech)
text = result[0]['text']
print(f"NPU Transcription: {text}")

音频要求

  • 采样率: 16kHz
  • 格式: WAV (单声道)
  • 语言: 中文普通话

模型结构

  • 架构类型: Paraformer (Non-autoregressive)
  • 编码器: SANMEncoder (50 层)
  • 解码器: ParaformerSANMDecoder (16 层)
  • Predictor: CifPredictorV2
  • 声学特征: 80 维 fbank, LFR (Lookahead Frame Rate)
组件说明
encoderSAN-M 自注意力编码器 (50层)
decoderParaformer SAN-M 解码器 (16层)
predictorCIF 预测器
frontendWavFrontend (特征提取)

推理参数配置

从 config.yaml 提取的关键参数:

encoder_conf:
  output_size: 512
  attention_heads: 4
  linear_units: 2048
  num_blocks: 50

decoder_conf:
  attention_heads: 4
  linear_units: 2048
  num_blocks: 16

frontend_conf:
  fs: 16000
  window: hamming
  n_mels: 80
  frame_length: 25
  frame_shift: 10
  lfr_m: 7
  lfr_n: 6

常见问题

Q: FunASR AutoModel 无法加载?

A: 确保已安装 funasr>=1.3.1 和 modelscope>=1.34.0,并设置 disable_update=True 避免版本检查。

Q: NPU 推理速度比 CPU 慢?

A: 对于小批量推理,NPU 数据传输开销可能影响性能。本测试中 NPU (3.086s) 比 CPU (3.835s) 更快,RTF 略有提升。

Q: 如何提高识别准确率?

A: 1) 使用热词版模型 paraformer-large-contextual_asr_nat-zh-cn-16k-common-vocab8404; 2) 确保音频质量清晰; 3) 使用 VAD 和标点模型后处理。

参考链接

  • 原始模型: https://www.modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch
  • FunASR GitHub: https://github.com/alibaba-damo-academy/FunASR
  • Paraformer 论文: https://arxiv.org/abs/2206.08317
  • FunASR 服务部署: https://www.funasr.com

许可证

本项目遵循 Apache License 2.0