/ Модель

Характеристики

Лицензия
Apache 2.0
Архитектура
whisper · dense
Базовая модель
whisper-small
Опубликована
2 сен 2026

whisper-small-santali-coded

Распознавание речиАудио → текст4 профессии

Дообученная Whisper-small транскрибирует речь на сантали в латинской орфографии Sanlish.

19скачиваний за 30 дней0лайковвеса обновлены2 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Распознавание речи» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Модель thunderboltc/whisper-small-santali-coded — полноценно дообученная версия Whisper-small от OpenAI для распознавания устной сантали с выдачей транскрипции латиницей в орфографии Sanlish. Дообучены все параметры энкодера, декодера и выходной головы; размер базовой модели — около 244 млн параметров. Модель принимает аудио и генерирует текст, а при запуске для распознавания следует явно задавать задачу transcribe.

Модель предназначена для транскрибирования аудиозаписей на сантали в Sanlish. На отложенном тестовом наборе из 193 примеров указаны WER 28,82% и CER 4,89%. Модель обучалась на сравнительно небольшом пользовательском наборе данных, поэтому качество может снижаться для незнакомых говорящих, диалектов и условий записи; автоматическое определение языка Whisper для этого чекпойнта не следует считать надёжным. Обучение остановилось на 17-й эпохе из запланированных 20. Лицензия — Apache-2.0.

Сценарии применения

  • транскрибирование аудиозаписей на сантали в Sanlish
  • создание текстовых субтитров для речи на сантали
  • подготовка текстовых расшифровок полевых интервью на сантали

Ограничения

Обучение прервано на 17-й из 20 запланированных эпох; небольшой обучающий набор может ограничивать перенос на другие диалекты, говорящих и условия записи. Для инференса следует явно задавать task="transcribe" и не полагаться на автоматическое определение языка.

Для каких профессий подходит4

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

whisper-small-santali-coded

A full fine-tune of openai/whisper-small for automatic speech recognition on Santali, transcribed into Sanlish — a Latin-script romanization scheme for Santali speech.

Model description

Unlike partial-freeze / adapter-style approaches, every parameter of the base Whisper-small checkpoint (encoder, decoder, and output head) was fine-tuned. No language tag was pinned during tokenization or generation (generation_config.language = None), so the model was not steered toward Bengali or any other Whisper-supported language — it learned Sanlish surface forms purely from the fine-tuning data.

  • Base model: openai/whisper-small (~244M params)
  • Fine-tuning strategy: full fine-tune, no frozen layers
  • Task: speech transcription (audio → Sanlish text)
  • Language tag: none pinned (language-agnostic decoding)

Training data

  • Source: custom Santali audio + Sanlish transliteration dataset
  • Splits: train / validation / test (santali_train.csv, santali_val.csv, santali_test.csv)
  • Format: audio_path (16kHz audio) → sanlish (target transliteration text)

Training procedure

HyperparameterValue
Base checkpointopenai/whisper-small
Learning rate2e-5
Weight decay0.1
Batch size (train)16
Epochs (planned / completed)20 planned, 17 completed (training interrupted by a runtime disconnect)
Warmup stepscomputed dynamically as 10% of total training steps
Eval/save strategyevery epoch
Early stoppingpatience 5 (on validation WER) — not yet triggered when training stopped
Metric for best modelWER (lower is better)

Evaluation results

Per-epoch validation metrics (normalized WER/CER — lowercased, punctuation-stripped):

EpochTrain LossVal LossWER (%)CER (%)
11.81450.664154.5111.61
30.18100.426336.376.60
80.01420.484533.305.92
100.00680.490331.505.58
14 (best WER)0.00060.519731.075.39
17 (checkpoint on main)0.00030.526631.185.41

Note: validation loss bottoms out around epoch 3 and rises afterward while WER/CER keep improving slightly — a sign of overfitting on the loss objective that hasn't yet hurt transcription accuracy. Epoch 14 had the lowest validation WER of the run; epoch 17 (the last checkpoint pushed before the training runtime disconnected) is marginally behind it and is what's currently on main. Earlier epoch checkpoints are available in this repo's commit history.

Test set: 28.82% WER, 4.89% CER — evaluated on the held-out test split (193 examples), using the epoch-17 checkpoint currently on main.

Limitations

  • Training did not complete its full 20-epoch schedule (interrupted at epoch 17), and early stopping had not yet triggered.
  • Fine-tuned on a relatively small custom dataset for a low-resource language variant; may not generalize to speakers, dialects, or recording conditions outside the training distribution.
  • No language tag is pinned, so downstream users should explicitly pass task="transcribe" at inference and not rely on Whisper's automatic language detection for this checkpoint.

Usage

from transformers import WhisperForConditionalGeneration, WhisperProcessor

model = WhisperForConditionalGeneration.from_pretrained("thunderboltc/whisper-small-santali-coded")
processor = WhisperProcessor.from_pretrained("thunderboltc/whisper-small-santali-coded", task="transcribe")

model.generation_config.language = None
model.generation_config.task = "transcribe"

# input_features = processor(audio_array, sampling_rate=16000, return_tensors="pt").input_features
# predicted_ids = model.generate(input_features)
# transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
WhisperForConditionalGeneration
Ревизия весов
f40dea1

0 моделей