Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Benchmark for WhisperAX & CLI #28

Closed
ZachNagengast opened this issue Feb 16, 2024 · 1 comment
Closed

Benchmark for WhisperAX & CLI #28

ZachNagengast opened this issue Feb 16, 2024 · 1 comment
Labels
feature New feature or request triaged This issue has been looked at and prioritized by a maintainer

Comments

@ZachNagengast
Copy link
Contributor

ZachNagengast commented Feb 16, 2024

It would be great to start collecting reproducible performance benchmarks for supported hardware (e.g. A14+ and M1+). This should be a self-contained function that uses openai/whisper-base by default and optionally other versions that the benchmark submitter selects. Benchmarks should run on a standard set of audio files and reports should be in a digestible and shareable format:

Psuedo-code may look like this:

  1. Detect current hardware and load the models that the user has chosen to benchmark (single, multiple, or all available models)
  2. Download standard audio files from Hugging (jfk.wav for short-form, ted_60.wav and a sample clip from earnings22 for long-form transcriptions)
  3. Generate the transcriptions over several iterations and runtime tabulate statistics.
    • Runs in streaming and file-based "offline" mode - this will require streaming emulation
    • Completes short-form bench and presents results before moving to long-form bench which can potentially take several minutes to complete
    • Will want to track: time to first token, RTF, inference timings (for encoder and decoder), total pipeline timings (model load -> transcription result)
  4. Export these into a markdown table with relevant device info, and current commit hash, which can be posted to GitHub for public tracking

References

Open ASR leaderboard benchmarks: https://github.com/huggingface/open_asr_leaderboard
Nice script for collecting environment info: https://github.com/pytorch/pytorch/blob/main/torch/utils/collect_env.py

Related Issue

#5

@ZachNagengast ZachNagengast converted this from a draft issue Feb 16, 2024
@ZachNagengast ZachNagengast added feature New feature or request triaged This issue has been looked at and prioritized by a maintainer labels Feb 16, 2024
@ZachNagengast ZachNagengast moved this from TODO: Features to TODO in WhisperKit Mar 28, 2024
@ZachNagengast ZachNagengast linked a pull request Jun 25, 2024 that will close this issue
4 tasks
@ZachNagengast ZachNagengast removed a link to a pull request Jun 25, 2024
4 tasks
@atiorh atiorh closed this as completed Nov 2, 2024
@github-project-automation github-project-automation bot moved this from TODO to Done in WhisperKit Nov 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request triaged This issue has been looked at and prioritized by a maintainer
Projects
Status: Done
Development

No branches or pull requests

2 participants