JeffDing/GLM-ASR-Nano-2512-Ascend-model
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

GLM-ASR-Nano-2512 昇腾 NPU 适配验证

本项目完成了 GLM-ASR-Nano-2512(智谱AI开源的 1.5B 参数语音识别模型)在华为昇腾 NPU 上的适配与验证工作,包含推理脚本、性能基准测试与完整适配文档。

模型简介

GLM-ASR-Nano-2512 是一款鲁棒的开源语音识别模型:

  • 参数量: 1.5B
  • 核心优势: 中文/粤语识别超越 Whisper V3,低音量语音鲁棒性强
  • 官方框架: transformers 5.x / SGLang
  • 权重来源: ModelScope / HuggingFace

验证结论

项目结果
模型加载通过
NPU 推理通过
中文语音识别输出与官方预期一致
实时率 (RTF)0.015(5秒音频推理仅需 78ms)
NPU 加速比~1628x(相比 CPU)
NPU 内存占用约 4.2 GB

快速开始

1. 环境准备

# 安装 transformers 源码(模型要求 5.x)
pip install git+https://github.com/huggingface/transformers

# 安装依赖
pip install -r requirements.txt

2. 下载模型

python -c "
from modelscope import snapshot_download
snapshot_download('ZhipuAI/GLM-ASR-Nano-2512', cache_dir='./models')
"

3. 运行推理

# NPU 推理
python scripts/adapt_npu.py --device npu --audio examples/test_zh.wav

# CPU 推理(对比)
python scripts/adapt_npu.py --device cpu --audio examples/test_zh.wav

4. 性能测试

python scripts/benchmark_npu.py --device npu --batch-sizes 1 2 4

项目结构

.
├── README.md                          # 项目说明
├── requirements.txt                   # 依赖清单
├── docs/
│   └── ascend-adaptation.md          # 详细适配验证报告
├── scripts/
│   ├── adapt_npu.py                  # NPU 推理脚本
│   └── benchmark_npu.py              # 性能基准测试脚本
├── examples/
│   └── test_zh.wav                   # 测试音频(中文)
├── models/
│   └── ZhipuAI/GLM-ASR-Nano-2512/   # 模型权重(下载后)
└── benchmark_results.json            # 性能测试报告(生成)

关键适配点

适配项GPU 方式昇腾 NPU 方式
设备device="cuda"device="npu"
device_mapdevice_map="auto"手动 model.to("npu")
数据类型torch.bfloat16torch.bfloat16(原生支持)
同步torch.cuda.synchronize()torch.npu.synchronize()

硬件环境

  • NPU: 华为昇腾 Ascend 910
  • CANN: 8.0+
  • 验证状态: 完全适配

参考文档

  • 详细适配验证报告
  • GLM-ASR 官方仓库
  • 昇腾社区

许可证

本项目适配代码遵循 MIT 许可证。模型权重与原始代码遵循其各自的许可证。