Typhoon ASR Streaming Nemotron 0.6B

Cache-aware streaming Thai ASR (FastConformer-Transducer, 0.6B params, prompt-conditioned) โ€” the best-accuracy model of the Typhoon ASR Streaming release. Adapted to Thai from NVIDIA's Nemotron streaming ASR base: the multilingual tokenizer is extended (not replaced) with the multi-character Thai BPE from Typhoon ASR Real-time, keeping the other languages recoverable, followed by Thai adaptation and a numeric fine-tuning stage.

At a glance

Architecture FastConformer-Transducer (RNN-T), cache-aware streaming, prompt-conditioned
NeMo class EncDecRNNTBPEModelWithPrompt
Tokenizer aggregate 15,135 = Nemotron multilingual 13,087 + Thai BPE 2,048
Language prompt required: target_lang="th-TH"
Latency knob chunk_size ร— 80 ms โ†’ 1040 / 480 / 80 ms
Streaming CER 14.1% TVSpeech ยท 9.3% GigaSpeech2-Thai @1040 ms (13.0% TVSpeech @3200 ms)
Steering (TVSpeech held-out, 1040 ms) keyword recall 16.6% โ†’ 20.7% (phrase boost) at no CER cost
RTF (batch-1, H100 @1040 ms) 0.024 (~42ร— real time); batch-16 โ‰ˆ 300 concurrent streams/GPU
Paired n-gram typhoon-ai/typhoon-asr-streaming-nemotron-0.6b-ngram

Usage

Requires NVIDIA NeMo with cache-aware streaming and EncDecRNNTBPEModelWithPrompt support (see the project repo for the pinned commit and the full streaming loop / server / demo):

import nemo.collections.asr as nemo_asr

model = nemo_asr.models.ASRModel.restore_from(
    "typhoon-asr-streaming-nemotron-0.6b.nemo", map_location="cuda")
model.eval()
model.set_inference_prompt("th-TH")          # required (prompt-conditioned)
model.decoding.set_strip_lang_tags(True)     # strip the <xx-XX> tag from output

# offline (whole file)
text = model.transcribe(audio=["clip.wav"], target_lang="th-TH",
                        return_hypotheses=True)[0].text

# true streaming: setup_streaming_params + conformer_stream_step โ€” see the repo.

Decode-time steering (phrase boosting / n-gram fusion) works inside the streaming decoder; with this aggregate-tokenizer model set boosting_tree.source_lang="th-TH" and use the paired .nemo n-gram โ€” see the repo's docs/SHALLOW_FUSION.md.

License & attribution

Released under OpenMDW-1.1 (see LICENSE in this repository), following the base model: NVIDIA Nemotron 3.5 ASR Streaming 0.6B (OpenMDW-1.1). The base model's copyright and origin notices are preserved in this repository as required by the license.

Modifications in this release: aggregate tokenizer extension with Thai BPE, Thai adaptation on the ~11k-hour Typhoon corpus, and numeric fine-tuning.

Trademark note: "Nemotron" is a trademark of NVIDIA Corporation. It is used here nominatively, solely to identify the base model this checkpoint derives from. This release is not affiliated with, sponsored by, or endorsed by NVIDIA.

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

Model tree for typhoon-ai/typhoon-asr-streaming-nemotron-0.6b

Finetuned
(38)
this model