Downloads · 30 days
25
100% of all-time downloads
pokusman/whisper-tiny-sk-ct2
whisper-tiny-sk-ct2 is a automatic speech recognition model from pokusman. Use it when you need speech turned into text. It is set up for transformers. The card lists the license as apache-2.0.
Slovak fine-tune of openai/whisper-tiny by the KInIT team. Full parameter fine-tuning on a curated Slovak speech corpus, with noise augmentation for robustness to real-world recording conditions. Listed in SLAIH, a ca…
Downloads · 30 days
25
100% of all-time downloads
All-time downloads
25
Public
Repo size
151 MB
Likes
0
Public
Click a slice to open those files.
.bin151 MB · 96%
From the Hugging Face model README
Slovak fine-tune of openai/whisper-tiny by the KInIT team. Full parameter fine-tuning on a curated Slovak speech corpus, with noise augmentation for robustness to real-world recording conditions. Listed in SLAIH, a catalog of Slovak NLP resources.
| Property | Value |
|---|---|
| Base model | openai/whisper-tiny |
| Parameters | ~38M |
| Architecture | Whisper encoder-decoder |
| Fine-tuning method | Full fine-tuning |
| Language | Slovak (sk) |
| Task | Automatic Speech Recognition |
| License | Apache 2.0 |
This model is intended for Slovak automatic speech recognition across a range of domains and recording conditions.
Out-of-scope: Non-Slovak audio, real-time streaming without appropriate chunking, safety-critical transcription without human review.
Word Error Rate (WER) and Character Error Rate (CER), lower is better. Measured on two Slovak eval sets:
| Model | CV24 WER ↓ | CV24 CER ↓ | Internal WER ↓ | Internal CER ↓ |
|---|---|---|---|---|
| kinit/whisper-tiny-sk | 38.24% | 13.53% | 20.04% | 8.86% |
| openai/whisper-tiny | 105.14% | 38.31% | 99.47% | 47.34% |
Slovak fine-tuning reduces WER by 64% on Common Voice and 80% on the internal eval set, at the cost of multilingual performance (see Limitations).
Comparison of all six Whisper sizes before and after Slovak fine-tuning. WER is measured on our internal benchmark dataset (see above):
| Model | Fine-tuned: WER ↓ | Base: WER ↓ |
|---|---|---|
| Whisper Large v3 | 5.67% | 16.22% |
| Whisper Large v3 Turbo | 5.60% | 18.35% |
| Whisper Medium | 6.28% | 29.19% |
| Whisper Small | 8.64% | 47.90% |
| Whisper Base | 14.01% | 76.38% |
| Whisper Tiny | 20.04% | 99.47% |
The full KInIT ASR collection includes all six Whisper sizes plus the NVIDIA NeMo fine-tunes (Canary, Parakeet).
Fine-tuned on an internal curated Slovak speech corpus compiled at KInIT. The corpus combines public datasets with internal KInIT recordings. Recordings containing personal data were anonymised prior to use. Samples were quality-filtered using a CER-based threshold validated against multiple ASR models. During training, 75% of batches were additionally augmented on the fly with synthetic background noise for robustness to real-world recording conditions (see Training Procedure below).
| Data sources |
|---|
| SloPalSpeech |
| Municipal council session recordings |
| Read literature |
| Mozilla Common Voice |
| TEDxSK and JumpSK Lecture Speech Corpus |
| FLEURS read speech |
| Internal KInIT recordings |
| Hyperparameter | Value |
|---|---|
| Epochs | 2 |
| Learning rate | 5e-5 |
| LR scheduler | Linear with warmup |
| Optimizer | AdamW |
| Effective batch size | 64 |
| Precision | fp16 |
| Noise augmentation | Applied on the fly to 75% of training batches: phone noise, background speech, background noise, white noise, and packet loss |
| Framework | HuggingFace Transformers Seq2SeqTrainer |
Training was performed on the Devana HPC cluster.
import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
model_id = "kinit/whisper-tiny-sk"
device = "cuda" if torch.cuda.is_available() else "cpu"
dtype = torch.float16 if torch.cuda.is_available() else torch.float32
model = AutoModelForSpeechSeq2Seq.from_pretrained(
model_id,
dtype=dtype,
use_safetensors=True,
).to(device)
processor = AutoProcessor.from_pretrained(model_id)
pipe = pipeline(
"automatic-speech-recognition",
model=model,
tokenizer=processor.tokenizer,
feature_extractor=processor.feature_extractor,
dtype=dtype,
device=device,
)
result = pipe("audio.wav", generate_kwargs={"language": "slovak"})
print(result["text"])
Public datasets used in training: SloPalSpeech, Mozilla Common Voice, FLEURS, and the TEDxSK and JumpSK Lecture Speech Corpus (KEMT NLP).
(Part of the) Research results was obtained using the computational resources procured in the national project National competence centre for high performance computing (project code: 311070AKF2) funded by European Regional Development Fund, EU Structural Funds Informatization of society, Operational Program Integrated Infrastructure.