Zipformer: Optimized for Qualcomm Devices

Zipformer streaming ASR (Automatic Speech Recognition) model is a state-of-the-art system designed for transcribing spoken language into written text streamingly. This model is based on the transformer architecture and has been optimized for edge inference by replacing 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 audios. Time to the first token is the encoder's latency, while time to each additional token is joiner's latency, where we assume a max decoded length specified below.

This is based on the implementation of Zipformer 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® X Elite QAIRT 2.37, ONNX Runtime 1.23.0 Download
PRECOMPILED_QNN_ONNX float Snapdragon® 8 Gen 3 Mobile QAIRT 2.37, ONNX Runtime 1.23.0 Download
PRECOMPILED_QNN_ONNX float Qualcomm® QCS8550 (Proxy) QAIRT 2.37, ONNX Runtime 1.23.0 Download
PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite For Galaxy Mobile QAIRT 2.37, ONNX Runtime 1.23.0 Download
PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite Gen 5 Mobile QAIRT 2.37, ONNX Runtime 1.23.0 Download
PRECOMPILED_QNN_ONNX float Qualcomm® QCS9075 QAIRT 2.37, ONNX Runtime 1.23.0 Download
QNN_CONTEXT_BINARY float Snapdragon® X Elite QAIRT 2.42 Download
QNN_CONTEXT_BINARY float Snapdragon® 8 Gen 3 Mobile QAIRT 2.42 Download
QNN_CONTEXT_BINARY float Qualcomm® QCS8275 (Proxy) QAIRT 2.42 Download
QNN_CONTEXT_BINARY float Qualcomm® QCS8550 (Proxy) QAIRT 2.42 Download
QNN_CONTEXT_BINARY float Qualcomm® SA8775P QAIRT 2.42 Download
QNN_CONTEXT_BINARY float Snapdragon® 8 Elite For Galaxy Mobile QAIRT 2.42 Download
QNN_CONTEXT_BINARY float Snapdragon® 8 Elite Gen 5 Mobile QAIRT 2.42 Download
QNN_CONTEXT_BINARY float Qualcomm® SA7255P QAIRT 2.42 Download
QNN_CONTEXT_BINARY float Qualcomm® SA8295P QAIRT 2.42 Download
QNN_CONTEXT_BINARY float Qualcomm® QCS9075 QAIRT 2.42 Download
QNN_CONTEXT_BINARY float Qualcomm® QCS8450 (Proxy) QAIRT 2.42 Download
QNN_CONTEXT_BINARY w16a16 Snapdragon® X Elite QAIRT 2.42 Download
QNN_CONTEXT_BINARY w16a16 Snapdragon® 8 Gen 3 Mobile QAIRT 2.42 Download
QNN_CONTEXT_BINARY w16a16 Qualcomm® QCS8275 (Proxy) QAIRT 2.42 Download
QNN_CONTEXT_BINARY w16a16 Qualcomm® QCS8550 (Proxy) QAIRT 2.42 Download
QNN_CONTEXT_BINARY w16a16 Qualcomm® SA8775P QAIRT 2.42 Download
QNN_CONTEXT_BINARY w16a16 Snapdragon® 8 Elite For Galaxy Mobile QAIRT 2.42 Download
QNN_CONTEXT_BINARY w16a16 Snapdragon® 8 Elite Gen 5 Mobile QAIRT 2.42 Download
QNN_CONTEXT_BINARY w16a16 Qualcomm® SA7255P QAIRT 2.42 Download
QNN_CONTEXT_BINARY w16a16 Qualcomm® QCS9075 QAIRT 2.42 Download

For more device-specific assets and performance metrics, visit Zipformer 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 Zipformer on GitHub for usage instructions.

Model Details

Model Type: Model_use_case.speech_recognition

Model Stats:

  • Model checkpoint: pfluo/k2fsa-zipformer-chinese-english-mixed
  • Input resolution: 80x71 (0.71 seconds audio)
  • Max decoded sequence length: 200 tokens
  • Number of parameters (ZipformerEncoder): 63.2M
  • Model size (ZipformerEncoder) (float): 242 MB
  • Number of parameters (ZipformerDecoder): 3.47M
  • Model size (ZipformerDecoder) (float): 13.2 MB
  • Number of parameters (ZipformerJoiner): 3.21M
  • Model size (ZipformerJoiner) (float): 12.2 MB

Performance Summary

Model Runtime Precision Chipset Inference Time (ms) Peak Memory Range (MB) Primary Compute Unit
ZipformerDecoder PRECOMPILED_QNN_ONNX float Snapdragon® X Elite 0.154 ms 7 - 7 MB NPU
ZipformerDecoder PRECOMPILED_QNN_ONNX float Snapdragon® 8 Gen 3 Mobile 0.2 ms 0 - 8 MB NPU
ZipformerDecoder PRECOMPILED_QNN_ONNX float Qualcomm® QCS8550 (Proxy) 0.211 ms 0 - 8 MB NPU
ZipformerDecoder PRECOMPILED_QNN_ONNX float Qualcomm® QCS9075 0.331 ms 0 - 3 MB NPU
ZipformerDecoder PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite For Galaxy Mobile 0.157 ms 0 - 12 MB NPU
ZipformerDecoder PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite Gen 5 Mobile 0.155 ms 0 - 11 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY float Snapdragon® X Elite 0.157 ms 0 - 0 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY float Snapdragon® 8 Gen 3 Mobile 0.054 ms 0 - 7 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY float Qualcomm® QCS8275 (Proxy) 0.317 ms 0 - 8 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY float Qualcomm® QCS8550 (Proxy) 0.072 ms 0 - 2 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY float Qualcomm® SA8775P 0.206 ms 0 - 5 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY float Qualcomm® QCS9075 0.119 ms 2 - 4 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY float Qualcomm® QCS8450 (Proxy) 0.099 ms 0 - 9 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY float Qualcomm® SA7255P 0.317 ms 0 - 8 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY float Qualcomm® SA8295P 0.328 ms 0 - 5 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY float Snapdragon® 8 Elite For Galaxy Mobile 0.045 ms 0 - 13 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY float Snapdragon® 8 Elite Gen 5 Mobile 0.043 ms 0 - 9 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY w16a16 Snapdragon® X Elite 0.151 ms 0 - 0 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY w16a16 Snapdragon® 8 Gen 3 Mobile 0.062 ms 0 - 7 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY w16a16 Qualcomm® QCS8275 (Proxy) 0.32 ms 0 - 8 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY w16a16 Qualcomm® QCS8550 (Proxy) 0.077 ms 0 - 2 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY w16a16 Qualcomm® SA8775P 0.228 ms 0 - 5 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY w16a16 Qualcomm® QCS9075 0.128 ms 2 - 4 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY w16a16 Qualcomm® SA7255P 0.32 ms 0 - 8 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY w16a16 Snapdragon® 8 Elite For Galaxy Mobile 0.046 ms 0 - 13 MB NPU
ZipformerDecoder QNN_CONTEXT_BINARY w16a16 Snapdragon® 8 Elite Gen 5 Mobile 0.045 ms 0 - 10 MB NPU
ZipformerEncoder PRECOMPILED_QNN_ONNX float Snapdragon® X Elite 9.807 ms 142 - 142 MB NPU
ZipformerEncoder PRECOMPILED_QNN_ONNX float Snapdragon® 8 Gen 3 Mobile 7.014 ms 9 - 17 MB NPU
ZipformerEncoder PRECOMPILED_QNN_ONNX float Qualcomm® QCS8550 (Proxy) 9.665 ms 10 - 11 MB NPU
ZipformerEncoder PRECOMPILED_QNN_ONNX float Qualcomm® QCS9075 11.071 ms 8 - 12 MB NPU
ZipformerEncoder PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite For Galaxy Mobile 5.879 ms 9 - 21 MB NPU
ZipformerEncoder PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite Gen 5 Mobile 5.367 ms 10 - 20 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY float Snapdragon® X Elite 9.567 ms 3 - 3 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY float Snapdragon® 8 Gen 3 Mobile 6.437 ms 2 - 12 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY float Qualcomm® QCS8275 (Proxy) 23.669 ms 3 - 10 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY float Qualcomm® QCS8550 (Proxy) 9.198 ms 3 - 5 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY float Qualcomm® SA8775P 10.839 ms 3 - 11 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY float Qualcomm® QCS9075 10.155 ms 3 - 7 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY float Qualcomm® QCS8450 (Proxy) 11.987 ms 2 - 12 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY float Qualcomm® SA7255P 23.669 ms 3 - 10 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY float Qualcomm® SA8295P 13.259 ms 1 - 6 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY float Snapdragon® 8 Elite For Galaxy Mobile 5.425 ms 17 - 26 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY float Snapdragon® 8 Elite Gen 5 Mobile 4.858 ms 3 - 12 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY w16a16 Snapdragon® X Elite 14.971 ms 1 - 1 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY w16a16 Snapdragon® 8 Gen 3 Mobile 12.47 ms 1 - 9 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY w16a16 Qualcomm® QCS8275 (Proxy) 28.245 ms 1 - 9 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY w16a16 Qualcomm® QCS8550 (Proxy) 16.135 ms 1 - 3 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY w16a16 Qualcomm® SA8775P 17.76 ms 1 - 10 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY w16a16 Qualcomm® QCS9075 17.93 ms 1 - 3 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY w16a16 Qualcomm® SA7255P 28.245 ms 1 - 9 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY w16a16 Snapdragon® 8 Elite For Galaxy Mobile 8.709 ms 1 - 10 MB NPU
ZipformerEncoder QNN_CONTEXT_BINARY w16a16 Snapdragon® 8 Elite Gen 5 Mobile 8.026 ms 1 - 11 MB NPU
ZipformerJoiner PRECOMPILED_QNN_ONNX float Snapdragon® X Elite 0.247 ms 6 - 6 MB NPU
ZipformerJoiner PRECOMPILED_QNN_ONNX float Snapdragon® 8 Gen 3 Mobile 0.328 ms 0 - 7 MB NPU
ZipformerJoiner PRECOMPILED_QNN_ONNX float Qualcomm® QCS8550 (Proxy) 0.352 ms 0 - 8 MB NPU
ZipformerJoiner PRECOMPILED_QNN_ONNX float Qualcomm® QCS9075 0.455 ms 0 - 3 MB NPU
ZipformerJoiner PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite For Galaxy Mobile 0.23 ms 0 - 7 MB NPU
ZipformerJoiner PRECOMPILED_QNN_ONNX float Snapdragon® 8 Elite Gen 5 Mobile 0.226 ms 0 - 11 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY float Snapdragon® X Elite 0.254 ms 0 - 0 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY float Snapdragon® 8 Gen 3 Mobile 0.158 ms 0 - 8 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY float Qualcomm® QCS8275 (Proxy) 0.456 ms 0 - 8 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY float Qualcomm® QCS8550 (Proxy) 0.186 ms 0 - 1 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY float Qualcomm® SA8775P 0.914 ms 0 - 8 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY float Qualcomm® QCS9075 0.232 ms 2 - 4 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY float Qualcomm® QCS8450 (Proxy) 0.233 ms 0 - 9 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY float Qualcomm® SA7255P 0.456 ms 0 - 8 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY float Qualcomm® SA8295P 0.46 ms 0 - 5 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY float Snapdragon® 8 Elite For Galaxy Mobile 0.135 ms 0 - 13 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY float Snapdragon® 8 Elite Gen 5 Mobile 0.129 ms 0 - 9 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY w16a16 Snapdragon® X Elite 0.243 ms 0 - 0 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY w16a16 Snapdragon® 8 Gen 3 Mobile 0.156 ms 0 - 7 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY w16a16 Qualcomm® QCS8275 (Proxy) 0.426 ms 0 - 8 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY w16a16 Qualcomm® QCS8550 (Proxy) 0.186 ms 0 - 1 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY w16a16 Qualcomm® SA8775P 0.894 ms 0 - 8 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY w16a16 Qualcomm® QCS9075 0.231 ms 0 - 2 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY w16a16 Qualcomm® SA7255P 0.426 ms 0 - 8 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY w16a16 Snapdragon® 8 Elite For Galaxy Mobile 0.133 ms 0 - 9 MB NPU
ZipformerJoiner QNN_CONTEXT_BINARY w16a16 Snapdragon® 8 Elite Gen 5 Mobile 0.121 ms 0 - 10 MB NPU

License

  • The license for the original implementation of Zipformer can be found here.

References

Community

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support