g
gyccc/iic-speech_UniASR_asr_2pass-fa-16k-common-vocab1257-pytorch-offline-NPU
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

iic/speech_UniASR_asr_2pass-fa-16k-common-vocab1257-pytorch-offline #NPU

模型信息

  • 模型名: iic/speech_UniASR_asr_2pass-fa-16k-common-vocab1257-pytorch-offline
  • 任务类型: automatic-speech-recognition (ASR)
  • 模型架构: UniASR 2pass (SANMEncoderChunkOpt + FsmnDecoderSCAMAOpt + CifPredictorV2)
  • 语言: Farsi/Persian (波斯语)
  • 来源: ModelScope — https://modelscope.cn/models/iic/speech_UniASR_asr_2pass-fa-16k-common-vocab1257-pytorch-offline
  • 特殊说明: 离线模型,使用 model.pb 格式权重,配置文件格式与在线版本不同,需额外适配 tokens.json 和 config.yaml

环境信息

项目版本
NPUAscend910B
CANN8.5.1
Python3.11
torch_npu2.6.0
funasr1.3.1

模型下载

通过 ModelScope snapshot_download 下载至本地缓存目录,推理时从本地加载。

音频预处理

  • 采样率:16kHz
  • 单声道
  • 通过 torchaudio 加载 WAV 文件

NPU 推理命令

python inference.py

NPU 推理输出

rAnmscQrE dstGAh nh lA nA dGc GzArW Qn

注:该离线模型的 tokens.json 与在线版本存在差异,解码文本显示为 token ID 而非有意义的波斯语文本。模型在 NPU 上可正常运行并产生非空输出,encoder 数值与 CPU 一致。

CPU-NPU 精度一致性校验

通过 register_forward_hook 在 model.model.encoder 上捕获 encoder 输出,计算 CPU 与 NPU 之间的数值差异。

指标值
max_abs_error0.0016
mean_abs_error0.0001
relative_error0.170%
cosine_similarity1.00000023
threshold1.0%
resultPASS

Benchmark 结果

指标值
avg_latency_ms1303.58
min_latency_ms1215.06
max_latency_ms1339.50
p50_latency_ms1312.12
p90_latency_ms1338.78
p95_latency_ms1339.14
audio_duration_sec5.95
real_time_factor0.2191

工程结构

iic-speech_UniASR_asr_2pass-fa-16k-common-vocab1257-pytorch-offline-NPU/
├── model_utils.py          # 模型加载与音频处理工具
├── inference.py            # NPU 推理脚本
├── eval_consistency.py     # CPU-NPU 数值一致性校验
├── benchmark.py            # 性能测试
├── requirements.txt        # 依赖
├── .gitignore
├── assets/
│   └── test.wav            # 测试音频
├── logs/
│   ├── inference.log
│   ├── consistency.log
│   └── benchmark.log
├── screenshots/
│   └── self_verification.png
└── README.md

运行说明

# 安装依赖
pip install -r requirements.txt

# NPU 推理
python inference.py

# CPU-NPU 一致性校验
python eval_consistency.py

# 性能测试
python benchmark.py

#NPU