---
title: granite-speech-4.1-2b-nar-mlx
canonical_url: "https://www.modelscope.cn/models/mlx-community/granite-speech-4.1-2b-nar-mlx"
md_url: "https://www.modelscope.cn/models/mlx-community/granite-speech-4.1-2b-nar-mlx.md"
repository: mlx-community/granite-speech-4.1-2b-nar-mlx
last_updated: 2026-05-28
license: apache-2.0
model_type:
  - granite_speech_nar
architectures:
  - GraniteSpeechNarForASR
base_model:
  - ibm-granite/granite-speech-4.1-2b-nar
base_model_relation: finetune
parameters: 2.3B
tensor_type:
  - BF16
library_name:
  - mlx
  - safetensors
  - pytorch
frameworks:
  - pytorch
language:
  - en
  - fr
  - de
  - es
  - pt
downloads: 59
stars: 0
tags:
  - mlx
  - mlx-audio
  - speech-to-text
  - non-autoregressive
  - granite
---

# granite-speech-4.1-2b-nar-mlx

> granite-speech-4.1-2b-nar-mlx - mlx-community 在 ModelScope 开源的模型。Granite Speech 4.1 2B NAR — MLX

mlx-community/granite-speech-4.1-2b-nar-mlx 是 ModelScope 魔搭社区上的 2.3B 参数机器学习模型，采用 apache-2.0 许可，基于 ibm-granite/granite-speech-4.1-2b-nar 构建。

- **Repository**: mlx-community/granite-speech-4.1-2b-nar-mlx
- **License**: apache-2.0
- **Parameters**: 2.3B
- **Base model**: ibm-granite/granite-speech-4.1-2b-nar
- **Tags**: mlx, mlx-audio, speech-to-text, non-autoregressive, granite
- **Downloads**: 59
- **Stars**: 0
- **Last updated**: 2026-05-28

Source: https://www.modelscope.cn/models/mlx-community/granite-speech-4.1-2b-nar-mlx

---

# Granite Speech 4.1 2B NAR — MLX

MLX port of [`ibm-granite/granite-speech-4.1-2b-nar`](https://huggingface.co/ibm-granite/granite-speech-4.1-2b-nar) for Apple Silicon. Runs via [mlx-audio](https://github.com/Blaizzy/mlx-audio).

## Architecture

Non-autoregressive ASR via CTC + bidirectional LM editing:

1. **16-layer Conformer encoder** (543M params) produces an initial BPE CTC hypothesis.
2. **2-layer windowed Q-Former projector** (80M params) converts multi-layer encoder states into audio embeddings.
3. **40-layer bidirectional Granite editor** (1.6B params) takes `[audio | hypothesis_tokens]` and emits edited logits in a single forward pass — no autoregression, no KV cache.
4. Final CTC collapse on text-position logits yields the transcript.

Total: ~2.25B params, bf16.

## Quickstart

```python
from pathlib import Path
from mlx_audio.stt.utils import load_model

model = load_model(Path("mlx-community/granite-speech-4.1-2b-nar-mlx"))
out = model.generate("audio.wav")
print(out.text)
```

## Limitations

- Batch size 1.
- bf16 baseline only — no quantized variants yet.
- No streaming inference.
- macOS 14+, Apple Silicon.

## Reference

Upstream model card: https://huggingface.co/ibm-granite/granite-speech-4.1-2b-nar

Validated against the upstream PyTorch reference: exact 44-token match and exact transcript string on the example wav.

## License

Apache-2.0, matching the upstream model.
