e
gcw_GSiqzzLf/uniasr-pt-asr-npu
模型介绍文件和版本Pull Requests讨论分析

UniASR 葡萄牙语语音识别模型 - NPU (Ascend910B) 适配版

模型简介

本仓库是 iic/speech_UniASR_asr_2pass-pt-16k-common-vocab1617-tensorflow1-offline 在华为昇腾 Ascend910B NPU 上的适配版本。

UniASR 是达摩院推出的多语言统一语音识别模型,采用双通道(2-pass)解码架构,兼顾实时性与精度。本模型专为 葡萄牙语(Portuguese) 语音识别设计,词汇表大小为 1617。

模型特性

特性说明
架构UniASR 2-pass (CTC + Attention)
语言葡萄牙语 (Portuguese)
采样率16kHz
词汇表1617 tokens
原始框架PyTorch

环境要求

组件版本要求
Python3.10+
torch≥2.2.0
torch_npu匹配 torch 版本
funasr1.3.1+
Ascend NPU910B / 910B2 / 910ProB

快速使用

1. 安装依赖

pip install funasr torch torch_npu soundfile omegaconf

2. 推理脚本

创建 inference.py:

import os
import torch
import soundfile as sf
from funasr.auto.auto_model import AutoModel

# 模型路径(自动从 ModelScope 下载)
model_dir = "iic/speech_UniASR_asr_2pass-pt-16k-common-vocab1617-tensorflow1-offline"

# 加载模型(NPU)
model = AutoModel(
    model=model_dir,
    vad_model=False,
    punc_model=False,
    spk_model=False,
    disable_update=True,
    device="npu:0",        # 使用 Ascend910B NPU
)

# 加载音频
wav_path = "test.wav"      # 16kHz 单声道
data, sr = sf.read(wav_path)

# 推理
result = model.generate(input=data)
print(result[0]["text"])

3. 运行

# NPU 推理
python inference.py

# CPU 推理(对比)
python inference.py --device cpu

精度与性能

以下测试基于 asr_example.wav(10.22s,16kHz,葡萄牙语),在 Ascend910B NPU vs x86 CPU 上进行。

精度对比

平台识别结果是否匹配
NPU (910B)CO@@ELHONE@@TO é PROFESSORDEHIST ó RIADASART...✅
CPUCO@@ELHONE@@TO é PROFESSORDEHIST ó RIADASART...✅

精度完全一致(100%) ✅

性能对比

指标NPU (Ascend910B)CPU (x86)提升
推理时间2.124s5.220s2.46x
RTF0.2080.511-
音频时长10.22s10.22s-

适配详情

适配项状态
模型加载 (NPU)✅ 成功
权重映射✅ All keys matched
前向传播✅ 正常
Beam Search 解码✅ 正常
BPE 后处理✅ 正常
精度对齐✅ 100%
性能加速✅ 2.46x

文件说明

├── inference.py          # NPU/CPU 推理脚本
├── README.md             # 本文档
├── requirements.txt      # 依赖列表
└── NPU_ADAPTATION.md     # 适配技术细节(可选)

在 ModelScope 查看原始模型

  • speech_UniASR_asr_2pass-pt-16k-common-vocab1617-tensorflow1-offline

许可证

本仓库仅包含适配脚本和文档,模型权重版权归 ModelScope / 达摩院所有。使用本模型请遵守原始模型的许可证协议。

下载使用量0