Skip to content

Commit 9caef99

Browse files
committed
Update README.md
Signed-off-by: smajumdar <[email protected]>
1 parent 8522cb7 commit 9caef99

File tree

1 file changed

+57
-2
lines changed

1 file changed

+57
-2
lines changed

README.md

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,60 @@
11
# Open ASR Leaderboard
22

3-
An effort to build reselient and fault tolerant evaluation framework for open source/ access speech recognition models.
3+
This repository contains the code for the Open ASR Leaderboard. The leaderboard is a Gradio Space that allows users to compare the accuracy of ASR models on a variety of datasets. The leaderboard is hosted at [open-asr-leaderboard/leaderboard](https://huggingface.co/spaces/open-asr-leaderboard/leaderboard).
44

5-
⚠️ Currently WIP! We'll add more instructions soon!
5+
# Requirements
6+
7+
Each library has its own set of requirements. We recommend using a clean conda environment, with Python 3.10 or above.
8+
9+
1) Clone this repository.
10+
2) Install PyTorch by following the instructions here: https://pytorch.org/get-started/locally/
11+
3) Install the common requirements for all library by running `pip install -r requirements/requirements.txt`.
12+
4) Install the requirements for each library you wish to evalaute by running `pip install -r requirements/requirements_<library_name>.txt`.
13+
14+
15+
# Evaluate a model
16+
17+
Each library has a script `run_eval.py` that acts as the entry point for evaluating a model. The script is run by the corresponding bash script for each model that is being evalauted. The script then outputs a JSONL file containing the predictions of the model on each dataset, and summarizes the Word Error Rate of the model on each dataset after completion.
18+
19+
1) Change directory into the library you wish to evaluate. For example, `cd transformers`.
20+
2) Run the bash script for the model you wish to evaluate. For example, `bash run_wav2vec2.sh`.
21+
3) **Note**: All evaluations are done on single GPU. If you wish to run two scripts in parallel, please use `CUDA_VISIBLE_DEVICES=<0,1,...N-1>` prior to running the bash script, where `N` is the number of GPUs on your machine.
22+
23+
# Add a new library
24+
25+
To add a new library for evalution in this benchmark, please follow the steps below:
26+
27+
1) Fork this repository and create a new branch.
28+
2) Create a new directory for your library. For example, `mkdir transformers`.
29+
3) Copy the `run_eval.py` script from an existing library into your new directory. For example, `cp transformers/run_eval.py <your_library>/run_eval.py`.
30+
- Modify the script as needed, but please try to keep the structure of the script the same as others.
31+
- In particular, the data loading, evaluation and manifest writing must be done in the same way as other libraries.
32+
4) Create one bash file per model type following the convesion `run_<model_type>.sh`.
33+
- The bash script should follow the same steps as other libraries.
34+
- Different model sizes of the same type should share the script. For example `Wav2Vec` and `Wav2Vec2` would be two separate scripts, but different size of `Wav2Vec2` would be part of the same script.
35+
5) (Optional) You could also add a `compute_rtf.py` script for your library to evaluate the Real Time Factor of the model.
36+
6) Submit a PR for your changes.
37+
38+
# Add a new model
39+
40+
To add a new model for evalution in this benchmark, you can follow most of the steps noted above.
41+
42+
Since the library already exists in the benchmark, we can simplify the steps to:
43+
44+
1) If the model is already supported, but of a different size, simply add the new model size to the list of models run by the corresponding bash script.
45+
2) If the model is entirely new, create a new bash script based on others of that library and add the new model and its sizes to that script.
46+
3) Run the evaluation script to obtain a list of predictions for the new model on each of the datasets.
47+
4) Submit a PR for your changes.
48+
49+
# Citation
50+
51+
52+
```bibtex
53+
@misc{open-asr-leaderboard,
54+
title = {Open Automatic Speech Recognition Leaderboard},
55+
author = {Srivastav, Vaibhav and Majumdar, Somshubra and Koluguri, Nithin and Moumen, Adel and Gandhi, Sanchit and Hugging Face Team and Nvidia NeMo Team and SpeechBrain Team},
56+
year = 2023,
57+
publisher = {Hugging Face},
58+
howpublished = "\\url{https://huggingface.co/spaces/huggingface.co/spaces/open-asr-leaderboard/leaderboard}"
59+
}
60+
```

0 commit comments

Comments
 (0)