g
gyccc/iic-speech_sanm_kws_phone-xiaoyun-commands-online-NPU
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

iic/speech_sanm_kws_phone-xiaoyun-commands-online on Ascend NPU

模型信息

  • 模型名称:iic/speech_sanm_kws_phone-xiaoyun-commands-online
  • 任务类型:Keyword Spotting (KWS)
  • 模型架构:SanmKWSStreaming (FunASR)
  • 来源:ModelScope

验证环境

  • 硬件:Ascend 910B
  • CANN:8.5.1
  • Python:3.11.14
  • torch_npu:2.9.0.post1+gitee7ba04

ModelScope 下载说明

pip install modelscope
python -c "from modelscope import snapshot_download; snapshot_download('iic/speech_sanm_kws_phone-xiaoyun-commands-online')"

NPU 推理输出

Model: iic/speech_sanm_kws_phone-xiaoyun-commands-online
Audio: assets/test.wav
NPU output: rejected

说明:该模型为关键词唤醒(KWS)模型,对测试音频进行关键词 "小云小云" 检测,输出 "rejected" 表示未检测到目标关键词。输出非空,模型在 NPU 上运行正常。

精度一致性验证

=== CPU-NPU Accuracy Consistency Check ===
max_abs_error     0.001649
mean_abs_error    0.000078
relative_error    0.0156%
cosine_similarity 1.000000
threshold         1.0%
result            PASS

Encoder 中间输出 CPU-NPU 相对误差 0.0156%,远低于 1.0% 阈值,精度一致。

性能基准

=== Benchmark Results ===
avg_latency_ms            1676.4959
min_latency_ms            1622.9109
max_latency_ms            1767.8122
p50_latency_ms            1656.9903
p90_latency_ms            1735.8370
p95_latency_ms            1751.8246
audio_duration_sec        5.5467
real_time_factor          0.3023
num_runs                  10

RTF(实时率)约为 0.30,NPU 推理速度约为实时播放的 3.3 倍。

快速开始

1. 环境准备

pip install -r requirements.txt

2. NPU 推理

python inference.py

3. 精度验证

python eval_consistency.py

4. 性能测试

python benchmark.py

仓库结构

.
├── assets/
│   └── test.wav
├── logs/
│   ├── env_check.log
│   ├── inference.log
│   ├── eval_consistency.log
│   └── benchmark.log
├── models/                   # 模型权重目录(.gitignore)
├── model_utils.py
├── inference.py
├── eval_consistency.py
├── benchmark.py
├── requirements.txt
├── .gitignore
└── README.md

注意事项

  1. 本模型为**关键词唤醒(KWS)**模型,非标准语音识别(ASR)模型。推理时需额外传入:

    • keywords: 目标关键词(如 "小云小云")
    • chunk_size: 流式推理块大小(如 [5, 20, 5])
    • is_final=True: 确保对完整音频进行最终检测
    • output_dir: 避免内部 writer 未初始化导致报错
  2. 模型输出为关键词检测结果(detected ... 或 rejected),而非连续语音转写文本。

  3. 权重文件(*.pt)未提交到仓库,首次运行时会自动从 ModelScope 下载到本地缓存。