OFA-MMSpeech (Omni Modal Fusion of Audio and Multimodal Speech) 是达摩院推出的统一多模态语音理解模型。本仓库为 ASR AISHELL-1 Large 版本在华为昇腾 NPU 上的适配部署。
| 属性 | 说明 |
|---|---|
| 模型名称 | OFA-MMSpeech ASR AISHELL-1 Large |
| ModelScope ID | iic/ofa_mmspeech_asr_aishell1_large_zh |
| 参数规模 | 609M |
| 任务类型 | 自动语音识别 (ASR) |
| 框架 | PyTorch + ModelScope |
| 语言 | 中文 (zh) |
| 原始模型 | ModelScope 链接 |
本仓库在华为昇腾 NPU (Ascend910) 上完成适配验证。适配要点:
model.npu() 和 model.model = model.model.npu() 将模型移至 NPU.npu() 移至 NPU 设备torch.npu.synchronize() 确保计时准确| 说明 | |
|---|---|
| 输入 | 16kHz 单声道 WAV 音频文件 |
| 输出 | 中文文本 (ASR 识别结果) |
python3 inference.py --audio /path/to/test.wav --device npu参数说明:
--audio: 输入音频路径(16kHz 单声道 WAV)--device: 运行设备,可选 cpu 或 npu,默认自动检测python3 compare_cpu_npu.py --audio /path/to/test.wav| 指标 | CPU | NPU | 一致性 |
|---|---|---|---|
| 识别文本 | 甚至出现交易几乎停滞的情况 | 甚至出现交易几乎停滞的情况 | ✅ 完全一致 |
| CER (字符错误率) | - | - | 0.0000% |
结论:NPU 与 CPU 推理结果误差 < 1%
| 指标 | CPU | NPU (首次) | NPU (预热后) | 加速比 |
|---|---|---|---|---|
| 推理耗时 | 14.41s | 9.53s | 0.39s | ~37x |
说明:NPU 首次推理包含 JIT 编译开销(约 9.1s),预热后推理仅需 0.39s,相比 CPU 提速约 37 倍。

| 文件 | 说明 |
|---|---|
inference.py | 单模型推理脚本,支持 CPU/NPU |
compare_cpu_npu.py | CPU vs NPU 精度对比脚本,含 CER 计算 |
requirements.txt | Python 依赖 |
screenshot.png | 运行截图 |
本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:
# NPU 推理
python3 inference.py --device npu
# CPU 推理
python3 inference.py --device cpu推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。