aceOfDiamonds commited on
Commit
f3fa2d5
·
1 Parent(s): 43638c9

Add Vulkan variants (fp16, int8)

Browse files

Encode runs on Vulkan, decode stays on XNNPACK. Exported with the
conv1d-as-conv2d lowering, the slice-based STFT magnitude, hoisted
cross-attention K/V and a head-major KV layout. The int8 build quantizes
every decode-side linear; encode is identical between the two.

Requires the ExecuTorch 1.4.1 Vulkan runtime from the v0.10.0-libs-1.4.1
artifacts.

.gitattributes CHANGED
@@ -38,3 +38,5 @@ xnnpack/whisper_small_xnnpack_fp32.pte filter=lfs diff=lfs merge=lfs -text
38
  coreml/whisper_small_coreml_fp16.pte filter=lfs diff=lfs merge=lfs -text
39
  mlx/whisper_small_mlx_bf16.pte filter=lfs diff=lfs merge=lfs -text
40
  mlx/whisper_small_mlx_int8.pte filter=lfs diff=lfs merge=lfs -text
 
 
 
38
  coreml/whisper_small_coreml_fp16.pte filter=lfs diff=lfs merge=lfs -text
39
  mlx/whisper_small_mlx_bf16.pte filter=lfs diff=lfs merge=lfs -text
40
  mlx/whisper_small_mlx_int8.pte filter=lfs diff=lfs merge=lfs -text
41
+ vulkan/whisper_small_vulkan_fp16.pte filter=lfs diff=lfs merge=lfs -text
42
+ vulkan/whisper_small_vulkan_int8.pte filter=lfs diff=lfs merge=lfs -text
vulkan/config.json ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://huggingface.co/software-mansion/react-native-executorch-spec/resolve/main/config.schema.json",
3
+ "model": "whisper_small",
4
+ "family": "whisper",
5
+ "capabilities": [
6
+ "speech-to-text"
7
+ ],
8
+ "backend": "vulkan",
9
+ "license": "apache-2.0",
10
+ "variants": [
11
+ {
12
+ "file": "whisper_small_vulkan_fp16.pte",
13
+ "precision": "fp16",
14
+ "quantized": false,
15
+ "default": true,
16
+ "methods": {
17
+ "decode": {
18
+ "inputs": [
19
+ {
20
+ "shape": [
21
+ 1,
22
+ 1
23
+ ],
24
+ "dtype": "int64"
25
+ },
26
+ {
27
+ "shape": [
28
+ 1
29
+ ],
30
+ "dtype": "int64"
31
+ },
32
+ {
33
+ "shape": [
34
+ 1,
35
+ 1500,
36
+ 18432
37
+ ],
38
+ "dtype": "float32"
39
+ }
40
+ ],
41
+ "outputs": [
42
+ {
43
+ "shape": [
44
+ 1,
45
+ 1,
46
+ 51865
47
+ ],
48
+ "dtype": "float32"
49
+ }
50
+ ]
51
+ },
52
+ "encode": {
53
+ "inputs": [
54
+ {
55
+ "shape": [
56
+ 480000
57
+ ],
58
+ "dtype": "float32"
59
+ }
60
+ ],
61
+ "outputs": [
62
+ {
63
+ "shape": [
64
+ 1,
65
+ 1500,
66
+ 18432
67
+ ],
68
+ "dtype": "float32"
69
+ }
70
+ ]
71
+ }
72
+ }
73
+ },
74
+ {
75
+ "file": "whisper_small_vulkan_int8.pte",
76
+ "precision": "int8",
77
+ "quantized": true,
78
+ "default": true,
79
+ "methods": {
80
+ "decode": {
81
+ "inputs": [
82
+ {
83
+ "shape": [
84
+ 1,
85
+ 1
86
+ ],
87
+ "dtype": "int64"
88
+ },
89
+ {
90
+ "shape": [
91
+ 1
92
+ ],
93
+ "dtype": "int64"
94
+ },
95
+ {
96
+ "shape": [
97
+ 1,
98
+ 1500,
99
+ 18432
100
+ ],
101
+ "dtype": "float32"
102
+ }
103
+ ],
104
+ "outputs": [
105
+ {
106
+ "shape": [
107
+ 1,
108
+ 1,
109
+ 51865
110
+ ],
111
+ "dtype": "float32"
112
+ }
113
+ ]
114
+ },
115
+ "encode": {
116
+ "inputs": [
117
+ {
118
+ "shape": [
119
+ 480000
120
+ ],
121
+ "dtype": "float32"
122
+ }
123
+ ],
124
+ "outputs": [
125
+ {
126
+ "shape": [
127
+ 1,
128
+ 1500,
129
+ 18432
130
+ ],
131
+ "dtype": "float32"
132
+ }
133
+ ]
134
+ }
135
+ }
136
+ }
137
+ ]
138
+ }
vulkan/whisper_small_vulkan_fp16.pte ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5ed2fbe2029de6b360facbfae73fe0519870c9e5be0f5f820ca8d85a7f12067b
3
+ size 923910016
vulkan/whisper_small_vulkan_int8.pte ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c85b767d9504af16d5cc6eeb1fa5ffe96f96c7603862a85ae17117a60af4661c
3
+ size 507794276