alpharomercoma commited on
Commit
09afd64
·
verified ·
1 Parent(s): 9758373

xnnpack 4k: HuggingFaceTB/SmolLM2-360M-Instruct@a10cc1512eab

Browse files
.gitattributes CHANGED
@@ -50,3 +50,4 @@ mtk/mt6991/SmolLM2-360M-Instruct-neuropilot-a16w8-4k-chunk1of4.pte filter=lfs di
50
  mtk/mt6991/SmolLM2-360M-Instruct-neuropilot-a16w8-4k-chunk3of4.pte filter=lfs diff=lfs merge=lfs -text
51
  mtk/mt6991/SmolLM2-360M-Instruct-neuropilot-a16w8-4k-chunk4of4.pte filter=lfs diff=lfs merge=lfs -text
52
  mtk/mt6991/SmolLM2-360M-Instruct-neuropilot-a16w8-4k-chunk2of4.pte filter=lfs diff=lfs merge=lfs -text
 
 
50
  mtk/mt6991/SmolLM2-360M-Instruct-neuropilot-a16w8-4k-chunk3of4.pte filter=lfs diff=lfs merge=lfs -text
51
  mtk/mt6991/SmolLM2-360M-Instruct-neuropilot-a16w8-4k-chunk4of4.pte filter=lfs diff=lfs merge=lfs -text
52
  mtk/mt6991/SmolLM2-360M-Instruct-neuropilot-a16w8-4k-chunk2of4.pte filter=lfs diff=lfs merge=lfs -text
53
+ xnnpack/SmolLM2-360M-Instruct-fp32-4k.pte filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -26,7 +26,7 @@ Windows in this repo: XNNPACK (CPU) at 2k to 16k; Vulkan (GPU) at 2k to 32k; Med
26
  | Backend | Target | File | Window | Size | Smoke test |
27
  |---|---|---|---|---|---|
28
  | XNNPACK (CPU) | any arm64 | [`xnnpack/SmolLM2-360M-Instruct-8da4w-2k.pte`](xnnpack/SmolLM2-360M-Instruct-8da4w-2k.pte) | 2,048 tokens | 0.25 GB | passed ("Paris") |
29
- | XNNPACK (CPU) | any arm64 | [`xnnpack/SmolLM2-360M-Instruct-8da4w-4k.pte`](xnnpack/SmolLM2-360M-Instruct-8da4w-4k.pte) | 4,096 tokens | 0.25 GB | passed ("Paris") |
30
  | XNNPACK (CPU) | any arm64 | [`xnnpack/SmolLM2-360M-Instruct-8da4w-8k.pte`](xnnpack/SmolLM2-360M-Instruct-8da4w-8k.pte) | 8,192 tokens | 0.26 GB | passed ("Paris") |
31
  | XNNPACK (CPU) | any arm64 | [`xnnpack/SmolLM2-360M-Instruct-8da4w-16k.pte`](xnnpack/SmolLM2-360M-Instruct-8da4w-16k.pte) | 16,384 tokens | 0.26 GB | passed ("Paris") |
32
  | Vulkan (GPU) | any arm64 | [`vulkan/SmolLM2-360M-Instruct-vulkan-8da4w-2k.pte`](vulkan/SmolLM2-360M-Instruct-vulkan-8da4w-2k.pte) | 2,048 tokens | 0.32 GB | structure checked (no host NPU runtime) |
@@ -61,7 +61,7 @@ Tokenizer: [`tokenizer.json`](tokenizer.json), copied unchanged from the source
61
 
62
  ## How it was made
63
 
64
- - XNNPACK (CPU) any arm64: ExecuTorch 1.4.0 `export_llm`: 8-bit dynamic activations and 4-bit weights in groups of 32, int8 per-channel embeddings, XNNPACK with extended ops, prefill chunk 2048, fp32 KV cache. Built by [run 1](https://github.com/ExperimentalMachines/executorch-model-exporter/actions/runs/34753839416).
65
  - Vulkan (GPU) any arm64: ExecuTorch 1.4.0 `export_llm`: 8-bit dynamic activations and 4-bit weights in groups of 32, int8 per-channel embeddings, the Vulkan delegate, prefill chunk 2048, fp32 KV cache. Built by [run 1](https://github.com/ExperimentalMachines/execupack/actions/runs/37157383005).
66
  - MediaTek NeuroPilot MT6991 (Dimensity 9400): ExecuTorch 1.4.0 MediaTek LLM export (`examples/mediatek`, `llama.py`): A16W8 (16-bit activations, 8-bit weights) calibrated on MediaTek's `alpaca.txt` prompts (9 of 9) in the qwen.json chat template, cut into 4 chunks, with a 128-token prompt graph and a one-token generation graph over a 2048-token cache, compiled with MediaTek NeuroPilot Express SDK (mtk_converter 8.13.0+public, mtk_neuron 8.2.23) for MT6991 (Dimensity 9400). Built by [run 1](https://github.com/ExperimentalMachines/execupack/actions/runs/37158194354).
67
  - MediaTek NeuroPilot MT6991 (Dimensity 9400): ExecuTorch 1.4.0 MediaTek LLM export (`examples/mediatek`, `llama.py`): A16W8 (16-bit activations, 8-bit weights) calibrated on MediaTek's `alpaca.txt` prompts (9 of 9) in the qwen.json chat template, cut into 4 chunks, with a 128-token prompt graph and a one-token generation graph over a 4096-token cache, compiled with MediaTek NeuroPilot Express SDK (mtk_converter 8.13.0+public, mtk_neuron 8.2.23) for MT6991 (Dimensity 9400). Built by [run 1](https://github.com/ExperimentalMachines/execupack/actions/runs/37158194354).
 
26
  | Backend | Target | File | Window | Size | Smoke test |
27
  |---|---|---|---|---|---|
28
  | XNNPACK (CPU) | any arm64 | [`xnnpack/SmolLM2-360M-Instruct-8da4w-2k.pte`](xnnpack/SmolLM2-360M-Instruct-8da4w-2k.pte) | 2,048 tokens | 0.25 GB | passed ("Paris") |
29
+ | XNNPACK (CPU) | any arm64 | [`xnnpack/SmolLM2-360M-Instruct-fp32-4k.pte`](xnnpack/SmolLM2-360M-Instruct-fp32-4k.pte) | 4,096 tokens | 1.50 GB | passed ("Paris") |
30
  | XNNPACK (CPU) | any arm64 | [`xnnpack/SmolLM2-360M-Instruct-8da4w-8k.pte`](xnnpack/SmolLM2-360M-Instruct-8da4w-8k.pte) | 8,192 tokens | 0.26 GB | passed ("Paris") |
31
  | XNNPACK (CPU) | any arm64 | [`xnnpack/SmolLM2-360M-Instruct-8da4w-16k.pte`](xnnpack/SmolLM2-360M-Instruct-8da4w-16k.pte) | 16,384 tokens | 0.26 GB | passed ("Paris") |
32
  | Vulkan (GPU) | any arm64 | [`vulkan/SmolLM2-360M-Instruct-vulkan-8da4w-2k.pte`](vulkan/SmolLM2-360M-Instruct-vulkan-8da4w-2k.pte) | 2,048 tokens | 0.32 GB | structure checked (no host NPU runtime) |
 
61
 
62
  ## How it was made
63
 
64
+ - XNNPACK (CPU) any arm64: ExecuTorch 1.4.0 `export_llm`: 8-bit dynamic activations and 4-bit weights in groups of 32, int8 per-channel embeddings, XNNPACK with extended ops, prefill chunk 2048, fp32 KV cache. Built by [run 1](https://github.com/ExperimentalMachines/execupack/actions/runs/37160993875), [run 2](https://github.com/ExperimentalMachines/executorch-model-exporter/actions/runs/34753839416).
65
  - Vulkan (GPU) any arm64: ExecuTorch 1.4.0 `export_llm`: 8-bit dynamic activations and 4-bit weights in groups of 32, int8 per-channel embeddings, the Vulkan delegate, prefill chunk 2048, fp32 KV cache. Built by [run 1](https://github.com/ExperimentalMachines/execupack/actions/runs/37157383005).
66
  - MediaTek NeuroPilot MT6991 (Dimensity 9400): ExecuTorch 1.4.0 MediaTek LLM export (`examples/mediatek`, `llama.py`): A16W8 (16-bit activations, 8-bit weights) calibrated on MediaTek's `alpaca.txt` prompts (9 of 9) in the qwen.json chat template, cut into 4 chunks, with a 128-token prompt graph and a one-token generation graph over a 2048-token cache, compiled with MediaTek NeuroPilot Express SDK (mtk_converter 8.13.0+public, mtk_neuron 8.2.23) for MT6991 (Dimensity 9400). Built by [run 1](https://github.com/ExperimentalMachines/execupack/actions/runs/37158194354).
67
  - MediaTek NeuroPilot MT6991 (Dimensity 9400): ExecuTorch 1.4.0 MediaTek LLM export (`examples/mediatek`, `llama.py`): A16W8 (16-bit activations, 8-bit weights) calibrated on MediaTek's `alpaca.txt` prompts (9 of 9) in the qwen.json chat template, cut into 4 chunks, with a 128-token prompt graph and a one-token generation graph over a 4096-token cache, compiled with MediaTek NeuroPilot Express SDK (mtk_converter 8.13.0+public, mtk_neuron 8.2.23) for MT6991 (Dimensity 9400). Built by [run 1](https://github.com/ExperimentalMachines/execupack/actions/runs/37158194354).
xnnpack/{SmolLM2-360M-Instruct-8da4w-4k.pte → SmolLM2-360M-Instruct-fp32-4k.pte} RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:4bf1d26291299e07118ab46ac8bed99aac76eb30c50382780b6ee2a157ebd768
3
- size 253938816
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5d573a8f154193fd8a9d4454fce58c7dbd75edda17f25b74db401ab997627875
3
+ size 1497383296
xnnpack/config.json CHANGED
@@ -30,12 +30,12 @@
30
  }
31
  },
32
  {
33
- "file": "SmolLM2-360M-Instruct-8da4w-4k.pte",
34
- "size_bytes": 253938816,
35
- "sha256": "4bf1d26291299e07118ab46ac8bed99aac76eb30c50382780b6ee2a157ebd768",
36
  "context": 4096,
37
  "source_revision": "a10cc1512eabd3dde888204e902eca88bddb4951",
38
- "quantization": "8da4w-g32, int8 embeddings",
39
  "fits_phone_budget": true,
40
  "methods": {
41
  "get_max_context_len": 4096,
 
30
  }
31
  },
32
  {
33
+ "file": "SmolLM2-360M-Instruct-fp32-4k.pte",
34
+ "size_bytes": 1497383296,
35
+ "sha256": "5d573a8f154193fd8a9d4454fce58c7dbd75edda17f25b74db401ab997627875",
36
  "context": 4096,
37
  "source_revision": "a10cc1512eabd3dde888204e902eca88bddb4951",
38
+ "quantization": "fp32-g32, int8 embeddings, int4 codes rounded to nearest",
39
  "fits_phone_budget": true,
40
  "methods": {
41
  "get_max_context_len": 4096,
xnnpack/export-report-4k.json CHANGED
@@ -38,12 +38,15 @@
38
  "use_hf_rope": false,
39
  "attention_qkv_bias": false
40
  },
41
- "qmode": "8da4w",
 
42
  "group_size": 32,
43
  "embedding_quantize": "8,0",
 
 
44
  "prefill_chunk": 2048,
45
  "kv_cache_dtype": "fp32",
46
- "label": "8da4w-g32, int8 embeddings",
47
  "description": "ExecuTorch 1.4.0 `export_llm`: 8-bit dynamic activations and 4-bit weights in groups of 32, int8 per-channel embeddings, XNNPACK with extended ops, prefill chunk 2048, fp32 KV cache."
48
  },
49
  "window": {
@@ -60,7 +63,7 @@
60
  "device_resident_bytes": 3471426488,
61
  "export_peak_bytes": 41179871488,
62
  "fits_device": true,
63
- "fits_host": true
64
  },
65
  {
66
  "context": 16384,
@@ -98,27 +101,29 @@
98
  },
99
  "files": [
100
  {
101
- "path": "xnnpack/SmolLM2-360M-Instruct-8da4w-4k.pte",
102
- "bytes": 253938816,
103
- "sha256": "4bf1d26291299e07118ab46ac8bed99aac76eb30c50382780b6ee2a157ebd768"
104
  }
105
  ],
106
  "estimates": {
107
  "pte_bytes_estimate": 257418199,
108
- "pte_bytes_actual": 253938816,
109
  "export_peak_bytes_estimate": 5008193792
110
  },
111
  "host": {
112
- "nproc": 4,
113
- "mem_total_bytes": 16766418944,
114
  "swap_total_bytes": 25769799680,
115
- "cpu_model": "AMD EPYC 7763 64-Core Processor",
116
- "peak_rss_convert_bytes": 1077006336,
117
- "peak_rss_export_bytes": 3987619840,
118
  "peak_swap_used_bytes": 0,
119
- "min_mem_available_bytes": 11627200512,
120
- "export_seconds": 881.4,
121
- "total_seconds": 892.7
 
 
122
  },
123
  "conversion": {
124
  "tensors": 291,
@@ -162,22 +167,136 @@
162
  "passed": true,
163
  "problems": [],
164
  "stats": {
165
- "prefill_token_per_sec": 147.368,
166
- "decode_token_per_sec": 71.4286,
167
  "prompt_tokens": 42,
168
  "generated_tokens": 1,
169
- "model_load_start_ms": 1789299113505,
170
- "model_load_end_ms": 1789299114125,
171
- "inference_start_ms": 1789299114125,
172
- "inference_end_ms": 1789299114424,
173
- "prompt_eval_end_ms": 1789299114410,
174
- "first_token_ms": 1789299114410,
175
  "aggregate_sampling_time_ms": 0,
176
  "SCALING_FACTOR_UNITS_PER_SECOND": 1000
177
  }
178
  },
179
  "run": {
180
- "url": "https://github.com/ExperimentalMachines/executorch-model-exporter/actions/runs/34753839416",
181
- "id": "34753839416"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  }
183
  }
 
38
  "use_hf_rope": false,
39
  "attention_qkv_bias": false
40
  },
41
+ "qmode": "fp32",
42
+ "export_llm_qmode": null,
43
  "group_size": 32,
44
  "embedding_quantize": "8,0",
45
+ "embedding_hqq": false,
46
+ "int4_codes": "round-to-nearest",
47
  "prefill_chunk": 2048,
48
  "kv_cache_dtype": "fp32",
49
+ "label": "fp32-g32, int8 embeddings, int4 codes rounded to nearest",
50
  "description": "ExecuTorch 1.4.0 `export_llm`: 8-bit dynamic activations and 4-bit weights in groups of 32, int8 per-channel embeddings, XNNPACK with extended ops, prefill chunk 2048, fp32 KV cache."
51
  },
52
  "window": {
 
63
  "device_resident_bytes": 3471426488,
64
  "export_peak_bytes": 41179871488,
65
  "fits_device": true,
66
+ "fits_host": false
67
  },
68
  {
69
  "context": 16384,
 
101
  },
102
  "files": [
103
  {
104
+ "path": "xnnpack/SmolLM2-360M-Instruct-fp32-4k.pte",
105
+ "bytes": 1497383296,
106
+ "sha256": "5d573a8f154193fd8a9d4454fce58c7dbd75edda17f25b74db401ab997627875"
107
  }
108
  ],
109
  "estimates": {
110
  "pte_bytes_estimate": 257418199,
111
+ "pte_bytes_actual": 1497383296,
112
  "export_peak_bytes_estimate": 5008193792
113
  },
114
  "host": {
115
+ "nproc": 8,
116
+ "mem_total_bytes": 33229729792,
117
  "swap_total_bytes": 25769799680,
118
+ "cpu_model": "AMD EPYC",
119
+ "peak_rss_convert_bytes": 1081634816,
120
+ "peak_rss_export_bytes": 6512148480,
121
  "peak_swap_used_bytes": 0,
122
+ "min_mem_available_bytes": 25611706368,
123
+ "peak_in_use_bytes": 7618023424,
124
+ "peak_in_use_at": "2026-10-03T23:25:14Z",
125
+ "export_seconds": 248.0,
126
+ "total_seconds": 256.5
127
  },
128
  "conversion": {
129
  "tensors": 291,
 
167
  "passed": true,
168
  "problems": [],
169
  "stats": {
170
+ "prefill_token_per_sec": 407.767,
171
+ "decode_token_per_sec": 31.25,
172
  "prompt_tokens": 42,
173
  "generated_tokens": 1,
174
+ "model_load_start_ms": 1791070124593,
175
+ "model_load_end_ms": 1791070125653,
176
+ "inference_start_ms": 1791070125653,
177
+ "inference_end_ms": 1791070125788,
178
+ "prompt_eval_end_ms": 1791070125756,
179
+ "first_token_ms": 1791070125756,
180
  "aggregate_sampling_time_ms": 0,
181
  "SCALING_FACTOR_UNITS_PER_SECOND": 1000
182
  }
183
  },
184
  "run": {
185
+ "url": "https://github.com/ExperimentalMachines/execupack/actions/runs/37160993875",
186
+ "id": "37160993875"
187
+ },
188
+ "measuring_gate": {
189
+ "kind": "measuring_gate",
190
+ "passed": true,
191
+ "prefill_tok_per_sec": 407.77,
192
+ "decode_tok_per_sec": 31.25,
193
+ "prompt_tokens": 42,
194
+ "generated_tokens": 1
195
+ },
196
+ "gate": {
197
+ "passed": true,
198
+ "problems": [],
199
+ "graded": 2,
200
+ "fp32_mean": 0.5698,
201
+ "export_mean": 0.5673,
202
+ "agreed": 2,
203
+ "shortfall": 0.0025,
204
+ "quiet_rows_answered_like_fp32": 4,
205
+ "measures_tool_calling": true,
206
+ "quiet_rows": 4,
207
+ "fp32_undecided_rows": [
208
+ "What is Concord the capital of?",
209
+ "What is Augusta the capital of?",
210
+ "Who is the author of Mercy?",
211
+ "Who is the author of Landfall?",
212
+ "Who is the author of Quicksand?",
213
+ "Who is the author of Nightfall?",
214
+ "In what country is Ostrava?",
215
+ "In what country is Gdynia?",
216
+ "In what country is Rijeka?",
217
+ "In what country is Linkoping?"
218
+ ],
219
+ "rows": {
220
+ "What is Concord the capital of?": {
221
+ "fp32": 0.2562,
222
+ "export": 0.253,
223
+ "kind": "search"
224
+ },
225
+ "What is Providence the capital of?": {
226
+ "fp32": 0.6218,
227
+ "export": 0.6241,
228
+ "kind": "search"
229
+ },
230
+ "What is Augusta the capital of?": {
231
+ "fp32": 0.0992,
232
+ "export": 0.0976,
233
+ "kind": "search"
234
+ },
235
+ "What is Nassau the capital of?": {
236
+ "fp32": 0.5179,
237
+ "export": 0.5106,
238
+ "kind": "search"
239
+ },
240
+ "Who is the author of Mercy?": {
241
+ "fp32": 0.134,
242
+ "export": 0.1291,
243
+ "kind": "search"
244
+ },
245
+ "Who is the author of Landfall?": {
246
+ "fp32": 0.1496,
247
+ "export": 0.1439,
248
+ "kind": "search"
249
+ },
250
+ "Who is the author of Quicksand?": {
251
+ "fp32": 0.1766,
252
+ "export": 0.1726,
253
+ "kind": "search"
254
+ },
255
+ "Who is the author of Nightfall?": {
256
+ "fp32": 0.1597,
257
+ "export": 0.1565,
258
+ "kind": "search"
259
+ },
260
+ "In what country is Ostrava?": {
261
+ "fp32": 0.3497,
262
+ "export": 0.335,
263
+ "kind": "search"
264
+ },
265
+ "In what country is Gdynia?": {
266
+ "fp32": 0.3652,
267
+ "export": 0.3542,
268
+ "kind": "search"
269
+ },
270
+ "In what country is Rijeka?": {
271
+ "fp32": 0.4028,
272
+ "export": 0.3914,
273
+ "kind": "search"
274
+ },
275
+ "In what country is Linkoping?": {
276
+ "fp32": 0.2624,
277
+ "export": 0.2553,
278
+ "kind": "search"
279
+ },
280
+ "What is the capital of Norway?": {
281
+ "fp32": 0.4101,
282
+ "export": 0.4042,
283
+ "kind": "quiet"
284
+ },
285
+ "What is 8 times 7?": {
286
+ "fp32": 0.4963,
287
+ "export": 0.4935,
288
+ "kind": "quiet"
289
+ },
290
+ "Who wrote Pride and Prejudice?": {
291
+ "fp32": 0.1944,
292
+ "export": 0.1993,
293
+ "kind": "quiet"
294
+ },
295
+ "What is the chemical symbol for iron?": {
296
+ "fp32": 0.3696,
297
+ "export": 0.3826,
298
+ "kind": "quiet"
299
+ }
300
+ }
301
  }
302
  }