xujiashuai/speech_transformer_lm_zh-cn-common-vocab8404-pytorch
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

speech_transformer_lm_zh-cn-common-vocab8404-pytorch - 昇腾 NPU 适配

1. 模型简介

中文通用 Transformer 语言模型,基于 Transformer Decoder 架构(16层,512维,8头),用于文本困惑度计算,以及配合 ASR 模型进行浅层融合(shallow fusion)解码或语言模型重打分(LM rescore)。

  • 原始模型: iic/speech_transformer_lm_zh-cn-common-vocab8404-pytorch
  • 框架: PyTorch + FunASR
  • 任务: 语言模型打分(Language Score Prediction)
  • 骨干网络: Transformer LM(16层,512维,8头,2048维前馈网络)
  • 词表大小: 8404 个 token

2. 昇腾 NPU 适配结果

指标值
余弦相似度1.000001
最大绝对误差0.000080
平均延迟10.79ms
输出维度(1, 20, 8404)
推理精度float32
设备Ascend 910B4

3. 环境要求

组件版本
CANN8.5.1
torch_npu2.9.0.post1
PyTorch2.9.0
Python3.11
funasr1.3.1

4. 快速使用

export ASCEND_HOME_PATH=/usr/local/Ascend/cann-8.5.1
export LD_LIBRARY_PATH=/usr/local/Ascend/cann-8.5.1/lib64:$LD_LIBRARY_PATH

python3 inference.py

5. 适配说明

模型权重文件 lm.pb 为 PyTorch 序列化格式(非 protobuf),可直接用 torch.load 加载。模型架构通过 FunASR 的 TransformerEncoder_lm 构建 Transformer LM wrapper(embed → encoder → decoder),无需额外 NPU 适配 patch,直接在 NPU 上运行即可获得与 CPU 一致的结果。

6. 推理输出证据

Loading iic/speech_transformer_lm_zh-cn-common-vocab8404-pytorch ...
  Weights loaded OK
CPU inference ...
  CPU output shape: torch.Size([1, 20, 8404])
NPU inference (npu:0) ...
  NPU output shape: torch.Size([1, 20, 8404])
  Output[:5]: [-20.2657, 10.0818, 10.0818, -13.3767, -2.2101]
  cosine_similarity = 1.000001
  max_abs_error     = 0.000080
  latency_ms        = 10.79
  status = SUCCESS

screenshot