Whisper-Medium / README.md
qaihm-bot's picture
v0.55.0
adb8942 verified
metadata
library_name: pytorch
license: other
tags:
  - foundation
  - android
pipeline_tag: automatic-speech-recognition

Whisper-Medium: Optimized for Qualcomm Devices

HuggingFace Whisper-Medium ASR (Automatic Speech Recognition) model is a state-of-the-art system designed for transcribing spoken language into written text. This model is based on the transformer architecture and has been optimized for edge inference by replacing Multi-Head Attention (MHA) with Single-Head Attention (SHA) and linear layers with convolutional (conv) layers. It exhibits robust performance in realistic, noisy environments, making it highly reliable for real-world applications. Specifically, it excels in long-form transcription, capable of accurately transcribing audio clips up to 30 seconds long. Time to the first token is the encoder's latency, while time to each additional token is decoder's latency, where we assume a max decoded length specified below.

This is based on the implementation of Whisper-Medium found here. This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the Qualcomm® AI Hub Models library to export with custom configurations. More details on model performance across various devices, can be found here.

Qualcomm AI Hub Models uses Qualcomm AI Hub Workbench to compile, profile, and evaluate this model. Sign up to run these models on a hosted Qualcomm® device.

Getting Started

There are two ways to deploy this model on your device:

Option 1: Download Pre-Exported Models

Below are pre-exported model assets ready for deployment.

Runtime Precision Chipset SDK Versions Download
PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite Gen 5 Mobile QAIRT 2.42, ONNX Runtime 1.25.0 Download
PRECOMPILED_QNN_ONNX float Snapdragon® X2 Elite QAIRT 2.42, ONNX Runtime 1.25.0 Download
PRECOMPILED_QNN_ONNX float Snapdragon® X Elite QAIRT 2.42, ONNX Runtime 1.25.0 Download
PRECOMPILED_QNN_ONNX float Snapdragon® 8 Gen 3 Mobile QAIRT 2.42, ONNX Runtime 1.25.0 Download
PRECOMPILED_QNN_ONNX float Qualcomm® QCS8550 (Proxy) QAIRT 2.42, ONNX Runtime 1.25.0 Download
PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite For Galaxy Mobile QAIRT 2.42, ONNX Runtime 1.25.0 Download
PRECOMPILED_QNN_ONNX float Qualcomm® QCS9075 QAIRT 2.42, ONNX Runtime 1.25.0 Download
QNN_CONTEXT_BINARY float Snapdragon® 8 Elite Gen 5 Mobile QAIRT 2.45 Download
QNN_CONTEXT_BINARY float Snapdragon® X2 Elite QAIRT 2.45 Download
QNN_CONTEXT_BINARY float Snapdragon® X Elite QAIRT 2.45 Download
QNN_CONTEXT_BINARY float Snapdragon® 8 Gen 3 Mobile QAIRT 2.45 Download
QNN_CONTEXT_BINARY float Qualcomm® QCS8550 (Proxy) QAIRT 2.45 Download
QNN_CONTEXT_BINARY float Qualcomm® SA8775P QAIRT 2.45 Download
QNN_CONTEXT_BINARY float Snapdragon® 8 Elite For Galaxy Mobile QAIRT 2.45 Download
QNN_CONTEXT_BINARY float Qualcomm® SA7255P QAIRT 2.45 Download
QNN_CONTEXT_BINARY float Qualcomm® SA8295P QAIRT 2.45 Download
QNN_CONTEXT_BINARY float Qualcomm® QCS9075 QAIRT 2.45 Download
QNN_CONTEXT_BINARY float Qualcomm® QCS8450 (Proxy) QAIRT 2.45 Download

For more device-specific assets and performance metrics, visit Whisper-Medium on Qualcomm® AI Hub.

Option 2: Export with Custom Configurations

Use the Qualcomm® AI Hub Models Python library to compile and export the model with your own:

  • Custom weights (e.g., fine-tuned checkpoints)
  • Custom input shapes
  • Target device and runtime configurations

This option is ideal if you need to customize the model beyond the default configuration provided here.

See our repository for Whisper-Medium on GitHub for usage instructions.

Model Details

Model Type: Model_use_case.speech_recognition

Model Stats:

  • Model checkpoint: openai/whisper-medium
  • Input resolution: 80x3000 (30 seconds audio)
  • Max decoded sequence length: 200 tokens
  • Number of parameters (encoder): 384M
  • Model size (encoder) (float): 1.54GB
  • Number of parameters (decoder): 385M
  • Model size (decoder) (float): 1.54GB

Performance Summary

Model Runtime Precision Chipset Inference Time (ms) Peak Memory Range (MB) Primary Compute Unit
decoder PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite Gen 5 Mobile 20.601 ms 172 - 180 MB NPU
decoder PRECOMPILED_QNN_ONNX float Snapdragon® X2 Elite 17.771 ms 160 - 160 MB NPU
decoder PRECOMPILED_QNN_ONNX float Snapdragon® X Elite 26.878 ms 727 - 727 MB NPU
decoder PRECOMPILED_QNN_ONNX float Snapdragon® 8 Gen 3 Mobile 28.82 ms 201 - 213 MB NPU
decoder PRECOMPILED_QNN_ONNX float Qualcomm® QCS8550 (Proxy) 35.451 ms 0 - 733 MB NPU
decoder PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite For Galaxy Mobile 24.495 ms 101 - 112 MB NPU
decoder PRECOMPILED_QNN_ONNX float Qualcomm® QCS9075 36.949 ms 159 - 322 MB NPU
decoder PRECOMPILED_QNN_ONNX float Qualcomm® QCS8750 24.495 ms 101 - 112 MB NPU
decoder PRECOMPILED_QNN_ONNX float Qualcomm® QCS7181 26.878 ms 727 - 727 MB NPU
decoder QNN_CONTEXT_BINARY float Snapdragon® 8 Elite Gen 5 Mobile 20.931 ms 161 - 172 MB NPU
decoder QNN_CONTEXT_BINARY float Snapdragon® X2 Elite 18.658 ms 160 - 160 MB NPU
decoder QNN_CONTEXT_BINARY float Snapdragon® X Elite 27.122 ms 160 - 160 MB NPU
decoder QNN_CONTEXT_BINARY float Snapdragon® 8 Gen 3 Mobile 27.547 ms 135 - 144 MB NPU
decoder QNN_CONTEXT_BINARY float Qualcomm® QCS8550 (Proxy) 33.624 ms 160 - 163 MB NPU
decoder QNN_CONTEXT_BINARY float Qualcomm® SA8775P 36.646 ms 158 - 168 MB NPU
decoder QNN_CONTEXT_BINARY float Qualcomm® SA8650P 36.646 ms 158 - 168 MB NPU
decoder QNN_CONTEXT_BINARY float Qualcomm® SA8255P 36.646 ms 158 - 168 MB NPU
decoder QNN_CONTEXT_BINARY float Qualcomm® SA8295P 37.774 ms 106 - 113 MB NPU
decoder QNN_CONTEXT_BINARY float Qualcomm® QCS8450 (Proxy) 59.581 ms 160 - 177 MB NPU
decoder QNN_CONTEXT_BINARY float Snapdragon® 8 Elite For Galaxy Mobile 23.409 ms 136 - 150 MB NPU
decoder QNN_CONTEXT_BINARY float Qualcomm® QCS9075 37.363 ms 160 - 340 MB NPU
decoder QNN_CONTEXT_BINARY float Qualcomm® QCS8750 23.409 ms 136 - 150 MB NPU
decoder QNN_CONTEXT_BINARY float Qualcomm® QCS7181 27.122 ms 160 - 160 MB NPU
encoder PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite Gen 5 Mobile 147.763 ms 272 - 281 MB NPU
encoder PRECOMPILED_QNN_ONNX float Snapdragon® X2 Elite 145.028 ms 528 - 528 MB NPU
encoder PRECOMPILED_QNN_ONNX float Snapdragon® X Elite 332.419 ms 699 - 699 MB NPU
encoder PRECOMPILED_QNN_ONNX float Snapdragon® 8 Gen 3 Mobile 243.517 ms 305 - 317 MB NPU
encoder PRECOMPILED_QNN_ONNX float Qualcomm® QCS8550 (Proxy) 344.816 ms 297 - 299 MB NPU
encoder PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite For Galaxy Mobile 187.291 ms 308 - 319 MB NPU
encoder PRECOMPILED_QNN_ONNX float Qualcomm® QCS9075 406.189 ms 304 - 307 MB NPU
encoder PRECOMPILED_QNN_ONNX float Qualcomm® QCS8750 187.291 ms 308 - 319 MB NPU
encoder PRECOMPILED_QNN_ONNX float Qualcomm® QCS7181 332.419 ms 699 - 699 MB NPU
encoder QNN_CONTEXT_BINARY float Snapdragon® 8 Elite Gen 5 Mobile 153.018 ms 0 - 9 MB NPU
encoder QNN_CONTEXT_BINARY float Snapdragon® X2 Elite 152.887 ms 1 - 1 MB NPU
encoder QNN_CONTEXT_BINARY float Snapdragon® X Elite 368.292 ms 0 - 0 MB NPU
encoder QNN_CONTEXT_BINARY float Snapdragon® 8 Gen 3 Mobile 273.96 ms 2 - 9 MB NPU
encoder QNN_CONTEXT_BINARY float Qualcomm® QCS8550 (Proxy) 362.42 ms 0 - 4 MB NPU
encoder QNN_CONTEXT_BINARY float Qualcomm® SA8775P 440.777 ms 1 - 9 MB NPU
encoder QNN_CONTEXT_BINARY float Qualcomm® SA8650P 440.777 ms 1 - 9 MB NPU
encoder QNN_CONTEXT_BINARY float Qualcomm® SA8255P 440.777 ms 1 - 9 MB NPU
encoder QNN_CONTEXT_BINARY float Qualcomm® SA8295P 508.324 ms 1 - 6 MB NPU
encoder QNN_CONTEXT_BINARY float Qualcomm® QCS8450 (Proxy) 758.478 ms 0 - 14 MB NPU
encoder QNN_CONTEXT_BINARY float Snapdragon® 8 Elite For Galaxy Mobile 220.373 ms 1 - 14 MB NPU
encoder QNN_CONTEXT_BINARY float Qualcomm® QCS9075 438.624 ms 0 - 143 MB NPU
encoder QNN_CONTEXT_BINARY float Qualcomm® QCS8750 220.373 ms 1 - 14 MB NPU
encoder QNN_CONTEXT_BINARY float Qualcomm® QCS7181 368.292 ms 0 - 0 MB NPU

License

  • The license for the original implementation of Whisper-Medium can be found here.

References

Community