/ Модель

Характеристики

Лицензия
Apache 2.0
Базовая модель
granite-speech-4.1-2b-nar
Библиотека
transcribe.cpp
Опубликована
17 мая 2026

granite-speech-4.1-2b-nar-gguf

Распознавание речиАудио → текст4 профессии

Granite-Speech-4.1-2B-NAR — это мультиязычная модель автоматического распознавания речи, разработанная IBM и преобразованная в формат GGUF проектом handy-computer для работы с transcribe.cpp.

44 688скачиваний за 30 дней0лайковвеса обновлены15 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Модель предназначена для офлайн-преобразования речи в текст и принимает монофонические WAV-файлы с частотой дискретизации 16 кГц. Поддерживаются английский, французский, немецкий, испанский и португальский языки.

Модель использует архитектуру Conformer для аудиоэнкодера, специальный MLP-проектор с механизмом внимания и Granite-4.0-1B в роли двунаправленного редактора. Это non-autoregressive подход: полный текст формируется за один проход без последовательной генерации токенов. Доступны варианты в форматах BF16, F16 и квантизациях Q8_0, Q6_K, Q5_K_M и Q4_K_M; размер файлов составляет примерно от 1,56 до 4,52 ГБ. На LibriSpeech test-clean показатель WER заявлен на уровне 1,28–1,34% в зависимости от варианта.

Сильными сторонами являются офлайн-работа, поддержка пяти языков, отсутствие токен-за-токеном декодирования и близкое к эталонному качество при квантизации. Ограничения: потоковая обработка, перевод, определение языка и временные метки не поддерживаются; модель ориентирована только на ASR. Производительность зависит от аппаратной платформы и выбранной квантизации. Распространяется по лицензии Apache-2.0, унаследованной от базовой модели.

Для каких профессий подходит4

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

granite-speech-4.1-2b-nar: transcribe.cpp GGUF

GGUF conversions of ibm-granite/granite-speech-4.1-2b-nar for use with transcribe.cpp.

Ported from upstream commit 99a4df9, pinned 2026-05-24. Validated against the Transformers reference at transcribe.cpp commit c53af2c on 2026-05-24.

Offline multilingual speech-to-text in a single non-autoregressive editor pass. IBM Granite Speech 4.1-2b NAR shares the Conformer audio encoder with the AR Granite-Speech family but pairs it with a custom MLP-with- attention projector and the Granite-4.0-1b LLM used as a bidirectional editor (causal mask disabled). One forward pass produces logits over the full transcript; CTC decode yields the final text. No token-by-token loop. Takes a 16 kHz mono WAV and produces a transcript. English plus French, German, Spanish, and Portuguese; ASR only (no translation, no timestamps).

Downloads

QuantizationDownloadSizeWER (LibriSpeech test-clean)
BF16granite-speech-4.1-2b-nar-BF16.gguf4.51 GB1.29%
F16granite-speech-4.1-2b-nar-F16.gguf4.52 GB1.29%
Q8_0granite-speech-4.1-2b-nar-Q8_0.gguf2.50 GB1.29%
Q6_Kgranite-speech-4.1-2b-nar-Q6_K.gguf1.98 GB1.29%
Q5_K_Mgranite-speech-4.1-2b-nar-Q5_K_M.gguf1.78 GB1.28%
Q4_K_Mgranite-speech-4.1-2b-nar-Q4_K_M.gguf1.56 GB1.34%

WER on the full LibriSpeech test-clean split (2,620 utterances), batch size 1, timestamps none. Figures without a commit were published before provenance was recorded.

BF16 reference baseline (transformers model.transcribe, MPS, re-run locally): 1.28% — matches the upstream model card's 1.29% to within sampling noise. Text normalizer: Whisper EnglishTextNormalizer, the same normalizer Open ASR Leaderboard uses. Reference reproduction follows the model card path verbatim (AutoProcessor + AutoModel.transcribe + processor.batch_decode) at HF revision 99a4df9 (single-file modeling_granite_speech_nar.py snapshot, the README's canonical target); no mask patching is required because the NAR LM uses create_bidirectional_mask() natively. F16, Q8_0, and Q6_K all match BF16's 1.29%; Q5_K_M dips slightly to 1.25% (within overlapping CIs).

Usage

Build transcribe.cpp from source:

git clone git@github.com:handy-computer/transcribe.cpp.git
cd transcribe.cpp
cmake -B build && cmake --build build

Run on a 16 kHz mono WAV:

build/bin/transcribe-cli \
  -m granite-speech-4.1-2b-nar-Q8_0.gguf \
  input.wav

If your audio isn't already 16 kHz mono WAV, convert it first:

ffmpeg -i input.mp3 -ar 16000 -ac 1 output.wav

See the transcribe.cpp model page for performance numbers, numerical validation, and reproduction steps.

License

Inherited from the base model: Apache-2.0. See the upstream model card for full terms.


Original Model Card

The section below is reproduced from ibm-granite/granite-speech-4.1-2b-nar at commit 99a4df9 for offline reference. The upstream card is the authoritative source.

Granite-Speech-4.1-2B-NAR

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 between each token)
  3. The projected audio embeddings are concatenated with the interleaved hypothesis embeddings
  4. The bidirectional LLM predicts edits (copy, insert, delete, replace) at all positions simultaneously
  5. CTC greedy decoding (argmax + collapse) produces the final transcript

This design exploits the identity mapping bias of Transformers: residual connections and tied embeddings make the model naturally inclined to copy input tokens, so it focuses learning capacity on corrections rather than full reconstruction.

Training Data

The model was trained on approximately 130K hours of speech across five languages (English, Spanish, French, German, Portuguese), using publicly available datasets including CommonVoice 15, MLS, LibriSpeech, Libriheavy long, AMI, Granary VoxPopuli, Granary YODAS, Earnings-22, Fisher, CallHome, and SwitchBoard. For additional training details, see the paper.

Infrastructure

Training was completed on IBM's Blue Vela cluster using 16 H100 GPUs (2 nodes) for 5 epochs (3 days).

Ethical Considerations and Limitations

The model is designed specifically for automatic speech recognition and does not generate free-form text, which limits the risk of hallucination compared to general-purpose speech-language models. However, transcription accuracy varies across languages and acoustic conditions. Performance may be weaker on languages with less training data (e.g., Portuguese) or in challenging acoustic environments (e.g., far-field, overlapping speech).

The model's editing approach is conservative by design — it prefers deletions over insertions, which reduces hallucination risk but may occasionally drop words in noisy conditions.

To enhance safety, we recommend using granite-speech-4.1-2b-nar alongside Granite Guardian. Granite Guardian is a fine-tuned instruct model designed to detect and flag risks in prompts and responses across key dimensions outlined in the IBM AI Risk Atlas.

Resources

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transcribe.cpp

Нельзя запустить

GGUF-веса поддерживаются только для текстовых LLM (llama.cpp).

Ревизия весов
c186f8d

0 моделей