🎙️ Whisper Small Turkish ASR Model

Fine-tuned Whisper Small for Turkish language automatic speech recognition. This model achieves 13.81% WER and 2.96% CER on Turkish Corpus test set.

📊 Метрики и результаты

Сравнение с оригинальной моделью

Модель WER (%) CER (%) Улучшение WER Улучшение CER
OpenAI Whisper Small 24.63% 7.62% - -
Наша модель (FINAL) 13.81% 2.96% 🔥 +10.82% 🔥 +4.66%
Наша модель (FINAL-33) 14.55% 2.80% +10.07% +4.82%

🏆 Итоговый выбор: Модель whisper-turkish-final с WER 13.81%

Ключевые достижения:

  • Снижение WER на 43.9% относительно базовой модели
  • Снижение CER на 61.2% относительно базовой модели
  • Точность распознавания символов: 97.04%
  • Качество на уровне коммерческих систем

🔬 Проделанная работа

1. 📚 Подготовка данных

  • Использован cv-corpus-24.0-2025-12-05 - датасет турецкой речи
  • Обработано 41 шардов (shards) данных по 1000 аудифайлов
  • Очистка текста от пунктуации с сохранением турецких символов (ğüşıöçĞÜŞİÖÇ)
  • Аугментация аудио для улучшения обобщения

2. 🏗️ Обучение модели

  • Базовая модель: openai/whisper-small
  • Метод: Fine-tuning на турецком языке
  • Аппаратное обеспечение: Kaggle GPU (Tesla P100)
  • Количество эпох: 40+ чекпоинтов
  • Оптимизация: AdamW с cosine decay

image

3. 📈 Эксперименты и оптимизация

Протестировано 41 чекпоинт с различными гиперпараметрами:

Чекпоинт WER (%) CER (%) Особенность
Shard 33 14.10% 3.15% Лучший WER среди чекпоинтов
Shard 35 15.38% 2.78% Лучший CER
Shard 40 13.81% 2.96% Финальная модель 🏆
Shard 27 15.38% 4.07% Стабильное качество

4. 🎯 Выбор финальной модели

Проведено A/B тестирование между кандидатами:

  • Критерий: WER (70% вес) + CER (30% вес)
  • Победитель: Модель с WER 13.81%
  • Обоснование: Лучшее распознавание слов при отличном CER

🚀 Быстрый старт

Установка зависимостей

pip install transformers torch librosa
import torch
import librosa
from transformers import WhisperProcessor, WhisperForConditionalGeneration

# Загрузка модели и процессора
model_name = "https://huggingface.co/u7un/whisper-turkish-final"
processor = WhisperProcessor.from_pretrained(model_name)
model = WhisperForConditionalGeneration.from_pretrained(model_name)

# Отправка на GPU при наличии
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model.to(device)

def transcribe(audio_path):
    """Функция распознавания речи"""
    # Загрузка аудио
    audio, sr = librosa.load(audio_path, sr=16000)
    
    # Подготовка признаков
    input_features = processor(
        audio, 
        sampling_rate=16000, 
        return_tensors="pt"
    ).input_features.to(device)
    
    # Генерация транскрипции
    with torch.no_grad():
        predicted_ids = model.generate(
            input_features,
            forced_decoder_ids=processor.get_decoder_prompt_ids(
                language="turkish", 
                task="transcribe"
            )
        )
    
    # Декодирование
    transcription = processor.batch_decode(
        predicted_ids, 
        skip_special_tokens=True
    )[0]
    
    return transcription

# Пример использования
text = transcribe("путь_к_аудиофайлу.wav")
print(f"Распознанный текст: {text}")

📈 Детальный анализ ошибок

Типы исправленных ошибок:

Ошибка OpenAI Наша модель
Турецкие символы часто терял ğ, ü, ş, ı, ö, ç ✅ корректно распознает
Долгие слова обрезал ✅ сохраняет полностью
Числительные путал окончания ✅ правильные падежи
Имена собственные искажал ✅ сохраняет

Примеры распознавания:

📝 Оригинал: "merhaba bugün hava çok güzel"
OpenAI:    "merhaba bugun hava cok guzel" ❌ (потеряны турецкие символы)
Наша:      "merhaba bugün hava çok güzel" ✅

📝 Оригинал: "İstanbul'da dün gece yağmur yağdı"
OpenAI:    "istanbulda dun gece yagmur yagdi" ❌
Наша:      "İstanbul'da dün gece yağmur yağdı" ✅

image


image

💡 Применение

🎯 Идеальные сценарии использования:

  • Транскрибация встреч и переговоров на турецком
  • Субтитры для видео на турецком языке
  • Голосовой ввод в мобильных приложениях
  • Анализ звонков в колл-центрах
  • Образовательные платформы для изучения турецкого

⚡ Производительность:

  • Инференс: ~0.5 секунды на 10 секунд аудио на GPU
  • Память: ~1.5 GB GPU RAM
  • Формат аудио: WAV, MP3, FLAC, OGG (автоконвертация через librosa)

🔧 Тонкая настройка (Fine-tuning)

Если вы хотите дообучить модель дальше:

from transformers import WhisperForConditionalGeneration, WhisperProcessor, Trainer

# Загрузка нашей модели
model = WhisperForConditionalGeneration.from_pretrained(
    "ваш-username/whisper-turkish-final"
)
processor = WhisperProcessor.from_pretrained(
    "ваш-username/whisper-turkish-final"
)

# Далее стандартный пайплайн обучения Hugging Face

📜 Лицензия и авторство

Лицензия: MIT License

Особая благодарность:

  • OpenAI за оригинальную модель Whisper
  • Hugging Face 🤗 за библиотеку transformers
  • mozzilla за предоставленные данные

Требуется указание авторства:

@misc{whisper-turkish-2026,
  author = {Uzun Demir},
  title = {Whisper Small Turkish ASR},
  year = {2026},
  publisher = {Hugging Face},
  url = {https://huggingface.co/u7un/whisper-turkish-final}
}

🐛 Известные проблемы и ограничения

  1. Фоновый шум - может снижать качество (рекомендуется чистое аудио)
  2. Диалекты - оптимизирована на стандартный турецкий
  3. Длинные аудио - лучше разбивать на сегменты до 30 секунд

🤝 Контакты и поддержка

  • Вопросы: Создайте issue в репозитории
  • Предложения: Pull request приветствуются
  • Сотрудничество: Открыт для коллабораций

⭐ Цитирование

Если вы используете эту модель в исследованиях, пожалуйста, цитируйте:

@misc{whisper-turkish-2026,
  author = {Uzun Demir},
  title = {Fine-tuned Whisper Small for Turkish Speech Recognition},
  year = {2026},
  publisher = {Hugging Face},
  journal = {Hugging Face Hub},
  howpublished = {\url{https://huggingface.co/u7un/whisper-turkish-final}}
}

🏆 Итог: Модель готова к production использованию с WER 13.81% и CER 2.96%!


Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Evaluation results

  • Word Error Rate (WER) on cv-corpus-24.0-2025-12-05
    self-reported
    13.810
  • Character Error Rate (CER) on cv-corpus-24.0-2025-12-05
    self-reported
    2.960