Instructions to use ifs/whisper-large-v3-tt-cv27-run1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ifs/whisper-large-v3-tt-cv27-run1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="ifs/whisper-large-v3-tt-cv27-run1")# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq processor = AutoProcessor.from_pretrained("ifs/whisper-large-v3-tt-cv27-run1") model = AutoModelForSpeechSeq2Seq.from_pretrained("ifs/whisper-large-v3-tt-cv27-run1", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Whisper-large-v3 fine-tuned for Tatar (run 1)
openai/whisper-large-v3, fully fine-tuned on Common Voice Scripted Speech 27.0 Tatar (CC0). It writes Tatar in Cyrillic, with capital letters and punctuation.
For transcription, use run 2 instead: same recipe, trained on 165 speakers instead of 9, and 16% fewer errors. This model is kept for one reason: it never saw the official Common Voice test split, so it is the one to use for comparisons on that split.
- Write-up, with a comparison against existing Tatar ASR models: ifs.name/post/tatar-asr
- Demo: ifs/tatar-asr
Results
Error rates in percent. CER and WER are computed after lowercasing and removing punctuation; raw CER compares the output exactly as produced.
| Test set | Clips | Speakers | CER | WER | raw CER |
|---|---|---|---|---|---|
| official test split | 4,983 | 258 | 5.5 | 23.6 | 7.0 |
| run 2's test set | 1,122 | 80 | 5.2 | 22.8 | 6.7 |
For comparison, stock Whisper-large-v3 gets 33.0% CER on the official test split. The full comparison is in the write-up.
Usage
import torch
from transformers import pipeline
asr = pipeline(
"automatic-speech-recognition",
model="ifs/whisper-large-v3-tt-cv27-run1",
dtype=torch.float16, # torch.float32 on a CPU
device="cuda", # or "cpu"
)
result = asr(
"audio.mp3",
return_timestamps=True, # needed for audio longer than 30 seconds
generate_kwargs={
"language": "tatar",
"task": "transcribe",
"num_beams": 1,
"no_repeat_ngram_size": 3,
"repetition_penalty": 1.2,
},
)
print(result["text"])
The decoding settings are the ones used in evaluation; they follow BuzzASR. The weights are stored in float32 (6.2 GB); float16 halves the memory and works well for inference.
Training data
All clips come from the validated bucket of Common Voice Scripted Speech 27.0 Tatar. This run kept the official test split untouched, which leaves few speakers for everything else:
| Split | Clips | Speakers | How it was built |
|---|---|---|---|
| test | 4,983 | 258 | the official test split |
| dev | 628 | 2 | two light speakers, one clip per sentence |
| train | 19,605 | 9 | every other validated clip sharing no speaker and no sentence with dev or test |
One speaker accounts for 58% of the training clips. The exact splits are in
the splits/ folder of this repository. Labels keep their
original casing and punctuation.
Training procedure
Full fine-tuning following the BuzzASR recipe, with
finetune.py --max-dev-speaker-clips 350:
- learning rate 6.48e-6 for the decoder, 0.3 times that for the encoder
- cosine schedule, 150 warm-up steps, weight decay 4e-5
- effective batch size 32 (4 clips × 8 gradient accumulation steps)
- bf16 mixed precision, with the weights loaded in float32
- evaluation on dev CER, early stopping with patience 3, best checkpoint kept
- seed 42
Hardware: one NVIDIA A100 80GB on RunPod. Software: PyTorch 2.8.0, Transformers 5.18.0 (full environment in the write-up).
Limitations
- Trained on only 9 speakers, one of whom contributes 58% of the clips.
- Evaluated on read speech only. Accuracy on spontaneous speech, such as YouTube videos or podcasts, is untested and likely lower.
- Code-switching into Russian and timestamp accuracy are untested.
Licence
MIT, like the base model. The training data is CC0.
Author
- Downloads last month
- 33
Model tree for ifs/whisper-large-v3-tt-cv27-run1
Base model
openai/whisper-large-v3Space using ifs/whisper-large-v3-tt-cv27-run1 1
Paper for ifs/whisper-large-v3-tt-cv27-run1
Evaluation results
- CER (normalized) on Common Voice Scripted Speech 27.0 Tatar (official test split)test set self-reported5.500
- WER (normalized) on Common Voice Scripted Speech 27.0 Tatar (official test split)test set self-reported23.600
- CER (raw, with case and punctuation) on Common Voice Scripted Speech 27.0 Tatar (official test split)test set self-reported7.000
- CER (normalized) on Common Voice Scripted Speech 27.0 Tatar (run 2 test set)test set self-reported5.200
- WER (normalized) on Common Voice Scripted Speech 27.0 Tatar (run 2 test set)test set self-reported22.800
- CER (raw, with case and punctuation) on Common Voice Scripted Speech 27.0 Tatar (run 2 test set)test set self-reported6.700