UzASR-CTC: a clean home for the latest models, now with speaker labels
The newest Uzbek ASR models move to two release repositories, UzASR-CTC-600M and UzASR-CTC-220M, in safetensors, and the inference script can now say who spoke when.
In short. The latest models now have their own repositories:
UzASR-CTC-600M (8.1% WER)
and UzASR-CTC-220M
(9.4% WER, 168× real time). Each one always holds the newest release, and
every release is an immutable tag starting with v0.3.0. The script can also
split a transcript by speaker with one flag, --speakers.
What changed
- Two release repositories. Until now, every checkpoint we ever trained lived in one repository, so newcomers had to work out which file to use. Now each size has its own repository, and its main branch is always the latest release. The old repository stays as the archive, with the full ablation history.
- safetensors instead of pickle. The weights load without running code from the file. The small model's download fell from 2.6 GB to 0.9 GB because training state is no longer shipped.
- Pinned base model.
config.jsonrecords the exact commit of GigaAM-Multilingual the weights were trained on, so a future change to the base model cannot break inference. - KenLM on by default. The script decodes with the language model unless
you pass
--no-lm, so out of the box you get the accuracy we publish. - Speaker labels.
--speakersruns NVIDIA Nemotron-3-Diarization and prints each turn with its time span and speaker.
Problem / Solution
Problem: a bigger, cleaner package must not change a single word of output. Solution: before publishing, we transcribed the same benchmark clips, including clips longer than 25 seconds, with the old files and the new ones. The output matched word for word on 23 of 23 clips for both models.
Results (benchmark v3)
| Model | WER | CER | Speed |
|---|---|---|---|
| UzASR-CTC-600M v0.3.0 | 8.1% | 2.5% | 163× |
| UzASR-CTC-220M v0.3.0 | 9.4% | 3.0% | 168× |
These are the same weights as uzasr-large-v0.3.0 and uzasr-base-v0.3.0.
Accuracy did not change; only the packaging did.
On synthetic Uzbek conversations, without any Uzbek fine-tuning, the speaker model reaches 2.2% DER with two speakers and 3.8% with four (collar 0.25 s). With five or more speakers it is less reliable for now.
Next
- Speaker labels in the clarion.uz API.
- An Uzbek fine-tune of the speaker model for panels with five or more voices.
