HuggingFace镜像/granite-speech-4.1-2b-nar
模型介绍文件和版本分析
下载使用量0

Granite-Speech-4.1-2B-NAR

模型概述: Granite-Speech-4.1-2B-NAR 是一款非自回归(NAR)语音识别模型,它将自动语音识别(ASR)任务构建为条件转录编辑任务。 该模型并非逐词解码,而是利用双向大型语言模型(LLM)在单次前向传播中对 CTC 假设结果进行编辑,与自回归模型相比,在保证识别准确率具有竞争力的同时,实现了更快的推理速度。 本模型基于 此论文 中描述的 NLE(基于非自回归 LLM 的编辑)架构。

如果您的应用场景将准确率置于首位,可考虑 Granite Speech 4.1 系列中的自回归模型 granite-speech-4.1-2b。该模型虽能提供更高的转录准确率,但推理延迟也相应增加。它可以生成带标点和首字母大写的转录文本,支持 AST(自动语音翻译)和关键词偏向识别,并包含日语支持。

当需要说话人信息或词级时间戳信息时,建议使用 granite-speech-4.1-2b-plus。该模型在上述模型基础上进行了扩展,支持说话人归因 ASR(即包含说话人标签和词语转录)以及词级时间信息。

发布日期:2026 年 4 月

许可证:Apache 2.0

支持语言: 英语、法语、德语、西班牙语、葡萄牙语

预期用途: 本模型旨在用于自动语音识别任务,尤其适用于对推理速度有严格要求的低延迟应用场景。

评估结果

Open ASR 排行榜结果

Open ASR 排行榜 上的 RTFx-WER 结果(截至 2026 年 4 月)。

RTFx vs WER

其他结果

采用 bfloat16 推理精度进行贪婪解码。词错误率(WER)是在使用 whisper_normalizer 的 EnglishTextNormalizer 进行文本归一化后,通过 jiwer 计算得出。 由于归一化方法和评分流程的差异,Open ASR 排行榜上的结果可能会略有不同。 在单张 H100 GPU 上(批处理推理,批大小为 128)测得的 RTFx 约为 1820。

数据集WER数据集WER
LibriSpeech clean1.29MLS EN4.77
LibriSpeech other2.75MLS DE4.75
CommonVoice 15 EN6.50MLS ES3.31
CommonVoice 15 DE4.73MLS FR4.52
CommonVoice 15 ES4.02MLS PT11.86
CommonVoice 15 FR7.17AMI IHM7.91
CommonVoice 15 PT2.57AMI SDM19.59
Earnings-228.48GigaSpeech10.12
SPGISpeech3.04TED-LIUM3.67
VoxPopuli5.83

使用方法

安装

我们的推理过程需要 flash_attention_2,因为该后端支持序列打包,并且遵循 is_causal=False 标志。 已在 transformers==4.57.6 和 transformers==5.5.3 版本,搭配 torch==2.9.1 进行测试。

# Fresh install (CUDA 12.8, Python 3.10+)
pip install torch==2.9.1 torchaudio==2.9.1 --index-url https://download.pytorch.org/whl/cu128
pip install transformers==4.57.6 accelerate==1.13.0 safetensors==0.7.0 huggingface-hub==0.36.2 tokenizers==0.22.2
pip install soundfile
pip install flash-attn==2.8.3 --no-build-isolation

使用 transformers 进行推理

import torch
import torchaudio
from huggingface_hub import hf_hub_download
from transformers import AutoModel, AutoFeatureExtractor

device = "cuda" if torch.cuda.is_available() else "cpu"

model_name = "ibm-granite/granite-speech-4.1-2b-nar"
model = AutoModel.from_pretrained(model_name, trust_remote_code=True,
                                  attn_implementation="flash_attention_2", device_map=device,
                                  dtype=torch.bfloat16).eval()
feature_extractor = AutoFeatureExtractor.from_pretrained(model_name, trust_remote_code=True)

# Load sample audio from the repo
audio_path = hf_hub_download(repo_id=model_name, filename="10226_10111_000000.wav")
waveform, sr = torchaudio.load(audio_path)
if sr != 16000:
    waveform = torchaudio.functional.resample(waveform, sr, 16000)
if waveform.shape[0] > 1:
    waveform = waveform.mean(dim=0, keepdim=True)
waveform = waveform.squeeze(0)

# Extract features and run inference
inputs = feature_extractor([waveform], device=device)
output = model.generate(**inputs)

print(f"Prediction: {output.text_preds[0]}")

模型架构

该架构包含三个组件:

(1) CTC 语音编码器(4.4 亿参数)

一个 16 层 Conformer 编码器,通过 CTC 在字符级目标上进行训练。它处理 16kHz 音频,使用堆叠的对数梅尔特征(80 个梅尔 bins,2 帧堆叠),并采用块注意力机制,音频块大小为 4 秒,在第 8 层使用自条件化。 编码器具有一个双 CTC 头:除了字符级输出外,一个辅助 BPE 头会针对 LLM 的 10 万 token 词汇表生成 CTC 对数概率。BPE 头采用后验加权池化(窗口大小为 4),其重要性权重来源于中间层的空白概率(1 - blank_prob)。

(2) Q-Former 投影器(1.6 亿参数)

一个 2 层窗口 Q-Former,将来自 4 个编码器层(第 4、8、12、16 层)的拼接隐藏表示下采样 5 倍。 每个 15 帧窗口通过交叉注意力缩减为 3 个查询,为 LLM 生成 10Hz 的声学嵌入速率(编码器提供 2 倍 + 投影器提供 5 倍)。

(3) 双向 LLM 编辑器(10 亿参数,LoRA 适配)

granite-4.0-1b-base 移除了其因果注意力掩码,从而支持双向上下文。 通过在注意力层和 MLP 层应用 LoRA(秩 128)进行适配。LLM 接收拼接的音频嵌入以及带有插入槽的交错 CTC 假设,然后使用 CTC 目标在单次并行前向传递中预测编辑后的转录文本。

Granite-speech NAR 的工作原理

Architecture
  1. 冻结的 CTC 编码器生成声学嵌入和初始假设。
  2. 假设与插入槽(每个 token 之间的空白 token)交错。
  3. 投影后的音频嵌入与交错的假设嵌入进行拼接。
  4. 双向 LLM 同时预测所有位置的编辑操作(复制、插入、删除、替换)。
  5. CTC 贪婪解码(argmax + 合并)生成最终转录文本。

此设计利用了 Transformer 的恒等映射偏差:残差连接和绑定嵌入使模型自然倾向于复制输入 token,因此它将学习能力集中在修正上,而非完全重建。

训练数据

该模型在五种语言(英语、西班牙语、法语、德语、葡萄牙语)的约13万小时语音数据上进行了训练,所使用的公开可用数据集包括CommonVoice 15、MLS、LibriSpeech、Libriheavy long、AMI、Granary VoxPopuli、Granary YODAS、Earnings-22、Fisher、CallHome和SwitchBoard。 有关更多训练详情,请参见论文。

基础设施

训练在IBM的Blue Vela集群上完成,使用16块H100 GPU(2个节点),共进行了5个epoch(3天)。

伦理考量与局限性

该模型专为自动语音识别设计,不生成自由形式的文本,与通用型语音语言模型相比,这降低了幻觉风险。 然而,转录准确率会因语言和声学条件的不同而有所差异。对于训练数据较少的语言(例如葡萄牙语)或在具有挑战性的声学环境中(例如远场、重叠语音),模型性能可能较弱。

该模型的编辑方式在设计上较为保守——它倾向于删除而非插入,这降低了幻觉风险,但在嘈杂环境中偶尔可能会遗漏词语。

为增强安全性,我们建议将granite-speech-4.1-2b-nar与Granite Guardian配合使用。Granite Guardian是一款经过微调的指令模型,旨在检测和标记IBM AI Risk Atlas中概述的关键维度下提示和响应中的风险。

资源

  • 📄 阅读我们的论文:

    • NLE: Non-autoregressive LLM-based ASR by Transcript Editing
    • Granite-speech: open-source speech-aware LLMs with strong English ASR capabilities
    • Self-Speculative Decoding for LLM-based ASR with CTC Encoder Drafts
    • Contextual Biasing for ASR in Speech LLM with Common Word Cues and Bias Word Position Prediction
    • In-Sync: Adaptation of Speech Aware Large Language Models for ASR with Word Level Timestamp Predictions
    • Speaker Attributed Automatic Speech Recognition Using Speech Aware LLMS
  • ⭐️ 了解Granite:https://www.ibm.com/granite

  • 💡 了解最新的Granite学习资源:https://ibm.biz/granite-learning-resources