Nemotron-Labs-Unified-ASR 0.6B

NVIDIA's Nemotron-Labs-Unified-ASR (0.6B): a FastConformer encoder with an RNN-T decoder and language-ID prompting for 25 European languages, with punctuation and capitalization, exported for loom.cpp in two precisions.

This is a loom.cpp export: a single self-describing GGUF that carries its own graph topologies, tokenizer (if any) and driver script, produced by loom-exporter.

Original model

Exported from nvidia/nemotron-labs-unified-asr-0.6b. The F32 file carries the same parameters unmodified, in loom.cpp's GGUF format; the others are quantized from them (see Files).

License

OpenMDW License 1.1 -- inherited from the base model above.

Language(s)

bg, hr, cs, da, nl, en, et, fi, fr, de, el, hu, it, lv, lt, mt, pl, pt, ro, sk, sl, es, sv, ru, uk

Usage

Run it with loom-py -- loom-py-rt on PyPI:

pip install -U "loom-py-rt[hub]"

Needs loom-py-rt 1.0.0rc18 or later. This file uses the engine's STFT op, new in that release; an older runtime stops with unknown op 'STFT'.

import loom

# This repo holds more than one precision of the model; name the file you want (see "Files" below).
model = loom.Model.from_pretrained("loom-ai-org/nemotron-labs-unified-asr-0.6b-loom", "nemotron-labs-unified-asr-0.6b-f32.gguf")

# Audio is a mono float list at 16 kHz. With no `language` the model identifies it itself ("auto").
result = model.speech2text.infer(audio)
print(result.text)

# Or name it, in the checkpoint's own prompt names: "de", "fr", "pl", "de-DE", ...
# (all of them, "auto" included, are in `model.contract["asr_languages"]`).
print(model.speech2text.infer(audio, language="de").text)

The layer underneath

The call above is the high-level door: one per task, named for the modality pair it maps between, with the windowing, sampling and assembly this model needs already applied. Under it, model.infer(...) passes your arguments straight to the driver this GGUF embeds -- which is where you go for a knob the door does not name.

model.driver_source prints that driver, including a header comment documenting every argument it accepts for this model, and is the authority on it. See loom-py for the API and loom.cpp for what the engine does between the two.

Known limitations

Offline mode only. The checkpoint is one model for offline and streaming recognition; this file runs it offline -- the whole clip through the encoder at full context, as NeMo's offline inference does. NeMo's buffered streaming (chunks with 5.6 s of recomputed left context) is not exported.

Name the language when you know it. language= takes the checkpoint's own prompt names -- two-letter codes such as "de" or "pl", and locales such as "de-DE" (all 118, "auto" included, are in model.contract["asr_languages"]). Without it the model identifies the language itself (auto). The table also names languages outside the 25 it was trained on; asking for one of those is not a supported use.

Cost grows with the clip. Attention is over the whole clip, so split long recordings at their pauses -- silero-vad-loom finds them. No timestamps: segments is one span covering the whole clip. Mono 16 kHz.

Files

One model in several precisions; every file carries the same graph and driver. The quantized ones pack the convolution and projection weights (loom-export --quantize <type>), so their numbers differ from the original model's by the amount noted.

  • nemotron-labs-unified-asr-0.6b-f32.gguf -- full precision, 2.5 GB. Token for token NeMo's own decode on 73 LibriSpeech and 60 FLEURS clips (German, Spanish, French, Polish), with the language named and with auto.
  • nemotron-labs-unified-asr-0.6b-q8_0.gguf -- 719 MB. Word error rates within 0.4 points of F32's on every set (LibriSpeech 3.91%, as F32; FLEURS German 2.91%, Spanish 3.37%, French 10.00%, Polish 9.02%, language named), and under half the memory: 1.4 GB peak against 3.2 GB. 71 of 73 LibriSpeech and 53 of 60 FLEURS transcripts are token-identical to NeMo's.
Downloads last month
48
GGUF
Model size
0.6B params
Architecture
loom-nemotron-unified-asr
Hardware compatibility
Log In to add your hardware

8-bit

32-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for loom-ai-org/nemotron-labs-unified-asr-0.6b-loom

Quantized
(4)
this model

Collection including loom-ai-org/nemotron-labs-unified-asr-0.6b-loom