/ Модель

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

Лицензия
CC BY-NC 4.0
Библиотека
nemo
Опубликована
6 июл 2026

realtime-streaming-asr-kk-ru-en

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

Трёхъязычная модель FastConformer-TDT для потоковой и пакетной транскрипции речи на казахском, русском и английском языках.

0скачиваний за 30 дней1лайквеса обновлены6 июл 2026

Бенчмарки

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

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

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

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

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

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

Модель nur-dev/realtime-streaming-asr-kk-ru-en — трёхъязычная система распознавания речи на базе FastConformer-TDT, подготовленная для потоковой транскрипции с низкой задержкой и пакетной обработки аудио. Она принимает монофонический звук с частотой 16 кГц и распознаёт казахскую, русскую и английскую речь. В README указаны 115 млн параметров, гибридный декодер TDT с вспомогательной CTC-ветвью и токенизатор BPE на 4096 элементов. Модель распространяется в форматах NeMo и ONNX; для NeMo требуется среда с поддержкой CUDA.

Четыре профиля потоковой обработки используют общий набор весов и позволяют выбирать компромисс между задержкой и точностью: заявленный упреждающий контекст составляет примерно от 0 до 1040 мс. По приведённой оценке на FLEURS профиль с задержкой около секунды почти не уступает офлайн-режиму; для интенсивного потока английской речи авторы рекомендуют более длинный контекст. Модель предназначена для серверной транскрипции, а не для синтеза речи или разделения говорящих. Лицензия CC BY-NC 4.0 разрешает использование с указанием авторства, но некоммерческое.

Сценарии применения

  • потоковая расшифровка казахской речи в реальном времени
  • транскрипция русской речи из аудиопотока
  • распознавание английской речи с настраиваемой задержкой
  • пакетная расшифровка монофонических аудиозаписей 16 кГц
  • серверная транскрипция через WebSocket или ONNX Runtime

Ограничения

Для английской речи профиль с минимальной задержкой около 80 мс показал худшую точность; для англоязычного потока рекомендуется профиль с более длинным контекстом. Модель не выполняет диаризацию, а числовая нормализация зависит от соглашений обучающих данных; лицензия ограничивает использование некоммерческими целями.

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

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

Открыть на Hugging Face

Real-Time Streaming ASR — Kazakh / Russian / English (FastConformer-TDT)

A cache-aware streaming speech-to-text model for Kazakh, Russian, and English, packaged as a NVIDIA NeMo .nemo checkpoint. Built for real-time / server-side transcription (WebSocket, low-latency streaming) while staying balanced across all three languages — no single language is favored.

  • Task: automatic speech recognition / speech-to-text (streaming and offline).
  • Languages: Kazakh (kk), Russian (ru), English (en).
  • Architecture: 115M FastConformer-large (d_model 512, 17 layers, ×8 subsampling), NeMo EncDecHybridRNNTCTCBPEModel, TDT decoder (token-and-duration transducer, durations 0–4) + auxiliary CTC (0.3).
  • Streaming: cache-aware, att_context_style: chunked_limited, causal convolutions + causal downsampling. Four selectable latency profiles share one set of weights: [[70,13],[70,6],[70,1],[70,0]] ≈ 1040 / 480 / 80 / 0 ms right-context lookahead.
  • Tokenizer: fresh 4096-piece trilingual BPE, balanced (equal lines per language) so Latin/Cyrillic/Kazakh graphemes and digits are all well covered.
  • Format: NeMo .nemo. Input audio: mono 16 kHz.

This is a cache-aware streaming checkpoint (not a full-context offline-only model, not TTS, not diarization).

Evaluation

Held-out WER (%), uniform Whisper text normalization, corpus WER. Evaluation sets: FLEURS test (500 seeded utts / language) for kk/ru/en, and ISSAI KSC2 test (1000 seeded utts, the canonical in-domain Kazakh benchmark). Lower is better. Numbers are measured on these sets, not taken from a model card.

Decoding profileLookaheadKK (FLEURS)RU (FLEURS)EN (FLEURS)KK (KSC2)FLEURS macroRTF
Offline (full-context attn)—13.5014.9516.3112.6914.92~0.009
Streaming [70,13]~1040 ms13.9014.9416.3912.8915.08~0.015
Streaming [70,6]~480 ms14.3416.2017.3413.7515.96~0.016
Streaming [70,1]~80 ms15.8918.7320.0315.7118.22~0.037

Reading the table

  • Balanced across languages. FLEURS spread (max−min) is ~2.5–2.9 WER at every profile; RU and EN are not undersampled or sacrificed for KK.
  • Real-time at production latency. At [70,13] (~1 s lookahead) the FLEURS macro is 15.08 — matching the offline number, i.e. streaming costs almost nothing at 1 s. RTF ≈ 0.015 (≈ 65× faster than real-time on a single GPU).
  • Strong on canonical Kazakh. KSC2 is 12.69 offline / 12.89 streaming.
  • Graceful degradation all the way down to an 80 ms lookahead for ultra-low-latency use.

Per-profile CER and per-set counts are in metadata/eval.json.

Files

  • fc_tdt_streaming_kk_ru_en.nemo — NeMo streaming ASR checkpoint.
  • onnx/ — end-to-end ONNX export (cache-aware encoder + TDT decoder_joint, opset 17) with tokenizer + config for ONNX Runtime / Triton serving. See onnx/README.md.
  • metadata/eval.json — full evaluation summary (WER/CER/RTF, all profiles).
  • examples/offline_asr.py — batch/file transcription.
  • examples/streaming_infer.py — cache-aware streaming transcription with a selectable latency profile.

Install

Use an environment with NVIDIA NeMo ASR support and CUDA-enabled PyTorch.

pip install "nemo_toolkit[asr]" huggingface_hub soundfile

Download

from huggingface_hub import hf_hub_download

model_path = hf_hub_download(
    repo_id="nur-dev/realtime-streaming-asr-kk-ru-en",
    filename="fc_tdt_streaming_kk_ru_en.nemo",
)

Quick start (offline)

import nemo.collections.asr as nemo_asr

model = nemo_asr.models.ASRModel.restore_from(model_path).eval()
print(model.transcribe(["audio_16k_mono.wav"])[0].text)

Streaming latency profile

The model ships four cache-aware profiles in one checkpoint. Select the latency/accuracy trade-off before decoding:

# ~1040 ms lookahead (best accuracy) ... ~80 ms (lowest latency)
model.encoder.set_default_att_context_size([70, 13])   # or [70,6], [70,1]

For true cache-aware streaming inference, use NeMo's cache_aware_streaming utilities (see examples/streaming_infer.py).

Training

  • 8× NVIDIA L40, pure DDP, bf16-mixed, 150k steps.
  • ~2413 h trilingual training audio, balanced by hours (kk 33.4 % / ru 33.2 % / en 33.4 %).
  • Encoder warm-started from a cache-aware streaming trilingual base; TDT decoder, joint, CTC and the 4096 BPE tokenizer trained fresh for this vocabulary.
  • Best blended validation WER: 0.0945.

Intended use & limitations

  • Intended for real-time / server-side transcription of kk/ru/en speech at 16 kHz.
  • Best accuracy at [70,13]; use lower profiles when latency matters more than WER.
  • English at the tightest 80 ms profile (20.0) is the weakest operating point; prefer [70,13]/[70,6] for English-heavy traffic.
  • Numbers do not represent written-form/ITN output; RU numerals follow the training convention.

License

Released under CC BY-NC 4.0 (non-commercial). For commercial licensing or inquiries, contact the author.

Contact

Author: Nurgali Kadyrbek — kadyrbeknurgali@gmail.com. For commercial licensing, connect on LinkedIn.

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

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

GPU в ailist

Универсальный рантайм · nemo

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

Модели NVIDIA NeMo требуют отдельного рантайма.

Ревизия весов
1df9a20

0 моделей