Views
No views yet
qwen3_5_2b_xnnpack_8da4w_e8.pte (1483.7 MB)embedding_quantize: "8,0"). The
248320-row embedding is the reason: left in fp32 it is a gigabyte on its own, and at this
vocabulary size that is most of what a small model weighs.export_llm, static shape (seq_len=1), max_seq_length 2048,
XNNPACK extended_opsllm_params/qwen3_5_2b_xnnpack_8da4w_e8.yamlllm_params/gen_static.py, token-by-token prefill then greedy decode, a fresh process per
prompt so no answer is read through the previous one's cache:| prompt | answer | decode |
|---|---|---|
| capital of France? | "The capital of France is Paris." | 33.25 tok/s |
| 日本の首都は? | 「日本の首都は東京都です。」 | 33.25 tok/s |
| 17 times 4? | opens a <think> block and works through it | 33.25 tok/s |
use_sdpa_with_kv_cache was turned on.use_sdpa_with_kv_cache: True. Upstream's own qwen3_5 config has it off with no reason
given, while the equally hybrid lfm2 config has it on. Measured on the 2B in one run:
8.20 tok/s off, 16.64 on.1python llm_params/gen_static.py \
2 --pte qwen3_5_2b_xnnpack_8da4w_e8.pte \
3 --tokenizer tokenizer.json \
4 --prompt $'<|im_start|>user\nWhat is the capital of France?<|im_end|>\n<|im_start|>assistant\n' \
5 --eos_ids "[248046,248044]"from executorch.kernels import quantized before the program is
loaded. Without it the method will not even load — kernel 'quantized_decomposed::embedding_byte.dtype_out' not found — which reads like a broken
export rather than a runtime missing its kernels.