z
zkx_/iic_speech_dfsmn_ans_psm_48k_causal-ascend
模型介绍文件和版本Pull Requests讨论分析

iic_speech_dfsmn_ans_psm_48k_causal on Ascend NPU

1. 简介

本文档记录 DFSMN 语音降噪模型(48kHz causal)在昇腾 NPU (Ascend 910B3) 上的迁移适配与精度验证结果。

该模型基于 Deep FSMN (Feedforward Sequential Memory Network) 架构,采用 9 层 FSMN 结构,输入 120 维声学特征,输出 961 维相位敏感掩码(Phase-Sensitive Mask),支持 48kHz 采样率的 causal 实时降噪。

相关获取地址:

  • 权重下载地址(ModelScope):https://modelscope.cn/models/damo/iic_speech_dfsmn_ans_psm_48k_causal
  • 权重下载地址(HuggingFace Mirror):https://hf-mirror.com/damo/iic_speech_dfsmn_ans_psm_48k_causal

参考文档:

  • https://modelscope.cn/models/damo/iic_speech_dfsmn_ans_psm_48k_causal

2. 验证环境

组件版本
CANN8.5.1
torch2.8.0
torch_npu2.8.0.post4
modelscope1.37.0
librosalatest
  • NPU:Ascend 910B3,单卡推理
  • 模型大小:约 1.5M 参数(极轻量)
  • 输入:[B, T, 120] 声学特征
  • 输出:[B, T, 961] 相位敏感掩码

3. 推理启动

3.1 环境准备

conda create -n iic_speech_dfsmn_ans python=3.10 -y
conda activate iic_speech_dfsmn_ans

pip install torch==2.8.0 torch_npu==2.8.0.post4 \
    -i https://mirrors.huaweicloud.com/repository/pypi/simple \
    --trusted-host mirrors.huaweicloud.com

pip install modelscope librosa soundfile numpy \
    sortedcontainers simplejson addict datasets pyarrow \
    -i https://mirrors.huaweicloud.com/repository/pypi/simple \
    --trusted-host mirrors.huaweicloud.com

3.2 下载模型权重

modelscope download --model damo/iic_speech_dfsmn_ans_psm_48k_causal \
    --local_dir ./iic_speech_dfsmn_ans_psm_48k_causal

3.3 命令行推理

python inference.py --feature fbank_features.npy --device npu

3.4 Python API

from inference import run_inference
import numpy as np
features = np.random.randn(1, 100, 120).astype(np.float32)
result = run_inference(features, device="npu")
print(f"输出: {result['output'].shape}, 耗时: {result['time_ms']:.1f}ms")

4. Smoke 验证

python evaluate.py

验证结果:

  • CPU 推理正常,输出掩码 [1, 100, 961]
  • NPU 推理正常,输出同形状
  • 精度评测通过

5. 性能参考

测试条件:input [1, 100, 120]。

指标CPUNPU (Ascend 910B3)
推理耗时101 ms5 ms
加速比—20x

6. 精度评测

6.1 评测方法

对比 CPU (PyTorch) 与 NPU (torch_npu) 在相同随机声学特征输入下 DfsmnAns 模型的输出掩码。

6.2 评测结果

指标数值
输出形状[1, 100, 961]
鲁棒平均相对误差0.00003%
精度要求平均相对误差 < 1%
精度评测通过

7. 注意事项

  1. 模型接口:通过 pipeline.model 直接获取 DfsmnAns 模型,输入为 [B, T, 120] 声学特征
  2. 48kHz causal:支持 48kHz 采样率,causal 模式适合实时降噪场景
  3. 完整流水线:STFT 特征提取、掩码应用、ISTFT 重建在 CPU 执行
  4. 模型极小:仅 1.5M 参数,CPU 推理已很快,NPU 适合低延迟批量处理
下载使用量0