z
zkx_/iic_speech_eres2netv2_sv_zh-cn_16k-common-ascend
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

iic_speech_eres2netv2_sv_zh-cn_16k-common on Ascend NPU

1. 简介

本文档记录 ERes2NetV2 中文说话人验证模型在昇腾 NPU (Ascend 910B3) 上的迁移适配与精度验证结果。

ERes2NetV2 是达摩院提出的高效说话人识别网络,在 ERes2Net 基础上改进,通过多尺度残差连接增强特征表达能力。模型输入 Fbank 声学特征,输出 192 维说话人嵌入向量,可用于说话人确认、说话人日志等任务。

相关获取地址:

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

参考文档:

  • https://modelscope.cn/models/damo/iic_speech_eres2netv2_sv_zh-cn_16k-common
  • 3D-Speaker 项目:https://github.com/alibaba-damo-academy/3D-Speaker

2. 验证环境

组件版本
CANN8.5.1
torch2.8.0
torch_npu2.8.0.post4
torchaudio2.8.0
modelscope1.37.0
soundfilelatest
  • NPU:Ascend 910B3,单卡推理
  • 模型大小:约 17.9M 参数
  • 输入:[B, T, 80] Fbank 特征
  • 输出:[B, 192] L2 归一化嵌入向量

3. 推理启动

3.1 环境准备

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

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

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

3.2 下载模型权重

modelscope download --model damo/iic_speech_eres2netv2_sv_zh-cn_16k-common \
    --local_dir ./iic_speech_eres2netv2_sv_zh-cn_16k-common

3.3 命令行推理

python inference.py --wav1 speaker1.wav --wav2 speaker2.wav --device npu

3.4 Python API

from inference import run_verification
result = run_verification("speaker1.wav", "speaker2.wav", device="npu")
print(f"相似度: {result['similarity']:.4f}")
print(f"同一说话人: {result['is_same_speaker']}")

4. Smoke 验证

python evaluate.py

验证结果:

  • CPU 推理输出 192 维嵌入向量,正常
  • NPU 推理输出同维度嵌入,Cosine 相似度 0.999999

5. 性能参考

测试条件:Fbank 特征 [1, 100, 80]。

指标CPUNPU (Ascend 910B3)
embedding_model 耗时2651 ms24 ms
加速比—110x

6. 精度评测

6.1 评测方法

对比 CPU (PyTorch) 与 NPU (torch_npu) 在相同 Fbank 特征输入下 ERes2NetV2 嵌入模型的输出向量。

6.2 评测结果

指标数值
嵌入维度[1, 192]
鲁棒平均相对误差0.351%
Cosine 相似度0.999999
精度要求平均相对误差 < 1%
精度评测通过

7. 注意事项

  1. Hybrid 架构:Fbank 特征提取(Kaldi fbank)在 CPU 执行,嵌入模型在 NPU 执行
  2. 模型接口:通过 pipeline.model.embedding_model 获取 ERes2NetV2 模型
  3. 说话人验证阈值:默认 Cosine 相似度阈值 0.36
  4. 与 CAM++ 的区别:同为说话人验证模型,ERes2NetV2 参数更多(17.9M vs 6.8M),精度更高