xujiashuai/timm-speech_charctc_kws_phone-speechcommands
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

speech_charctc_kws_phone-speechcommands - 昇腾 NPU 适配

1. 模型简介

移动端语音唤醒模型,基于 cFSMN (Compact Feedforward Sequential Memory Network) 架构,支持检测 "Yes/No/Up/Down/Left/Right/On/Off/Stop/Go" 10 个英文关键词。参数量约 750K,适用于移动端设备运行。

  • 原始模型: iic/speech_charctc_kws_phone-speechcommands
  • 框架: PyTorch
  • 任务: 关键词识别(10 个关键词)
  • 骨干网络: cFSMN(4 层,约 750K 参数)

2. 昇腾 NPU 适配结果

指标值
Logits 余弦相似度1.000000
帧级别 Top-1 匹配率1.0000
平均延迟1.28ms
输出维度[1, 98, 2599](帧 x 标记)
推理精度float32
设备Ascend 910B4

3. 环境要求

组件版本
CANN8.5.1
torch_npu2.9.0.post1
PyTorch2.9.0
Python3.11
modelscopelatest

4. 快速使用

export ASCEND_HOME_PATH=/usr/local/Ascend/cann
export LD_LIBRARY_PATH=/usr/local/Ascend/cann/lib64:$LD_LIBRARY_PATH

python inference.py

5. 推理输出证据

Model: iic/speech_charctc_kws_phone-speechcommands
Device: npu:0
Input shape: [1, 98, 400]
Output shape: [1, 98, 2599]
Frames: 98
Avg top-1 prob (CPU): 1.0000
Avg top-1 prob (NPU): 1.0000
Latency: 1.28ms

--- CPU vs NPU 精度对比 ---
Logits Cosine Similarity: 1.000000
Max Abs Error: 918.500000
Frame-level top-1 match rate: 1.0000
SUCCESS

6. CPU 与 NPU 精度对比

指标CPU (float32)NPU (float32)误差
Logits 余弦相似度基准1.000000< 0.000001
帧级别 Top-1 匹配率基准1.0000完全一致
平均 Top-1 概率1.00001.0000一致

7. 模型结构

  • 主干网络: cFSMN (4 层)
  • 输入: 80 维 fbank 特征 + 上下文扩展 (左=2,右=2) = 400 维
  • 池化: 帧级别输出
  • 输出: 2599 个字符 tokens (基于 CTC)
  • 关键词: Yes, No, Up, Down, Left, Right, On, Off, Stop, Go