10 comments

[ 2.4 ms ] story [ 31.5 ms ] thread
Whisper JAX is an optimised implementation of the Whisper model by OpenAI. It runs on JAX with a TPU v4-8 in the backend. Compared to PyTorch on an A100 GPU, it is over 70x faster, making it the fastest Whisper API available.
how does it compare to whisper.cpp?
Not a good comparison. CPU vs TPU. Also, whisper.cpp perf varies a ton depending on hardware. Avx512 or neural engine?
(comment deleted)
I've been looking for faster implementations of Whisper, the main drawback with Whisper Jax is that the performance comes from running on Google TPUs, which are much more expensive than GPUs.

On "normal" GPUs the fastest implementation I've found is https://github.com/guillaumekln/faster-whisper. Whisper.cpp works faster on a CPU, especially on Apple Silicon, but still nowhere near the performance you could get on a GPU (understandably).

How does Whisper Jax compares to faster-whisper on a GPU?

Yea, whisper runs fairly quickly on really old GPUs and leveraging CTranslate2 (underlying tech in your link) you need < 4GB of GPU RAM to run the large model.

This might be faster but an order of magnitude more expensive? Also, huge lockin to one provider.

jax and whisper-jax support running on GPUs in addition to TPUs, this particular demo just runs on a TPU.
Could this be used on device to generate closed captions of video on the fly?
Can Whisper-JAX also translate audio streams in real time from X -> Y, both of which are non-English languages?

Additionally I have tried Whisper JAX on JupyterHub and for some reason it does not transcribe/translate under 10 seconds for me. In fact, if an audio is 5 minutes long, it would still take 3-4 minutes for transcribing it, although I have followed the similar steps as the ones in the Kaggle notebook, posted by the Author themself. Any ideas/suggestions why this would be happenind would be really helpful.

Thank you!