weixin_62994174/paraformer-large-sichuan-offline
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

Paraformer Large Sichuan Dialect Offline - 昇腾 NPU 适配

本仓库是 lukeewin01/paraformer-large-sichuan-offline 模型的华为昇腾 NPU 适配版本,由 AtomGit 社区 托管,基于 FunASR + torch_npu 实现在 Ascend 910 上的推理部署。

模型介绍

Paraformer 是达摩院语音团队提出的一种高效的非自回归端到端语音识别框架。本模型在 iic/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch 的基础上,使用 205 小时四川话数据集进行微调,实现对四川方言的高精度语音识别。

NPU 适配说明

项目详情
基础模型iic/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch
微调模型lukeewin01/paraformer-large-sichuan-offline
推理框架FunASR 1.3.1 + PyTorch 2.9.0
NPU 支持torch_npu 2.9.0.post1
CANN 版本CANN 8.5.1
适配硬件Atlas 800T A2 (Ascend 910)
适配方式FunASR AutoModel device="npu:0" 原生适配
精度NPU vs CPU 输出完全一致 (100%)

环境要求

  • Python 3.11+
  • CANN 8.5.RC1 及以上
  • Ascend 910 NPU
  • ffmpeg (可选,用于音频加载;无 ffmpeg 时自动使用 scipy)

依赖安装

pip install funasr modelscope torch_npu scipy numpy

快速开始

1. 下载模型

cd paraformer-large-sichuan-offline
modelscope download --model lukeewin01/paraformer-large-sichuan-offline --local_dir ./model

2. 运行推理

python inference.py --audio <your_audio.wav>

参数说明:

参数说明默认值
--model_dir模型目录路径./model
--audio输入音频文件 (16kHz WAV)必填
--benchmark运行性能基准测试False
--verify_precision验证 NPU vs CPU 精度False
--use_itn启用逆文本正则化False

3. 推理示例

from funasr import AutoModel
import scipy.io.wavfile as wf
import numpy as np

model = AutoModel(
    model="./model",
    disable_update=True,
    device="npu:0",
    ncpu=4,
)

# 加载音频
sr, audio = wf.read("audio.wav")
if audio.dtype != np.float32:
    audio = audio.astype(np.float32)

# 推理
result = model.generate(input=audio, cache={}, use_itn=False, batch_size_s=60)
print(result[0]["text"])

性能评估

测试环境

项目配置
NPUAscend 910 x2
CANN8.5.1
Python3.11.14
PyTorch2.9.0
torch_npu2.9.0.post1
测试音频3秒, 16kHz, 单声道 WAV

NPU 性能指标

指标数值
模型加载时间8.44s
平均延迟460.96ms
P50 延迟459.86ms
P90 延迟464.90ms
P99 延迟473.51ms
RTF (实时率)0.154
吞吐量2.17 req/s

CPU 基线对比

指标NPUCPU加速比
平均延迟460.96ms679.11ms1.47x
RTF0.1540.2261.47x
吞吐量2.17 req/s1.47 req/s1.47x
模型加载8.44s2.36s0.28x

精度验证

指标结果
NPU 输出与 CPU 完全一致
字符匹配率100%
精度判断✅ PASS (< 1% 误差)

仓库结构

paraformer-large-sichuan-offline/
├── model/                    # 模型文件目录
│   ├── model.pt             # 模型权重
│   ├── config.yaml          # 模型配置
│   ├── tokens.json          # 词表
│   ├── seg_dict             # 分词词典
│   ├── am.mvn               # 均值方差归一化
│   └── configuration.json   # 模型元信息
├── inference.py             # NPU 推理脚本
├── evaluate.py              # 精度/性能评测脚本
├── evaluation_results.json  # 评测结果数据
└── README.md                # 本文档

评测执行

# 运行完整评测(精度 + 性能)
python evaluate.py

评测脚本将自动完成:

  1. NPU 性能基准测试(20 轮,含预热)
  2. CPU 性能基线测试(20 轮,含预热)
  3. NPU vs CPU 精度验证
  4. 生成 evaluation_results.json

注意事项

  1. 本模型使用 16kHz 采样率单声道 WAV 音频
  2. 该模型针对四川方言优化,普通话识别建议使用原始 iic 模型
  3. 当前开源版本训练至 3 epoch,完整 50 epoch 版本请联系 lukeewin01
  4. 若环境中无 ffmpeg,推理脚本将自动使用 scipy 加载音频

引用

  • 原始模型: lukeewin01/paraformer-large-sichuan-offline
  • FunASR: alibaba-damo-academy/FunASR
  • 昇腾 NPU: Ascend/pytorch
  • Paraformer 论文: Paraformer: Fast and Accurate Parallel Transformer for Non-autoregressive End-to-End Speech Recognition

Tags

#NPU #Ascend #Speech-Recognition #Paraformer #四川话 #FunASR #PyTorch


license: apache-2.0