CoolFace
Modelpublic

nineninesix/kyrgyz-whisper-medium

sourceHugging Faceapache-2.0updated 10mo agoView on Hugging Face
0likes473downloads
Model Card

๐Ÿ‡ฐ๐Ÿ‡ฌ Whisper Medium - Kyrgyz, English, Russian Speech To Text model

Model Description

nineninesix/kyrgyz-whisper-medium is a fine-tuned multilingual speech recognition model based on OpenAI's Whisper Medium architecture. This model adds native Kyrgyz language support while maintaining strong performance on English and Russian.

Key Features

  • โ€”Kyrgyz language support via custom <|ky|> token.
  • โ€”Multilingual: Kyrgyz, English, and Russian.
  • โ€”Trained on ~2,000 hours of Kyrgyz audio + 40% English/Russian audio
  • โ€”Ready for further improvement with LoRA fine-tuning (see Colab Notebook)
  • โ€”Optimized for real-world, noisy audio conditions

Performance

WER Distributions on FLEURS Benchmark

The following visualization shows improvement after fine-tuning:

plot_medium

Key Observations:

  • โ€”Kyrgyz: Dramatic improvement from ~100% WER (unusable) โ†’ practical performance with peak around 0.2-0.4 WER
  • โ€”English & Russian: Some performance degradation compared to base model as trade-off for Kyrgyz support
  • โ€”Distributions shifted right (higher WER)
  • โ€”This is expected when adding a new language to a fixed-capacity model
  • โ€”Multi-language trade-off: The model sacrifices some accuracy on English/Russian to gain Kyrgyz capabilities
  • โ€”Benchmark Fleurs

Recommended Use Cases

  • โ€”Kyrgyz media transcription
  • โ€”Multilingual call centers
  • โ€”Educational content in Kyrgyz
  • โ€”Code-switching scenarios (common in Kyrgyzstan where people mix languages)
  • โ€”Foundation model for LoRA fine-tuning on clean Kyrgyz data

Technical Implementation

Custom Tokenizer Integration

python
from transformers import AutoTokenizer

# Load custom tokenizer with Kyrgyz support
tokenizer = AutoTokenizer.from_pretrained(
    "nineninesix/kyrgyz-whisper-medium",
    trust_remote_code=True, ### !!! important !!!
    language="kyrgyz",
    task="transcribe"
)

Kyrgyz Token Initialization

The <|ky|> token was initialized as an average of embeddings from linguistically similar languages:

python
embedding_ky = (embedding_ru + embedding_kk + embedding_tr) / 3

Usage

Pipeline Usage

python

import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline, WhisperFeatureExtractor, AutoTokenizer

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

model_id = "nineninesix/kyrgyz-whisper-medium"

model = AutoModelForSpeechSeq2Seq.from_pretrained(
    model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True)
model.to(device)

feature_extractor = WhisperFeatureExtractor.from_pretrained(model_id)

tokenizer = AutoTokenizer.from_pretrained(
    model_id,
    trust_remote_code=True, language="kyrgyz", task="transcribe")

pipe = pipeline(
    "automatic-speech-recognition",
    model=model,
    tokenizer=tokenizer,
    feature_extractor=feature_extractor,
    torch_dtype=torch_dtype,
    device=device
)

result = pipe("audio.mp3")
print(result['text'])

Further Fine-tuning with LoRA

This model serves as a foundation for domain-specific fine-tuning using LoRA (Low-Rank Adaptation).

Unsloth integration example: see this Google Colab

Benefits of LoRA fine-tuning:

  • โ€”Adapt to specific domains (medical, legal, conversational)
  • โ€”Memory-efficient training
  • โ€”Faster training than full fine-tuning
  • โ€”Improved accuracy on clean datasets

Limitations

  • โ€”Trained on noisy data - may have higher WER on clean benchmarks vs. clean-trained models
  • โ€”Best performance on Kyrgyz, English, and Russian (other languages not supported)
  • โ€”Requires custom tokenizer for Kyrgyz language support
  • โ€”May require domain-specific fine-tuning for specialized applications

Citation

bibtex
@misc{kyrgyz-whisper-medium,
  author = {nineninesix},
  title = {Whisper Medium - Kyrgyz, English, Russian},
  year = {2025},
  publisher = {HuggingFace},
  url = {https://huggingface.co/nineninesix/kyrgyz-whisper-medium}
}

@misc{radford2022whisper,
  doi = {10.48550/ARXIV.2212.04356},
  url = {https://arxiv.org/abs/2212.04356},
  author = {Radford, Alec and Kim, Jong Wook and Xu, Tao and Brockman, Greg and McLeavey, Christine and Sutskever, Ilya},
  title = {Robust Speech Recognition via Large-Scale Weak Supervision},
  publisher = {arXiv},
  year = {2022},
  copyright = {arXiv.org perpetual, non-exclusive license}
}

Acknowledgments

  • โ€”Based on OpenAI's Whisper architecture
  • โ€”Kyrgyz tokenizer: kyrgyz-ai/whisper_tokenizer_ky
  • โ€”Training datasets: Kyrgyz ASR community contributions
  • โ€”Inspired by multilingual ASR research

License

Apache 2.0 - see LICENSE file for details.