File size: 8,067 Bytes
649fe98
 
2bf1498
649fe98
 
 
26d5d47
649fe98
 
 
7d72467
649fe98
7f6e399
25d09e3
649fe98
 
7f6e399
abec713
022e1cd
7f6e399
6c387ef
7f6e399
 
6c387ef
7f6e399
649fe98
7f6e399
649fe98
7f6e399
 
5a6d694
 
 
649fe98
7f6e399
649fe98
 
7f6e399
649fe98
abec713
7f6e399
 
 
649fe98
7f6e399
649fe98
abec713
47ebbeb
7f6e399
47ebbeb
7f6e399
47ebbeb
7f6e399
 
 
 
 
649fe98
7f6e399
 
 
5a6d694
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8e185ed
649fe98
647d5c7
 
8e185ed
649fe98
 
 
 
 
1dc564d
649fe98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
---
library_name: pytorch
license: other
tags:
- backbone
- android
pipeline_tag: automatic-speech-recognition

---

![](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/huggingface_wavlm_base_plus/web-assets/model_demo.png)

# HuggingFace-WavLM-Base-Plus: Optimized for Qualcomm Devices

HuggingFaceWavLMBasePlus is a real time speech processing backbone based on Microsoft's WavLM model.

This is based on the implementation of HuggingFace-WavLM-Base-Plus found [here](https://huggingface.co/patrickvonplaten/wavlm-libri-clean-100h-base-plus/tree/main).
This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the [Qualcomm® AI Hub Models](https://github.com/qualcomm/ai-hub-models/blob/main/src/qai_hub_models/models/huggingface_wavlm_base_plus) library to export with custom configurations. More details on model performance across various devices, can be found [here](#performance-summary).

Qualcomm AI Hub Models uses [Qualcomm AI Hub Workbench](https://workbench.aihub.qualcomm.com) to compile, profile, and evaluate this model. [Sign up](https://myaccount.qualcomm.com/signup) 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 |
|---|---|---|---|---|
| ONNX | float | Universal | QAIRT 2.42, ONNX Runtime 1.25.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/huggingface_wavlm_base_plus/releases/v0.55.0/huggingface_wavlm_base_plus-onnx-float.zip)
| QNN_DLC | float | Universal | QAIRT 2.45 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/huggingface_wavlm_base_plus/releases/v0.55.0/huggingface_wavlm_base_plus-qnn_dlc-float.zip)
| TFLITE | float | Universal | QAIRT 2.45 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/huggingface_wavlm_base_plus/releases/v0.55.0/huggingface_wavlm_base_plus-tflite-float.zip)

For more device-specific assets and performance metrics, visit **[HuggingFace-WavLM-Base-Plus on Qualcomm® AI Hub](https://aihub.qualcomm.com/models/huggingface_wavlm_base_plus)**.


### Option 2: Export with Custom Configurations

Use the [Qualcomm® AI Hub Models](https://github.com/qualcomm/ai-hub-models/blob/main/src/qai_hub_models/models/huggingface_wavlm_base_plus) 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 [HuggingFace-WavLM-Base-Plus on GitHub](https://github.com/qualcomm/ai-hub-models/blob/main/src/qai_hub_models/models/huggingface_wavlm_base_plus) for usage instructions.

## Model Details

**Model Type:** Model_use_case.speech_recognition

**Model Stats:**
- Model checkpoint: wavlm-libri-clean-100h-base-plus
- Input resolution: 1x320000
- Number of parameters: 95.1M
- Model size (float): 363 MB

## Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit
|---|---|---|---|---|---|---
| HuggingFace-WavLM-Base-Plus | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 140.019 ms | 1 - 1177 MB | NPU
| HuggingFace-WavLM-Base-Plus | ONNX | float | Snapdragon® X2 Elite | 137.668 ms | 180 - 180 MB | NPU
| HuggingFace-WavLM-Base-Plus | ONNX | float | Snapdragon® X Elite | 311.924 ms | 205 - 205 MB | NPU
| HuggingFace-WavLM-Base-Plus | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 251.325 ms | 1 - 1413 MB | NPU
| HuggingFace-WavLM-Base-Plus | ONNX | float | Qualcomm® QCS8550 (Proxy) | 328.759 ms | 0 - 227 MB | NPU
| HuggingFace-WavLM-Base-Plus | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 177.21 ms | 1 - 1144 MB | NPU
| HuggingFace-WavLM-Base-Plus | ONNX | float | Qualcomm® QCS9075 | 387.221 ms | 1 - 46 MB | NPU
| HuggingFace-WavLM-Base-Plus | ONNX | float | Qualcomm® QCS8750 | 177.21 ms | 1 - 1144 MB | NPU
| HuggingFace-WavLM-Base-Plus | ONNX | float | Qualcomm® QCS7181 | 311.924 ms | 205 - 205 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 129.22 ms | 0 - 1144 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Snapdragon® X2 Elite | 125.695 ms | 1 - 1 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Snapdragon® X Elite | 293.892 ms | 1 - 1 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 227.388 ms | 0 - 1464 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Qualcomm® QCS8275 | 844.659 ms | 1 - 1090 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 296.482 ms | 1 - 4 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Qualcomm® SA8775P | 337.247 ms | 1 - 1098 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Qualcomm® SA8650P | 337.247 ms | 1 - 1098 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Qualcomm® SA8255P | 337.247 ms | 1 - 1098 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 573.586 ms | 0 - 1584 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Qualcomm® SA7255P | 844.659 ms | 1 - 1090 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Qualcomm® SA8295P | 438.351 ms | 1 - 1214 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 164.825 ms | 1 - 1069 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Qualcomm® QCS9075 | 365.245 ms | 1 - 3 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Qualcomm® QCS8750 | 164.825 ms | 1 - 1069 MB | NPU
| HuggingFace-WavLM-Base-Plus | QNN_DLC | float | Qualcomm® QCS7181 | 293.892 ms | 1 - 1 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 166.44 ms | 0 - 1194 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 309.3 ms | 0 - 1597 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Qualcomm® QCS8275 | 939.668 ms | 1 - 1176 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 403.612 ms | 0 - 4 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Qualcomm® SA8775P | 431.674 ms | 1 - 1179 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Qualcomm® SA8650P | 431.674 ms | 1 - 1179 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Qualcomm® SA8255P | 431.674 ms | 1 - 1179 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 617.429 ms | 1 - 1734 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Qualcomm® SA7255P | 939.668 ms | 1 - 1176 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Qualcomm® SA8295P | 527.024 ms | 0 - 1259 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 199.694 ms | 0 - 1176 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Qualcomm® QCS9075 | 475.563 ms | 0 - 212 MB | NPU
| HuggingFace-WavLM-Base-Plus | TFLITE | float | Qualcomm® QCS8750 | 199.694 ms | 0 - 1176 MB | NPU

## License
* The license for the original implementation of HuggingFace-WavLM-Base-Plus can be found
  [here](https://github.com/microsoft/unilm/blob/master/LICENSE).

## References
* [WavLM: Large-Scale Self-Supervised Pre-Training for Full Stack Speech Processing](https://arxiv.org/abs/2110.13900)
* [Source Model Implementation](https://huggingface.co/patrickvonplaten/wavlm-libri-clean-100h-base-plus/tree/main)

## Community
* Join [our AI Hub Slack community](https://aihub.qualcomm.com/community/slack) to collaborate, post questions and learn more about on-device AI.
* For questions or feedback please [reach out to us](mailto:ai-hub-support@qti.qualcomm.com).