fitlemon's picture
Update README.md
158eb34 verified
metadata
license: apache-2.0
base_model: openai/whisper-small
tags:
  - generated_from_trainer
metrics:
  - accuracy
  - f1
model-index:
  - name: whisper-small-uz-en-ru-lang-id
    results: []
datasets:
  - mozilla-foundation/common_voice_16_1
language:
  - uz
  - en
  - ru
pipeline_tag: audio-classification

whisper-small-uz-en-ru-lang-id

This model is a fine-tuned version of openai/whisper-small on the "mozilla-foundation/common_voice_16_1"(uz/en/ru) dataset. It achieves the following results on the validation set during training:

  • Loss: 0.2065
  • Accuracy: 0.9747
  • F1: 0.9746

Accuracy on the test (evaluation) dataset: 92.4%.

Model description

More information needed

Intended uses & limitations

More information needed

Training and evaluation data

# datasets for each language from the set {uz: Uzbek, en: English, ru: Russian}
common_voice_train_uz = load_dataset("mozilla-foundation/common_voice_16_1", "uz", split='train', trust_remote_code=True, token=env('HUGGING_TOKEN'), streaming=True)
common_voice_train_ru = load_dataset("mozilla-foundation/common_voice_16_1", "ru", split='train', trust_remote_code=True, token=env('HUGGING_TOKEN'), streaming=True)
common_voice_train_en = load_dataset("mozilla-foundation/common_voice_16_1", "en", split='train', trust_remote_code=True, token=env('HUGGING_TOKEN'), streaming=True)
common_voice_valid_uz = load_dataset("mozilla-foundation/common_voice_16_1", "uz", split='validation', trust_remote_code=True, token=env('HUGGING_TOKEN'), streaming=True)
common_voice_valid_ru = load_dataset("mozilla-foundation/common_voice_16_1", "ru", split='validation', trust_remote_code=True, token=env('HUGGING_TOKEN'), streaming=True)
common_voice_valid_en = load_dataset("mozilla-foundation/common_voice_16_1", "en", split='validation', trust_remote_code=True, token=env('HUGGING_TOKEN'), streaming=True)

# code to shuffle and to take limited size of data. Rows per set: Train-24000, Validation-3000.
... 
# concatenate 3 datasets
common_voice['train'] = concatenate_datasets([common_voice_train_uz, common_voice_train_ru, common_voice_train_en])

Training procedure

Used Trainer from transformers. Training and evaluation process are described in the Jupyter notebook, storing in the following github repository:

https://github.com/fitlemon/whisper-small-uz-en-ru-lang-id

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 3e-05
  • train_batch_size: 2
  • eval_batch_size: 2
  • seed: 42
  • gradient_accumulation_steps: 4
  • total_train_batch_size: 8
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_ratio: 0.1
  • training_steps: 9000
  • mixed_precision_training: Native AMP

Training results

Training Loss Epoch Step Validation Loss Accuracy F1
0.0252 1 3000 0.3089 0.953 0.9525
0.0357 2 6000 0.1732 0.964 0.9637
0.0 3 9000 0.2065 0.9747 0.9746

Framework versions

  • Transformers 4.38.2
  • Pytorch 2.2.1+cu121
  • Datasets 2.17.1
  • Tokenizers 0.15.2