CoolFace
Modelpublic

KSE-RESEARCH-Group/whisper-medium-dido-yvanchyk-v2

sourceHugging Facemitupdated 8mo agoView on Hugging Face
0likes22downloads
Model Card

whisper-medium - Fine-tuned for Ukrainian ASR

This model is a fine-tuned version of openai/whisper-medium on the Dido Yvanchyk Audio Dataset v2 for Ukrainian speech recognition.

Model Description

Fine-tune openai/whisper-medium on Dido-Yvanchyk dataset

Training Details

Training Data

PropertyValue
DatasetKSE-RESEARCH-Group/Dido-Yvanchyk-Audio-Dataset-v2
Training samples6811
Validation samples757
Test samples842
LanguageUkrainian
Max token length448

Training Hyperparameters

ParameterValue
Base modelopenai/whisper-medium
Learning rate1e-05
Warmup steps500
Max steps8000
Batch size (per device)8
Gradient accumulation steps4
Effective batch size32
FP16True
Gradient checkpointingFalse
Eval strategysteps
Eval/Save steps500
Metric for best modelcer

Training Results

The model was trained for 8000 steps with evaluation every 500 steps. The best checkpoint was selected based on the lowest CER.

StepTrain LossEval LossEval CER (%)Eval WER (%)
5000.1410.2265.6816.58
10000.0510.2274.8115.41
15000.0160.2584.5314.88
20000.0050.2844.2214.54
25000.0050.2824.0914.16
30000.0030.2794.1213.92
35000.0010.34.0614.11
40000.0010.2994.0113.83
45000.0010.3064.113.88
50000.0010.3114.0713.92
55000.00.3184.0513.92
60000.00.3184.0313.92
65000.00.3224.0213.81
70000.00.3293.9813.7
75000.00.3334.0713.82
80000.00.3344.0613.8

Best Model Checkpoint: Step 7000

Final Evaluation Metrics

Validation Set
MetricValue
CER4.06%
WER13.8%
Eval Loss0.334
Test Set
MetricValue
CER3.96%
WER14.61%

Usage

Using Pipeline (Recommended)

python
from transformers import pipeline
import torch

device = "cuda:0" if torch.cuda.is_available() else "cpu"

pipe = pipeline(
    "automatic-speech-recognition",
    model="KSE-RESEARCH-Group/whisper-medium-dido-yvanchyk-v2",
    device=device,
)

result = pipe(
    "path/to/audio.wav",
    generate_kwargs={
        "task": "transcribe",
        "language": "ukrainian",
    },
    chunk_length_s=30,
)
print(result["text"])

Using Transformers Directly

python
from transformers import WhisperForConditionalGeneration, WhisperProcessor
import torch

model_id = "KSE-RESEARCH-Group/whisper-medium-dido-yvanchyk-v2"

processor = WhisperProcessor.from_pretrained(model_id)
model = WhisperForConditionalGeneration.from_pretrained(model_id)

# Move to GPU if available
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model = model.to(device)

# Process audio (audio_array should be a numpy array at 16kHz)
input_features = processor(
    audio_array, 
    sampling_rate=16000, 
    return_tensors="pt"
).input_features.to(device)

# Generate transcription
predicted_ids = model.generate(input_features)
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)[0]
print(transcription)

Infrastructure

Hardware

ComponentSpecification
GPUNVIDIA GeForce RTX 4090
GPU Memory47.4 GB
GPU Count1
CUDA Compute Capability8.9

Environment

PackageVersion
Python3.12.12
PyTorch2.8.0+cu128
CUDA12.8
Transformers4.57.3
Datasets2.21.0
Evaluate0.4.6

Training Time

MetricValue
Total training time9:19:55.517378
Training started2025-12-26 09:54:06
Training completed2025-12-26 19:14:02

Experiment Details

PropertyValue
Experiment IDwhisper-medium-002
WandB Projectdido-yvanchik-stt
WandB Runwhisper-medium-002

Citation

If you use this model, please cite:

bibtex
@misc{KSE-RESEARCH-Group-whisper-medium-dido-yvanchyk-v2,
  author = {KSE-RESEARCH-Group},
  title = {whisper-medium - Fine-tuned for Ukrainian ASR},
  year = {2025},
  publisher = {Hugging Face},
  url = {https://huggingface.co/KSE-RESEARCH-Group/whisper-medium-dido-yvanchyk-v2}
}

License

This model is released under the MIT license.

Acknowledgements