Model reference · open weights

granite-speech-4.1-nar

Embeddings ibm-granite Embeddings 1 build Open weights 123k dl/mo

granite-speech-4.1-nar is an open-weight embedding model from IBM. granite-speech-4.1-2b-nar (BF16) weighs 4.5 GB; the smallest configuration that runs it is RTX 3060 12 GB.

  • Granite-Speech-4.1-2B-NAR is a non-autoregressive speech recognition model developed by IBM that formulates automatic speech recognition as conditional transcript editing.
  • It is designed for latency-sensitive applications where fast inference is critical, utilizing a bidirectional LLM to edit a CTC hypothesis in a single forward pass.
  • The model contains 2.3 billion parameters, supports English, French, German, Spanish, and Portuguese, and is released under the Apache 2.0 license.

Summary of the ibm-granite/granite-speech-4.1-2b-nar model card, 2026-10-01

What it is

Released byIBM
Released2026-03-10
Parameters2.3B
VRAM4.5 GB for the weights

What it runs on

Memory and cards for granite-speech-4.1-2b-nar (BF16)

4.5 GBweights, file size
1.1 GBruntime overhead
CardRunsMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

From the model card

What IBM says about granite-speech-4.1-nar

Read the model card

Model Summary: Granite-Speech-4.1-2B-NAR is a non-autoregressive (NAR) speech recognition model that formulates ASR as conditional transcript editing. Instead of decoding tokens one at a time, it edits a CTC hypothesis in a single forward pass using a bidirectional LLM, achieving competitive accuracy with faster inference than autoregressive alternatives. The model is based on the NLE (Non-autoregressive LLM-based Editing) architecture described in this paper.

For applications where accuracy is the primary concern, consider granite-speech-4.1-2b, an autoregressive model from the Granite Speech 4.1 family which achieves higher transcription accuracy at the cost of increased inference latency. Granite-speech-4.1-2b produces punctuated and capitalized transcripts, supports AST and keyword-biased recognition, and includes Japanese.

When speaker or word-timing information is needed, consider using granite-speech-4.1-2b-plus, which extends the above model with speaker-attributed ASR (speaker labels + word transcripts) and word-level timing information.

Release Date: April 2026

License: Apache 2.0

Supported Languages: English, French, German, Spanish, Portuguese

Intended Use: The model is intended for automatic speech recognition tasks, particularly in latency-sensitive applications where fast inference is critical.

Evaluation Results

Open ASR leaderboard results

RTFx-WER results on the Open ASR leaderboard (as of Apr 2026).

Additional results

Greedy decoding with bfloat16 inference. WER computed with jiwer after whisper_normalizer EnglishTextNormalizer normalization. Open ASR Leaderboard results may differ slightly due to normalization and scoring pipeline differences. Measured RTFx of ~1820 on a single H100 GPU (batched inference, batch size 128).

DatasetWERDatasetWER
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

Usage

Installation

We require flash_attention_2 for inference, since this backend supports sequence packing and respects the is_causal=False flag. Requires transformers>=5.5.3 and 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>=5.5.3 accelerate safetensors huggingface-hub tokenizers
pip install soundfile
pip install flash-attn==2.8.3 --no-build-isolation

Inference with transformers

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

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()
processor = AutoProcessor.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, run transcription, decode
inputs = processor([waveform], device=device)
output = model.transcribe(**inputs)
transcriptions = processor.batch_decode(output.preds)

print(f"Prediction: {transcriptions[0]}")

Model Architecture

The architecture consists of three components:

(1) CTC Speech Encoder (440M params)

A 16-layer Conformer encoder trained with CTC on character-level targets. It processes 16kHz audio with stacked log-mel features (80 mel bins, 2-frame stacking) and uses block attention with 4-second audio blocks and self-conditioning at layer 8. The encoder has a dual CTC head: alongside the character-level output, a secondary BPE head produces CTC logits over the LLM's 100K token vocabulary. The BPE head uses posterior-weighted pooling (window size 4) with importance weights derived from mid-layer blank probabilities (1 - blank_prob).

(2) Q-Former Projector (160M params)

A 2-layer window Q-Former that downsamples the concatenated hidden representations from 4 encoder layers (layers 4, 8, 12, 16) by 5x. Each 15-frame window is reduced to 3 queries via cross-attention, resulting in a 10Hz acoustic embedding rate for the LLM (2x from encoder + 5x from projector).

(3) Bidirectional LLM Editor (1B params, LoRA-adapted)

granite-4.0-1b-base with its causal attention mask removed, enabling bidirectional context. Adapted with LoRA (rank 128) applied to both attention and MLP layers. The LLM receives concatenated audio embeddings and an interleaved CTC hypothesis with insertion slots, then predicts the edited transcript in a single parallel forward pass using a CTC objective.

How Granite-speech NAR Works

  1. The frozen CTC encoder produces acoustic embeddings and an initial hypothesis.
  2. The hypothesis is interleaved with insertion slots (blank tokens b

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms