whisper-small-amet / README.md
drmeeseeks's picture
Update README.md
19bfa7d
metadata
license: apache-2.0
tags:
  - whisper-event
  - generated_from_trainer
datasets:
  - google/fleurs
metrics:
  - wer
model-index:
  - name: Whisper Small Amharic FLEURS
    results:
      - task:
          name: Automatic Speech Recognition
          type: automatic-speech-recognition
        dataset:
          name: google/fleurs am_et
          type: google/fleurs
          config: am_et
          split: validation
          args: am_et
        metrics:
          - name: Wer
            type: wer
            value: 103.08219178082192

Whisper Small Amharic FLEURS

This model is a fine-tuned version of openai/whisper-small on the google/fleurs am_et dataset. It achieves the following results on the evaluation set:

  • Loss: 6.8839
  • Wer: 103.0822

Model description

Intended uses & limitations

  • For experimentation and curiosity.
  • Based on the paper AXRIV and Benchmarking OpenAI Whisper for non-English ASR - Dan Shafer, there is a performance bias towards certain languages and curated datasets.
  • From the Whisper paper, am_et is a low resource language (Table E), with the WER results ranging from 120-229, based on model size. Whisper small WER=120.2, indicating more training time may improve the fine tuning.

Training and evaluation data

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 1e-05
  • train_batch_size: 64
  • eval_batch_size: 32
  • seed: 42
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_steps: 500
  • training_steps: 2000
  • mixed_precision_training: Native AMP

Training results

Training Loss Epoch Step Validation Loss Wer
0.9013 100.0 100 2.7090 171.5753
0.0002 200.0 200 3.7303 298.6301
0.0001 300.0 300 3.8287 239.3836
0.0001 400.0 400 3.8877 234.9315
0.0001 500.0 500 4.0561 316.4384
0.0001 600.0 600 4.2706 189.0411
0.0 700.0 700 4.4524 229.4521
0.0 800.0 800 4.6250 308.5616
0.0 900.0 900 4.7844 429.4521
0.0405 1000.0 1000 4.6182 206.8493
0.0002 1100.0 1100 5.5423 159.9315
0.0002 1200.0 1200 6.0517 151.7123
0.0002 1300.0 1300 6.3493 154.7945
0.0002 1400.0 1400 6.5431 138.6986
0.0002 1500.0 1500 6.6699 158.5616
0.0001 1600.0 1600 6.7591 160.2740
0.0001 1700.0 1700 6.8209 103.0822
0.0001 1800.0 1800 6.8562 103.0822
0.0001 1900.0 1900 6.8758 103.0822
0.0001 2000.0 2000 6.8839 103.0822

Recommendations

Limit training duration for smaller datasets to ~ 2000 to 3000 steps to avoid overfitting. 5000 steps using the HuggingFace - Whisper Small takes ~ 5hrs on A100 GPUs (1hr/1000 steps). Encountered RuntimeError: The size of tensor a (504) must match the size of tensor b (448) at non-singleton dimension 1 which is related to Trainer RuntimeError as some languages datasets have input lengths that have non-standard lengths. The link did not resolve my issue, and appears elsewhere too Training languagemodel – RuntimeError the expanded size of the tensor (100) must match the existing size (64) at non singleton dimension 1. To circumvent this issue, run.sh paremeters are adjusted. Then run python run_eval_whisper_streaming.py --model_id="openai/whisper-small" --dataset="google/fleurs" --config="am_et" --batch_size=32 --max_eval_samples=64 --device=0 --language="am" to find the WER score manually. Otherwise, erroring out during evaluation prevents the trained model from loading to HugginFace. Based on the paper AXRIV and Benchmarking OpenAI Whisper for non-English ASR - Dan Shafer, there is a performance bias towards certain languages and curated datasets. The OpenAI fintuning community event provided ample free GPU time to help develop the model further and improve WER scores.

Environmental Impact

Carbon emissions were estimated using the Machine Learning Impact calculator presented in Lacoste et al. (2019). In total roughly 100 hours were used primarily in US East/Asia Pacific (80%/20%), with AWS as the reference. Additional resources are available at Our World in Data - CO2 Emissions

  • Hardware Type: AMD EPYC 7J13 64-Core Processor (30 core VM) 197GB RAM, with NVIDIA A100-SXM 40GB
  • Hours Used: 100 hrs
  • Cloud Provider: Lambda Cloud GPU
  • Compute Region: US East/Asia Pacific
  • Carbon Emitted: 12 kg (GPU) + 13 kg (CPU) = 25 kg (the weight of 3 gallons of water)

Framework versions

  • Transformers 4.26.0.dev0
  • Pytorch 1.13.1+cu117
  • Datasets 2.8.1.dev0
  • Tokenizers 0.13.2

Citation

@misc{https://doi.org/10.48550/arxiv.2212.04356,
  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},
  keywords = {Audio and Speech Processing (eess.AS), Computation and Language (cs.CL), Machine Learning (cs.LG), Sound (cs.SD), FOS: Electrical engineering, electronic engineering, information engineering, FOS: Electrical engineering, electronic engineering, information engineering, FOS: Computer and information sciences, FOS: Computer and information sciences},
  title = {Robust Speech Recognition via Large-Scale Weak Supervision},
  publisher = {arXiv},
  year = {2022},
  copyright = {arXiv.org perpetual, non-exclusive license}
}

@article{owidco2andothergreenhousegasemissions,
    author = {Hannah Ritchie and Max Roser and Pablo Rosado},
    title = {CO₂ and Greenhouse Gas Emissions},
    journal = {Our World in Data},
    year = {2020},
    note = {https://ourworldindata.org/co2-and-other-greenhouse-gas-emissions}
}