r
redannancy/parakeet-ctc-1.1b-20260819
模型介绍
文件和版本
Pull Requests
讨论
分析

nvidia/parakeet-ctc-1.1b 昇腾 NPU 适配

简介

nvidia/parakeet-ctc-1.1b 是 NVIDIA 开源的一款基于 CTC(Connectionist Temporal Classification)的自动语音识别(ASR)模型,参数量约 1.1B。该模型采用 FastConformer 编码器架构,使用 CTC 解码算法,能够将输入的音频信号转换为文本输出,支持英语语音识别场景。

本仓库完成了该模型在华为昇腾 910 NPU 上的适配工作,基于 transformers + torch_npu 推理框架实现推理部署。通过 transformers 的 ParakeetForCTC 模型类和昇腾 NPU 的算力支撑,实现高效的语音识别推理。

模型信息

属性值
模型名称nvidia/parakeet-ctc-1.1b
模型架构ParakeetForCTC (FastConformer + CTC)
参数量1,062,540,289 (~1.06B)
框架transformers (4.57.6)
任务类型自动语音识别 (ASR)
语言英语
模型来源hf-mirror.com / HuggingFace

验证环境

硬件环境

组件规格
NPUAscend 910
NPU 数量2
NPU 显存64GB HBM / 卡
服务器架构aarch64

软件环境

组件版本
操作系统Ubuntu 22.04.5 LTS
Python3.11.14
CANN8.5.1
torch2.9.0
torch_npu2.9.0.post1
transformers4.57.6
numpy1.26.4
soundfile0.13.1

NPU 驱动信息

npu-smi 25.5.5
NPU 芯片: Ascend910
HBM 总容量: 65536MB/卡

服务启动

1. 安装依赖

pip install -r requirements.txt

2. 下载模型

# 从 hf-mirror.com 拉取
HF_ENDPOINT=https://hf-mirror.com huggingface-cli download nvidia/parakeet-ctc-1.1b --local-dir ./parakeet-ctc-1.1b

# 或从 HuggingFace 直接拉取
huggingface-cli download nvidia/parakeet-ctc-1.1b --local-dir ./parakeet-ctc-1.1b

3. 运行推理

python inference.py sample.wav --model ./parakeet-ctc-1.1b

4. Python 代码调用

import torch
import torch_npu
from transformers import AutoModelForCTC, AutoProcessor

model = AutoModelForCTC.from_pretrained(
    "nvidia/parakeet-ctc-1.1b",
    dtype=torch.bfloat16,
    trust_remote_code=True
).to("npu:0")
model.eval()

processor = AutoProcessor.from_pretrained("nvidia/parakeet-ctc-1.1b", trust_remote_code=True)

# 读取音频
import soundfile as sf
audio, sr = sf.read("sample.wav")

# 推理
inputs = processor(audio, sampling_rate=sr, return_tensors="pt")
input_features = inputs["input_features"].to("npu:0", dtype=torch.bfloat16)
with torch.no_grad():
    logits = model(input_features).logits
predicted_ids = torch.argmax(logits, dim=-1)
text = processor.batch_decode(predicted_ids)[0]
print(text)

Smoke 验证

1. 环境检查

python -c "import torch; import torch_npu; print(f'NPU可用: {torch.npu.is_available()}, 设备数: {torch.npu.device_count()}')"

2. 模型加载验证

python -c "
from transformers import AutoModelForCTC, AutoConfig
import torch
config = AutoConfig.from_pretrained('./parakeet-ctc-1.1b', trust_remote_code=True)
model = AutoModelForCTC.from_pretrained('./parakeet-ctc-1.1b', config=config, dtype=torch.bfloat16, trust_remote_code=True)
model = model.to('npu:0')
print(f'模型加载成功: {sum(p.numel() for p in model.parameters()):,} 参数')
"

3. 推理测试

python inference.py test.wav --model ./parakeet-ctc-1.1b

4. NPU 监控

# 在推理过程中查看 NPU 占用
npu-smi info

性能参考

推理性能(实测)

以下为在 Ascend 910 NPU 上的实测性能(5.86 秒 LibriSpeech 语音):

测试项值
首次推理延迟288.3ms
预热后推理延迟~56ms
平均推理延迟(5次)103.2ms
模型加载时间~3秒(1694个权重文件)
输出特征形状[1, 74, 1025]
输入特征形状[1, 586, 80]
推理引擎transformers + torch_npu
数据类型bfloat16

资源占用(实测)

指标值
NPU HBM 使用~3732MB
进程内存1636~2511MB
已分配显存2028.9MB
参数量1,062,540,289
权重文件大小~4.05GB

精度测评

评估指标

指标说明
WER (词错误率)参考 NVIDIA 官方公布数据
CER (字符错误率)参考 NVIDIA 官方公布数据

测试集

使用 LibriSpeech clean/dev/test 或其他标准 ASR 测试集进行评估。

实测推理结果(昇腾 910 NPU)

测试输入:LibriSpeech 真实英语语音(5.86 秒,16kHz)

推理结果:

项目内容
参考文本MISTER QUILTER IS THE APOSTLE OF THE MIDDLE CLASSES AND WE ARE GLAD TO WELCOME HIS GOSPEL
模型转写mr quilter is the apostle of the middle classes and we are glad to welcome his gospel
内容匹配完全一致(MISTER→mr 为模型词表正常映射)
输出 logits 形状[1, 74, 1025]
推理延迟(预热后)~56ms
平均延迟(5次)103.2ms

NPU 资源占用(实测):

指标值
NPU HBM 使用~3732MB / 65536MB
NPU 进程内存1636~2511MB
NPU 已分配显存2028.9MB
NPU 保留显存2290.0MB
推理引擎transformers + torch_npu (bfloat16)

该实测结果证明模型已在昇腾 910 NPU 上真实、正确地完成语音转写。


注意事项

  1. 模型下载:模型权重文件约 4.05GB,首次下载请确保网络通畅。
  2. NPU 资源:推荐使用至少 1 张 Ascend 910 NPU,显存占用约 3.7GB。
  3. 音频格式:支持 wav 格式,采样率必须为 16kHz,单声道。
  4. 数据类型:推荐使用 bfloat16 精度,在保证精度的同时降低显存占用。
  5. 远程代码:需要添加 trust_remote_code=True 参数以加载 ParakeetForCTC 自定义代码。
  6. 模型架构:该模型为 ParakeetForCTC,使用 FastConformer 编码器 + CTC 解码,非标准 transformers 架构。
  7. torch_npu:需要安装 torch_npu 包以启用 NPU 后端,模型通过 .to('npu:0') 加载到 NPU。
  8. 日志查看:可通过 torch.npu.set_device(0) 和 torch.npu.synchronize() 进行调试。

参考链接

  • HuggingFace 模型页
  • hf-mirror.com 镜像
  • transformers 文档
  • 昇腾 CANN 文档
  • torch_npu 项目